I’ve developed a reader that uses the VTK Polyhedra type because the base cell type in the source data fit (boundary representation cell).
Though, I seem to be having issues with ghost points. I’ve applied what I think are the correct, up to date way of dealing with ghost points, but:
- In the ParaView info panel it shows what the total number of points across processes, double counting ghost points.
- Further problems where if I do Extract Surface, what I would consider an internal face across process boundaries, are extracted – even when I turn on piece invariance
- In a translucent rendering, it shows the internal faces w/o doing Extract Surface filter (though, if IIRC, surface rendering uses Extract Surface behind the scenes)
- Trying to merge points using Clean to Grid does not merge the coincident points
What is implemented is that the points are marked as ghost on the non-owning processors, and I can verify this through the vtkGhostPoint array, marking them as DUPLICATEPOINT.
I’m at a loss of what to do, other than I’m about to chalk it up to untested VTK_POLYHEDRA cell functionality. Other than my last guess, which I haven’t tested yet, is to match the winding order of polyhedra faces on the owning and non-owning processes – which I could guess is the way that internally VTK/ParaView might be hashing face information for matching.