vtkNonLinearCell::StableClip - Clip methods on non linear cells that don't decompose when they do not need to
Problem statement
When clipping non linear cells, the default behavior in VTK is to decompose all non linear cells into linear cells, even those not touched by the clip. This leads to consistent meshes (without topological holes), but also destroys the non-linear information related to the mesh cells themselves.
Proposed solution
In !10062 (merged) a vtkNonLinear::StableClip
method was added and implemented for the vtkQuadraticTetra
. This method checks to see if the cell is influenced by the clip boarders before deciding whether to decompose the cell as usual or to return the non-linear cell in its entirety.
Pros
- Any non-linear cells not near the clipped region keep their non-linearity instead of being decomposed
- Better performance of the filter on non-linear cells which no longer have to be decomposed everywhere
- Less memory usage by the geometry related to having less cells in general
Caveats
- This can lead to topological holes in the mesh on faces where a non-linear cell is decomposed into linear cells on one side and left whole on the other.
TODOs
-
Find a solution for the topological holes that might pop-up at the interface between non-linear and decomposed non-linear cells -
See if this StableClip
concept might make sense for certain complex linear cells as well
Edited by Julien Fausty