Navigation
API > API/Plugins > API/Plugins/DynamicMesh
Class that manages the intrinsic triangulation of a given FDynamicMesh.
This supports mesh operations that: SplitEdge, PokeTriangle, FlipEdge.
Both SplitEdge and PokeTriangle will generate new vertices and triangles in the intrinsic triangulation. These vertices will live on the surface of the original mesh and their location (in R3 and relative to the original surface ) is computed by tracing a path on the original mesh.
NB: The lifetime of this structure should not exceed that of the original FDynamicMesh as this class holds a pointer to that mesh to reference locations on its surface. Also, this class isn't currently expected to work with surface meshes that have bow-ties.
Note: This assumes but does not check that the FDynamicMesh3 "Surface Mesh" has consistent orientation of all triangles.
| Name | FIntrinsicTriangulation |
| Type | class |
| Header File | /Engine/Plugins/Runtime/GeometryProcessing/Source/DynamicMesh/Public/Operations/IntrinsicTriangulationMesh.h |
| Include Path | #include "Operations/IntrinsicTriangulationMesh.h" |
Syntax
class FIntrinsicTriangulation : public UE::Geometry::FSimpleIntrinsicMesh
Inheritance Hierarchy
- FSimpleIntrinsicEdgeFlipMesh → FSimpleIntrinsicMesh → FIntrinsicTriangulation
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
| Operations/IntrinsicTriangulationMesh.h | |||
FIntrinsicTriangulation
(
const FDynamicMesh3& SrcMesh |
FIntrinsicTriangulation Methods | Operations/IntrinsicTriangulationMesh.h | |
FIntrinsicTriangulation
(
const FIntrinsicTriangulation& |
Operations/IntrinsicTriangulationMesh.h |
Typedefs
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| FEdgeFlipInfo | FSimpleIntrinsicMesh::FEdgeFlipInfo | Operations/IntrinsicTriangulationMesh.h | |
| FEdgeSplitInfo | FSimpleIntrinsicMesh::FEdgeSplitInfo | Operations/IntrinsicTriangulationMesh.h | |
| FPokeTriangleInfo | FSimpleIntrinsicMesh::FPokeTriangleInfo | Operations/IntrinsicTriangulationMesh.h | |
| FSignpost | IntrinsicCorrespondenceUtils::FSignpost | Operations/IntrinsicTriangulationMesh.h | |
| FSurfacePoint | IntrinsicCorrespondenceUtils::FSurfacePoint | Operations/IntrinsicTriangulationMesh.h | |
| MyBase | FSimpleIntrinsicMesh | Operations/IntrinsicTriangulationMesh.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
EMeshResult FlipEdge
(
int32 EID, |
Flip a single edge in the Intrinsic Mesh. | Operations/IntrinsicTriangulationMesh.h | |
const FDynamicMesh3 * GetExtrinsicMesh() |
Operations/IntrinsicTriangulationMesh.h | ||
FVector3d GetVertexPosition
(
int32 VID |
Operations/IntrinsicTriangulationMesh.h | ||
const FIntrinsicTriangulation::FSurfacePoint & GetVertexSurfacePoint
(
int32 VID |
Operations/IntrinsicTriangulationMesh.h | ||
EMeshResult PokeTriangle
(
int32 TID, |
Insert a new vertex inside an intrinsic triangle, ie do a 1 to 3 triangle split | Operations/IntrinsicTriangulationMesh.h | |
EMeshResult SplitEdge
(
int32 EdgeAB, |
Split an intrinsic edge of the mesh by inserting a vertex. | Operations/IntrinsicTriangulationMesh.h | |
TArray< FIntrinsicTriangulation::FSurfacePoint > TraceEdge
(
int32 EID, |
Operations/IntrinsicTriangulationMesh.h |
Protected
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
double UpdateVertexByEdgeTrace
(
const int32 UpdateVID, |
Given edge EID connects UpdateVID and StartVID, this update the SurfacePosition of the vertex UpdateVID by tracing the edge EID a distance TraceDistance from StartVID. | Operations/IntrinsicTriangulationMesh.h |