Skip to content

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 as HIDDENCELL, but not DUPLICATECELL (to not break previous behavior)

Adresses paraview/paraview#19989 (closed)

Edited by Yohann Bearzi (Kitware)

Merge request reports