Navigation
API > API/Plugins > API/Plugins/DynamicMesh
FIntrinsicMesh extends the FSimpleIntrinsicMesh with the addition of a 'normal coordinate' based correspondence with the surface mesh.
This class supports both the trace of intrinsic mesh edges across the surface mesh, and the trace of surface mesh edges across the intrinsic mesh.
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 interpolation.
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 | FIntrinsicMesh |
| Type | class |
| Header File | /Engine/Plugins/Runtime/GeometryProcessing/Source/DynamicMesh/Public/Operations/IntrinsicTriangulationMesh.h |
| Include Path | #include "Operations/IntrinsicTriangulationMesh.h" |
Syntax
class FIntrinsicMesh : public UE::Geometry::FSimpleIntrinsicMesh
Inheritance Hierarchy
- FSimpleIntrinsicEdgeFlipMesh → FSimpleIntrinsicMesh → FIntrinsicMesh
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
| Operations/IntrinsicTriangulationMesh.h | |||
FIntrinsicMesh
(
const FIntrinsicMesh& |
Operations/IntrinsicTriangulationMesh.h | ||
FIntrinsicMesh
(
const FDynamicMesh3& SurfaceMesh |
FIntrinsicMesh Methods | Operations/IntrinsicTriangulationMesh.h |
Typedefs
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| FEdge | FSimpleIntrinsicMesh::FEdge | Operations/IntrinsicTriangulationMesh.h | |
| FEdgeAndCrossingIdx | IntrinsicCorrespondenceUtils::FNormalCoordinates::FEdgeAndCrossingIdx | Operations/IntrinsicTriangulationMesh.h | |
| FEdgeCorrespondence | TEdgeCorrespondence< FIntrinsicMesh > | Operations/IntrinsicTriangulationMesh.h | |
| FEdgeFlipInfo | FSimpleIntrinsicMesh::FEdgeFlipInfo | Operations/IntrinsicTriangulationMesh.h | |
| FEdgeSplitInfo | DynamicMeshInfo::FEdgeSplitInfo | Operations/IntrinsicTriangulationMesh.h | |
| FNormalCoordinates | IntrinsicCorrespondenceUtils::FNormalCoordinates | Operations/IntrinsicTriangulationMesh.h | |
| FPokeTriangleInfo | DynamicMeshInfo::FPokeTriangleInfo | Operations/IntrinsicTriangulationMesh.h | |
| FSurfacePoint | IntrinsicCorrespondenceUtils::FSurfacePoint | Operations/IntrinsicTriangulationMesh.h | |
| MyBase | FSimpleIntrinsicMesh | Operations/IntrinsicTriangulationMesh.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FEdgeCorrespondence ComputeEdgeCorrespondence() |
Operations/IntrinsicTriangulationMesh.h | ||
EMeshResult FlipEdge
(
int32 EID, |
Flip a single edge in the Intrinsic Mesh. | Operations/IntrinsicTriangulationMesh.h | |
const FDynamicMesh3 * GetExtrinsicMesh() |
Operations/IntrinsicTriangulationMesh.h | ||
TArray< FEdgeAndCrossingIdx > GetImplicitEdgeCrossings
(
const int32 SurfaceEID, |
Trace the specified surface (extrinsic) mesh edge across the intrinsic mesh. | Operations/IntrinsicTriangulationMesh.h | |
const IntrinsicCorrespondenceUtils::FNormalCoordinates & GetNormalCoordinates() |
Operations/IntrinsicTriangulationMesh.h | ||
FVector3d GetVertexPosition
(
int32 VID |
Operations/IntrinsicTriangulationMesh.h | ||
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 | |
| Note: when tracing few edges, this method is preferred to using the FEdgeCorrespondence based tracing (see FEdgeCorrespondence below). | Operations/IntrinsicTriangulationMesh.h | ||
TArray< FSurfacePoint > TraceSurfaceEdge
(
int32 SurfaceEID, |
Trace the specified surface (extrinsic) mesh edge across the intrinsic mesh. | Operations/IntrinsicTriangulationMesh.h |