MantisBT - ParaView |
| View Issue Details |
|
| ID | Project | Category | View Status | Date Submitted | Last Update |
| 0008494 | ParaView | (No Category) | public | 2009-02-10 15:30 | 2011-01-13 17:00 |
|
| Reporter | Alan Scott | |
| Assigned To | Utkarsh Ayachit | |
| Priority | normal | Severity | minor | Reproducibility | always |
| Status | closed | Resolution | fixed | |
| Platform | | OS | | OS Version | |
| Product Version | | |
| Target Version | 3.6 | Fixed in Version | | |
| Project | |
| Topic Name | |
| Type | |
|
| Summary | 0008494: Partial arrays not passing to some filters (clip) correctly |
| Description | 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. |
| Steps To Reproduce | |
| Additional Information | |
| Tags | No tags attached. |
| Relationships | |
| Attached Files | |
|
| Issue History |
| Date Modified | Username | Field | Change |
| 2009-02-10 15:30 | Alan Scott | New Issue | |
| 2009-02-17 16:49 | Utkarsh Ayachit | Status | backlog => tabled |
| 2009-02-17 16:49 | Utkarsh Ayachit | Assigned To | => Burlen |
| 2009-03-11 13:51 | Eric Monson | Note Added: 0015653 | |
| 2009-03-11 14:00 | Eric Monson | Note Added: 0015654 | |
| 2009-05-05 14:52 | Utkarsh Ayachit | Assigned To | Burlen => Utkarsh Ayachit |
| 2009-05-05 14:52 | Utkarsh Ayachit | Note Added: 0016296 | |
| 2009-05-05 14:52 | Utkarsh Ayachit | Status | tabled => @80@ |
| 2009-05-05 14:52 | Utkarsh Ayachit | Resolution | open => unable to reproduce |
| 2009-05-06 11:27 | Utkarsh Ayachit | Status | @80@ => @20@ |
| 2009-05-06 11:27 | Utkarsh Ayachit | Resolution | unable to reproduce => reopened |
| 2009-05-06 12:59 | Utkarsh Ayachit | Note Added: 0016309 | |
| 2009-05-06 12:59 | Utkarsh Ayachit | Status | @20@ => @80@ |
| 2009-05-06 12:59 | Utkarsh Ayachit | Resolution | reopened => fixed |
| 2009-05-11 20:53 | Alan Scott | Note Added: 0016392 | |
| 2009-05-11 20:53 | Alan Scott | Status | @80@ => closed |
| 2009-05-13 13:44 | Utkarsh Ayachit | Target Version | => 3.6 |
| 2011-01-13 17:00 | | Source_changeset_attached | => VTK master a2bd8391 |
| 2011-01-13 17:00 | | Source_changeset_attached | => VTK master 020ef709 |
| 2011-06-16 13:10 | Zack Galbreath | Category | => (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
|
|
|
|
|
(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. |
|