Module |
|
Header |
/Engine/Plugins/Experimental/GeometryProcessing/Source/DynamicMesh/Public/DynamicMesh3.h |
Include |
#include "DynamicMesh3.h" |
Source |
/Engine/Plugins/Experimental/GeometryProcessing/Source/DynamicMesh/Private/DynamicMesh3_Edits.cpp |
virtual EMeshResult SplitEdge
(
int EdgeAB,
FEdgeSplitInfo & SplitInfo,
double SplitParameterT
)
Split an edge of the mesh by inserting a vertex. This creates a new triangle on either side of the edge (ie a 2-4 split). If the original edge had vertices [a,b], with triangles t0=[a,b,c] and t1=[b,a,d], then the split inserts new vertex f. After the split t0=[a,f,c] and t1=[f,a,d], and we have t2=[f,b,c] and t3=[f,d,b] (it's best to draw it out on paper...)
Ok on success, or enum value indicates why operation cannot be applied. Mesh remains unmodified on error.
Parameter |
Description |
---|---|
EdgeAB |
index of the edge to be split |
SplitInfo |
returned information about new and modified mesh elements |
SplitParameterT |
defines the position along the edge that we split at, must be between 0 and 1, and is assumed to be based on the order of vertices returned by GetEdgeV() |