Ghost cells generator: ghost peeling optimizations for unstructured data
When an input poly data or unstructured grid has ghosts, there used to be a deep copy of the input into a temporary with its ghosts peeled off (calling RemoveGhosts). This commit gets rid of this temporary and directly maps the output cells and points with ghosts removed to the input cells and points.
In order to be able compute the link map between the inputs, we need the interface extractor to act as if ghosts were not present in the inputs. vtkFeatureEdges
(for vtkPolyData
inputs) and vtkDataSetSurfaceFilter
(for vtkUnstructuredGrid
inputs) are updated to effectively ignore ghosts:
-
vtkFeatureEdges
simply acts as if input ghosts were peeled off. Ghost handling has basically been rewritten because it was very buggy.vtkPolyData
didn't use to be able to have ghosts in the past, so it should not be very impactful, nobody likely relied on this code. -
vtkDataSetSurfaceFilter
ignores ghosts tagged asHIDDENCELL
, but notDUPLICATECELL
(to not break previous behavior)
Adresses paraview/paraview#19989 (closed)