Module |
|
Header |
/Engine/Plugins/Experimental/GeometryProcessing/Source/DynamicMesh/Public/Operations/MeshRegionOperator.h |
Include |
#include "Operations/MeshRegionOperator.h" |
void RepairPossibleNonManifoldEdges()
After remeshing we may create an internal edge between two boundary vertices [a,b]. Those vertices will be merged with vertices c and d in the base mesh. If the edge [c,d] already exists in the base mesh, then after the merge we would have at least 3 triangles at this edge. Dang.
A common example is a 'fin' triangle that would duplicate a 'fin' on the border of the base mesh after removing the submesh, but this situation can arise anywhere (eg think about one-triangle-wide strips).
This is very hard to remove, but we can at least avoid creating non-manifold edges (which with the current DMesh3 will be prevented, hence leaving a hole) by splitting the internal edge in the submesh (which presumably we were remeshing anyway, so changes are ok).