Improve vtkGeometryFilter
vtkGeometryFilter
has the following improvements:
- It utilizes the new thread-safe GetCellPoints function for
vtkPolyData
andvtkUnstructuredGrid
which is more performant when the existing vtkCellArray(s) use vtkIdTypeArray, because it avoids copying the data. - For the case of
vtkUnstructuredGrid
/vtkUnstructuredGridBase
, it now utilizes thevtkDataSetSurfaceFilter
's algorithm which employs a FaceMemoryPool and a FaceHashMap to detect the boundary faces and detects the boundary faces by marking faces that have been reinserted. The improvements over vtkDataSetSurfaceFilter's approach is 1) that instead of marking the duplicate faces, it deletes them, and 2) that it is multithreaded.- Because of this change, the
FastMode
forvtkUnstructuredGrid
that used theDegree
flag is no longer supported.
- Because of this change, the
- For the case of 3D
vtkImageData
/vtkRectilinearGrid
/vtkStructuredGrid
, it now utilizes thevtkDataSetSurfaceFilter
's algorithms for blank or not-blanked data. The improvement overvtkDataSetSurfaceFilter
's approach is that it is multithreaded. - It has now optimized memory usage by checking the minimum id type (vtkIdType/int) of pointIds that are required to extract the surface.
- It can now properly handle ghost/blanked cells/points, and especially for the case of
vtkUnstructuredGrid
/vtkUnstructuredGridBase
, it has a new flag namedRemoveGhostInterfaces
. By default,RemoveGhostInterfaces
is on, because when rendering unstructured data ghost interfaces should not be shown. However, there are algorithms such as GhostCellGenerator that need these ghost interfaces.
Edited by Spiros Tsalikis