DynamicMesh

Choose your operating system:

Windows

macOS

Linux

Filters

Classes

Name

Description

Public class

FDynamicMeshEditor

FDynamicMeshEditor implements low-level mesh editing operations.

Public struct

FDynamicMeshEditResult

FDynamicMeshEditResult is used to return information about new mesh elements created by mesh changes, primarily in FDynamicMeshEditor

Public class

FDynamicMeshModule

Public struct

FDynamicSubmesh3

Public struct

FEdgeConstraint

FEdgeConstraint is a constraint on a triangle mesh edge

Public class

FEdgeLoop

Sequential lists of vertices/edges in a mesh that form a closed loop

Public class

FEdgeSpan

Sequential lists of vertices/edges in a mesh that is not closed.

Public class

FGroupTopology

Given a per-triangle integer ("group"), FGroupTopology extracts a group-level topological graph from an input Mesh.

Public struct

FGroupTopologySelection

FGroupTopologySelection represents a set of selected elements of a FGroupTopology

Public class

FMeshBoundaryLoops

Public class

FMeshConstraints

FMeshConstraints is a set of Edge and Vertex constraints for a Triangle Mesh

Public class

FMeshConstraintsUtil

Utility functions for configuring a FMeshConstraints instance

Public class

FMeshProjectionTarget

FMeshProjectionTarget provides an IProjectionTarget interface to a FDynamicMesh + FDynamicMeshAABBTree3 Use to project points to mesh surface.

Public class

FMeshRefinerBase

This is a base class that implements common functionality for various triangle mesh resampling strategies (ie FRemesher and FReducer).

Public class

FMeshRegionBoundaryLoops

Extract FEdgeLoops on the boundary of a set of triangles of a mesh.

Public class

FMeshVertexCurvatureCache

FMeshVertexCurvatureCache calculates and stores various per-vertex Curvature types for a Mesh, as well as some statistics for those values.

Public class

FMeshWeights

FMeshWeights implements various techniques for computing local weights of a mesh, for example one-ring weights like Cotangent or Mean-Value.

Public class

FNormalFlowRemesher

Remeshing with "face aligned projection".

Public class

FQueueRemesher

Extension to Remesher that is smarter about which edges/vertices to touch:

Public class

FRemesher

FRemesher implements edge flip/split/collapse/smooth Remeshing.

Public class

FRestrictedSubRegionRemesher

FRestrictedSubRegionRemesher is similar to FSubRegionRemesher but does not allow the ROI to grow outside of the original ROI boundary.

Public class

FSubRegionRemesher

FSubRegionRemesher is an extension of FRemesher that allows for constraining remeshing to a localized region of a mesh.

Public class

FTriangleGroupTopology

FTriangleGroupTopology is a simplification of FGroupTopology that just represents a normal mesh.

Public struct

FVertexConstraint

FVertexConstraint is a constraint on a triangle mesh vertex

Public class

FWorldSpaceProjectionTarget

Public class

TMeshSimplification

Implementation of Garland & Heckbert Quadric Error Metric (QEM) Triangle Mesh Simplification

Typedefs

Enums

Name

Description

Public enum

UE::Geometry::EEdgeRefineFlags

EEdgeRefineFlags indicate constraints on triangle mesh edges

Public enum

UE::Geometry::ESimplificationResult

Functions

Name Description

Public function

void

 

FaceGroupUtil::CountAllGroups

(
    const FDynamicMesh3& Mesh,
    TArray< int32 >& GroupCountsOut
)

Count number of tris in each group in Mesh; TODO: does this need sparse storage?

Public function

void

 

FaceGroupUtil::FindAllGroups

(
    const FDynamicMesh3& Mesh,
    TSet< int32 >& GroupsOut
)

Find the set of group ids used in Mesh

Public function

bool

 

FaceGroupUtil::FindTrianglesByGroup

(
    FDynamicMesh3& Mesh,
    int32 FindGroupID,
    TArray< int32 >& TrianglesOut
)

Find list of triangles in Mesh with specific group id

Public function

void

 

FaceGroupUtil::FindTriangleSetsByGroup

(
    const FDynamicMesh3& Mesh,
    TArray< TArray< int32 >>& GroupTri...,
    int32 IgnoreGID
)

Collect triangles by group id.

Public function

bool

 

FaceGroupUtil::HasMultipleGroups

(
    const FDynamicMesh3& Mesh
)

Public function

void

 

FaceGroupUtil::SeparateMeshByGroups

(
    FDynamicMesh3& Mesh,
    TArray< FDynamicMesh3 >& SplitMesh...
)

Split input Mesh into submeshes based on group ID does not** separate disconnected components w/ same group ID

Public function

void

 

FaceGroupUtil::SeparateMeshByGroups

(
    FDynamicMesh3& Mesh,
    TArray< FDynamicMesh3 >& SplitMesh...,
    TArray< int32 >& GroupIDs
)

Split input Mesh into submeshes based on group ID does not** separate disconnected components w/ same group ID

Public function

void

 

FaceGroupUtil::SetGroupID

(
    FDynamicMesh3& Mesh,
    int32 to
)

Set group ID of all triangles in Mesh

Public function

void

 

FaceGroupUtil::SetGroupID

(
    FDynamicMesh3& Mesh,
    const TArrayView< const int32 >& t...,
    int32 to
)

Set group id of subset of triangles in Mesh

Public function

void

 

FaceGroupUtil::SetGroupToGroup

(
    FDynamicMesh3& Mesh,
    int32 from,
    int32 to
)

Replace group id in Mesh

Public function

double

 

UE::MeshCurvature::GaussianCurvature

(
    const FDynamicMesh3& Mesh,
    int32 VertexIndex
)

Calculate the Discrete Gaussian Curvature at a vertex as defined by discrete differential geometry Based on Eq 9 from "Discrete Differential-Geometry Operators for Triangulated 2-Manifolds", Meyer et al 2002

Public function

double

 

UE::MeshCurvature::GaussianCurvature

(
    const FDynamicMesh3& Mesh,
    int32 VertexIndex,
    TFunctionRef< FVector3d)> Ver...
)

Calculate the Discrete Gaussian Curvature at a vertex as defined by discrete differential geometry Based on Eq 9 from "Discrete Differential-Geometry Operators for Triangulated 2-Manifolds", Meyer et al 2002

Public function

FVector3d

 

UE::MeshCurvature::MeanCurvatureNormal

(
    const FDynamicMesh3& Mesh,
    int32 VertexIndex
)

Calculate the Discrete Mean-Curvature Normal at a vertex as defined by discrete differential geometry.

Public function

FVector3d

 

UE::MeshCurvature::MeanCurvatureNormal

(
    const FDynamicMesh3& Mesh,
    int32 VertexIndex,
    TFunctionRef< FVector3d)> Ver...
)

Calculate the Discrete Mean-Curvature Normal at a vertex as defined by discrete differential geometry.