MantisBT - ParaView
View Issue Details
0008494ParaView(No Category)public2009-02-10 15:302011-01-13 17:00
Alan Scott 
Utkarsh Ayachit 
normalminoralways
closedfixed 
 
3.6 
0008494: Partial arrays not passing to some filters (clip) correctly
ParaView trunk, XP, local server.
Sources/ Point Source
  Number of points == 100
  Radius == 10
Filters/ Elevation
Sources/ Sphere
Filters/ Curvature
Highlight the Elevation and Curvature filters in the pipeline browser.
Group Datasets.

Notice that there are two partial arrays that show up - Elevation and Gauss_Curvature.

Filters/ Clip

Notice that the Gauss_Curvature should be present. This is a bug.
No tags attached.
Issue History
2009-02-10 15:30Alan ScottNew Issue
2009-02-17 16:49Utkarsh AyachitStatusbacklog => tabled
2009-02-17 16:49Utkarsh AyachitAssigned To => Burlen
2009-03-11 13:51Eric MonsonNote Added: 0015653
2009-03-11 14:00Eric MonsonNote Added: 0015654
2009-05-05 14:52Utkarsh AyachitAssigned ToBurlen => Utkarsh Ayachit
2009-05-05 14:52Utkarsh AyachitNote Added: 0016296
2009-05-05 14:52Utkarsh AyachitStatustabled => @80@
2009-05-05 14:52Utkarsh AyachitResolutionopen => unable to reproduce
2009-05-06 11:27Utkarsh AyachitStatus@80@ => @20@
2009-05-06 11:27Utkarsh AyachitResolutionunable to reproduce => reopened
2009-05-06 12:59Utkarsh AyachitNote Added: 0016309
2009-05-06 12:59Utkarsh AyachitStatus@20@ => @80@
2009-05-06 12:59Utkarsh AyachitResolutionreopened => fixed
2009-05-11 20:53Alan ScottNote Added: 0016392
2009-05-11 20:53Alan ScottStatus@80@ => closed
2009-05-13 13:44Utkarsh AyachitTarget Version => 3.6
2011-01-13 17:00Source_changeset_attached => VTK master a2bd8391
2011-01-13 17:00Source_changeset_attached => VTK master 020ef709
2011-06-16 13:10Zack GalbreathCategory => (No Category)

Notes
(0015653)
Eric Monson   
2009-03-11 13:51   
Adding a bit more detail to the example above, the data that disappears during the clip depends on the order in which you select before applying the Group filter:

Select Elevation then Curvature
Group
Clip
Gauss_Curvature is missing in Clip Information (only see Elevation & Normals)
(or, after deleting clip and group filters)
Select Curvature then Elevation
Group
Clip
Elevation is missing in Clip Information (only see Gauss_Curvature & Normals)
(0015654)
Eric Monson   
2009-03-11 14:00   
More clues that may help track down the bug:

I created a variant of the Clip filter which does not remove coincident points, and somehow in my ServerManger XML I ended up always exposing the Clip filter Scalars input combo-box (which is used as input to vtkClipDataSet::SetInputArrayToProcess()) no matter whether I was clipping by plane, box, sphere or scalars. By default, vtkClipDataSet uses the active scalars on the first input for this array -- but using this combo box I could control this input even though I wasn't really "using" it (because I was clipping with a box or a plane).

The clip filter always keeps all the scalars from the block which contains the input to SetInputArrayToProcess(). The filter loses data from the other block, and it always seems to be the most recent array added to that data set -- i.e. the one which should be the "active scalars" in that block. This agrees with the behavior seen in my other examples in which the "second" data set highlighted before the Group filter is the one that loses a data array -- the active scalars of the first selected block are probably the ones being used for SetInputArrayToProcess(), while the active scalars of the second selected block are being lost.

John Biddiscombe said (http://markmail.org/message/jq253udwx5mt5ohs [^]) that he has run into a problem like this which was caused by a filter calling SetActiveScalars() without doing AddArray(), and then when another call to SetActiveScalars() was made, the first array was lost. I couldn't find a case like this in the vtkClipFilter routines, but it might be something to look for.
(0016296)
Utkarsh Ayachit   
2009-05-05 14:52   
Seems to work fine now.
(0016309)
Utkarsh Ayachit   
2009-05-06 12:59   
vtkClipDataSet was removing input scalars a bit too proactively. Fixed the condition to remove scalars only when clip-by-scalar is on and GenerateClipScalars" is off.

/cvsroot/ParaView3/ParaView3/VTK/Graphics/vtkClipDataSet.cxx,v <-- VTK/Graphics/vtkClipDataSet.cxx
new revision: 1.56; previous revision: 1.55
(0016392)
Alan Scott   
2009-05-11 20:53   
Nice bug report!

Tested local client. Closed.