Navigation
API > API/Plugins > API/Plugins/DynamicMesh > API/Plugins/DynamicMesh/Operations
Inheritance Hierarchy
- FSimpleIntrinsicEdgeFlipMesh
- FSimpleIntrinsicMesh
- FIntrinsicMesh
- FIntrinsicTriangulation
References
| Module | DynamicMesh |
| Header | /Engine/Plugins/Runtime/GeometryProcessing/Source/DynamicMesh/Public/Operations/IntrinsicTriangulationMesh.h |
| Include | #include "Operations/IntrinsicTriangulationMesh.h" |
Syntax
class FSimpleIntrinsicMesh : public UE::Geometry::FSimpleIntrinsicEdgeFlipMesh
Remarks
FSimpleIntrinsicMesh extends FSimpleIntrinsicEdgeFlipMesh to support edge splits and triangle pokes in addition to edge flips. The surface mesh vertices will be a subset of the intrinsic mesh vertex set.
This is intended as a base class for more sophisticated intrinsic mesh classes, as it does not explicitly track the topology changes relative to the original surface mesh. For example it does not record the locations on the surface mesh of any new intrinsic vertices or the locations of intrinsic mesh edge intersections with the surface mesh edges.
FIntrinsicMesh and FIntrinsicTriangulation are derived from this class and each maintain their own connection with the surface mesh ( "normal coordinates" or "signpost data") that can track these surface mesh locations and can be used to reconstruct paths (e.g. intrinsic edges) on the surface mesh.
Constructors
| Type | Name | Description | |
|---|---|---|---|
FSimpleIntrinsicMesh
(
const FDynamicMesh3& SrcMesh |
Constructor does ID-matching deep copy the basic mesh topology (but no attributes or groups) | ||
FSimpleIntrinsicMesh
(
const FSimpleIntrinsicMesh& |
Functions
| Type | Name | Description | |
|---|---|---|---|
| int32 | AddEdgeInternal
(
int32 vA, |
Add new edge to the mesh topology, does not update any of the intrinsic quantities | |
| int32 | AddTriangleInternal
(
int32 a, |
Add new triangle to the mesh topology, does not update any of the intrinsic quantities | |
| void | AllocateEdgesList
(
int32 VertexID |
Allocate, or clear existing edge list for specified vertex | |
| int32 | AppendVertex
(
const FVector3d& vPos |
Add new vertex to the mesh topology, does not update any of the intrinsic quantities | |
| EMeshResult | PokeTriangle
(
int32 TID, |
Insert a new vertex inside an intrinsic triangle, ie do a 1 to 3 triangle split | |
| EMeshResult | PokeTriangleTopology
(
int32 TID, |
Updates the mesh connectivity by adding a new vertex at the vertex-averaged location. | |
| EMeshResult | SplitEdge
(
int32 EdgeAB, |
Split an intrinsic edge of the mesh by inserting a vertex. | |
| EMeshResult | SplitEdgeTopology
(
int32 EdgeAB, |
Updates the mesh connectivity by adding a new vertex at the vertex-averaged location. |
Typedefs
| Name | Description |
|---|---|
| FEdge | |
| FEdgeFlipInfo | |
| FEdgeSplitInfo | |
| FPokeTriangleInfo | |
| MyBase |
Constants
| Name | Description |
|---|---|
| InvalidID | InvalidID indicates that a vertex/edge/triangle ID is invalid |