SNL: Filters screw up Global Ids for D3
This issue was created automatically from an original Mantis Issue. Further discussion may take place here.
D3 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.