View Issue Details Jump to Notes ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0002708ParaView(No Category)public2006-01-10 14:212009-12-09 14:51
ReporterKen Moreland 
Assigned ToDave DeMarle 
PriorityhighSeveritymajorReproducibilityalways
StatusclosedResolutionfixed 
PlatformOSOS Version
Product Version 
Target VersionFixed in Version 
Summary0002708: SNL: Filters screw up Global Ids for D3
DescriptionD3 has a feature where it can accept a point data array in which each entry has a unique id across all processes (unless the point is duplicated on another process in which case the ids will be consistent). D3 uses this array to collapse duplicated points once the data is redistributed. Currently, the Exodus reader can provide this global id array and greatly speed D3's performance.

The problem occurs when you first run the data through a filter that invalidates the meaning of the global id array. For example, the glyph filter will place a glyph on points, and each point in the glyph inherits the same global id from the original point the glyph was placed. When the glyphs are run through D3, D3 collapse all the points in each glyph into a single point, making all the polygons degenerate.

It is important that this behavior be corrected because, when parallel volume rendering is on, everything is run through D3. Thus, when parallel rendering is on, glyphs originating from Exodus files often dissapear. Tubes and isosurfaces are two other examples with similar results.
TagsNo tags attached.
Project
Topic Name
Type
Attached Files

 Relationships

  Notes
(0003547)
Ken Moreland (manager)
2006-01-11 14:43

A good solution for this takes a lot of work and it is not really feasible to do for ParaView 2.6. However, we could do a workaround for parallel volume rendering instead. We could add an ivar to D3 that would make it ignore any incoming global id array.

We could then set it in the vtkOrderedCompositeDistributor filter. This would slow down the distribution, but at least things would not get messed up. If this fairly simple task was done, we could reduce the priority to 2.
(0003636)
Berk Geveci (administrator)
2006-01-31 10:37

The simple task would take roughly 2 days. The bigger task will be addressed separately in the long run.
(0005526)
user521
2006-10-24 16:04

This was fixed under the BILAB contract in early 2006. The fix was to create GLOBALIDS, a new vtkDataSetAttribute attribute type with interpolation and copy restrictions, and to make the vtkIdType non-interpolatable. The defaults are set so that filters take a conservative approach to ID arrays now but it is still possible to manipulate them arbitrarily.

I tested the fix by applying the D3 to glyphs on can.ex2, and the glyphs remain. If we run across filters that do not treat Global Ids correctly we should make new bugs and address them in turn.
(0005529)
Ken Moreland (manager)
2006-10-24 17:24

Agreed

 Issue History
Date Modified Username Field Change
2009-12-09 14:51 Berk Geveci Project @3@ => ParaView
2011-06-16 13:09 Zack Galbreath Category => (No Category)


Copyright © 2000 - 2018 MantisBT Team