Skip to content

vtkGeometryFilter: Reduce Memory Usage by 5x using vtkStaticFaceHashLinksTemplate and Improve performance

vtkGeometryFilter: Reduce Memory Usage by 5x using vtkStaticFaceHashMapTemplate and Improve performance

vtkGeometryFilter now uses 5x less memory and it does not need synchronization using vtkStaticFaceHashMapTemplate. Additionally, vtkGeometryFilter has better performance when dealing with 32-bit cell arrays, and it has faster Initialize functions when dealing with Triangle and Quad Faces. Moreover, vtkDataSet now has a function to get the number of faces of a cell. Lastly, the performance of vtkUnstructuredGrid's IsCellBoundary/GetCellNeighbors has been improved by reverting to an older better version, and accessing the cell array efficiently using the Visit functionality to avoid unnecessary copies.

Add vtkStaticFaceHashLinksTemplate

vtkStaticFaceHashLinksTemplate can help group faces of an unstructured grid with linear cells that have the same hash, i.e. minimum point id. Once the faces are grouped by their hash, each group of faces in a hash can be evaluated to eliminate the duplicates. This way in the end you will only have external faces.

Memory and Performance Evaluation: https://docs.google.com/spreadsheets/d/1YPvi6EATba7p35uVoF7sRPB00kBC1j3weYSSjJ5mGnA/edit?usp=sharing

This MR resolves issue #18459 (closed), #18823 (closed).

cc: @aron.helser, @seanm, @cory.quammen, @bob.obara @will.schroeder

Edited by Spiros Tsalikis

Merge request reports