Incorrect ghost-cell removal
vtkDataSet subclasses have code to remove ghost cells which is relied upon by vtkPVGeometryFilter to remove ghost cells. vtkPVGeometryFilter especially relies on vtkPolyData::RemoveGhosteCells
. The code in vtkPolyData::RemoveGhosteCells
does not correctly handle removal of cells marked HIDDENCELL, only handles DUPLICATECELL. This causes the following odd behaviour:
Steps:
- open disk_out.ref.ex2, all variables, apply
- Apply "Resample To Image" filter. Choose Sampling Dimensions of 16x16x16. Apply
- Switch representation type to "Surface with Edges", you'll see something like this:
This is wrong. We should be seeing those regions that are outside the cylinder present in the original dataset. Those cells are indeed being marked as HIDDENCELL by the filter and should have been removed.
Next, try selecting the whole square face using Select Cells On.
Notice how only the the non-hidden cells get selected.
For this issue to be resolved, we simply need to extend vtkPolyData::RemoveGhosteCells
to handle HIDDENCELL. It's a good opportunity to check if any other dataset subclass also has the same bug and resolve it too..