DynamicMesh

Windows
MacOS
Linux

Filters

Classes

Name

Description

Public struct

FComputeTangentsOptions

Options used by TMeshTangents for tangents computation

Public class

FDynamicMesh3

FDynamicMesh3 is a dynamic triangle mesh class.

Public class

FDynamicMeshAttributeChangeSet

FDynamicMeshAttributeChangeSet stores a set of UV and Normal changes for a FDynamicMesh3

Public class

FDynamicMeshAttributeSet

FDynamicMeshAttributeSet manages a set of extended attributes for a FDynamicMesh3.

Public class

FDynamicMeshAttributeSetChangeTracker

FDynamicMeshAttributeSetChangeTracker constructs a well-formed set of TDynamicMeshAttributeChange objects (stored in a FDynamicMeshAttributeChangeSet).

Public class

FDynamicMeshChange

FDynamicMeshChange stores a "change" in a FDynamicMesh3, which in this context means the replacement of one set of triangles with a second set, that may have different vertices/attributes.

Public class

FDynamicMeshChangeTracker

FDynamicMeshChangeTracker tracks changes to a FDynamicMesh and returns a FDynamicMeshChange instance that represents this change and allows it to be reverted/reapplied.

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 class

FDynamicMeshOctree3

FDynamicMeshOctree3 is an extension of FSparseDynamicOctree3 for the triangles of a FDynamicMesh3 instance.

Public class

FDynamicMeshTriangleAttributeChange

Public struct

FDynamicSubmesh3

Public struct

FEdgeCollapseInfo

Information about mesh elements modified/removed by CollapseEdge()

Public struct

FEdgeConstraint

FEdgeConstraint is a constraint on a triangle mesh edge

Public struct

FEdgeFlipInfo

Information about the mesh elements modified by a call to FlipEdge()

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 struct

FEdgeSplitInfo

Information about the mesh elements created by a call to SplitEdge()

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 struct

FMergeEdgesInfo

Information about mesh elements modified by MergeEdges()

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 struct

FMeshIndexMappings

FMeshIndexMappings stores a set of integer IndexMaps for a mesh This is a convenient object to have, to avoid passing around large numbers of separate maps.

Public class

FMeshNormals

FMeshNormals is a utility class that can calculate and store various types of normal vectors for a FDynamicMesh.

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 struct

FPokeTriangleInfo

Information about mesh elements modified/created by PokeTriangle()

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 struct

FVertexSplitInfo

Information about mesh elements modified/created by SplitVertex()

Public class

TDynamicAttributeBase

Base class for attributes that live on a dynamic mesh (or similar dynamic object)

Public class

TDynamicAttributeChangeBase

Generic base class for change tracking of an attribute layer

Public class

TDynamicAttributeSetBase

Generic base class for managing a set of registered attributes that must all be kept up to date

Public class

TDynamicMeshAttributeChange

Implementation of mesh change tracking for FDynamicMesh3.

Public class

TDynamicMeshOverlay

TDynamicMeshOverlay is an add-on to a FDynamicMesh3 that allows for per-triangle storage of an "element" (eg like a per-triangle UV or normal).

Public class

TDynamicMeshScalarTriangleAttribute

TDynamicMeshScalarTriangleAttribute is an extension of TDynamicMeshTriangleAttribute for scalar-valued attributes.

Public class

TDynamicMeshTriangleAttribute

TDynamicMeshTriangleAttribute is an add-on to a FDynamicMesh3 that allows for per-triangle storage of an attribute value.

Public class

TDynamicMeshVectorOverlay

TDynamicMeshVectorOverlay is an convenient extension of TDynamicMeshOverlay that adds a specific N-element Vector type to the template, and adds accessor functions that convert between that N-element vector type and the N-element arrays used by TDynamicMeshOverlay.

Public class

TDynamicPointSet3

TDynamicPointSet3 implements a dynamic 3D point set, templated on real-value type (float or double).

Public class

TDynamicVertexAttribute

TDynamicVertexAttribute provides per-vertex storage of an attribute value

Public class

TDynamicVertexAttributeChange

Public class

TDynamicVerticesOctree3

TDynamicVerticesOctree3 is an extension of FSparseDynamicPointOctree3 for the vertices of a FDynamicXYZ3 instance (eg FDynamicMesh3, TDynamicPointSet3, FDynamicGraph, etc) This extension does several things: 1) provides a simplified API based on vertex IDs to various Octree functions 2) tracks ModifiedBounds box of modified areas

The template expansion requires that FDynamicXYZ3 has the following API: 1) a function int MaxVertexID() that returns the maximum vertex ID/index 2) a function bool IsVertex(int) that returns true if the index is valid 3) a function FVector3d GetVertex(int index) that returns the position of a vertex 4) a function FAxisAlignedBox3d GetBounds() that returns a bounding-box of the point set

Public class

TMeshSimplification

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

Public class

TMeshTangents

Predeclare tangents template

Typedefs

Name

Description

FAttrMeshSimplification

The simplifier.

FDynamicMeshAABBTree3

FDynamicMeshAttributeBase

FDynamicMeshAttributeChangeBase

FDynamicMeshAttributeSetBase

FDynamicMeshMaterialAttribute

Standard per-triangle integer material ID

FDynamicMeshNormalChange

Standard Normal overlay change type - 3-element float

FDynamicMeshNormalOverlay

Standard Normal overlay type - 3-element float

FDynamicMeshPolygroupAttribute

Per-triangle integer polygroup ID

FDynamicMeshTriGroupChange

Standard per-triangle integer attribute change type

FDynamicMeshUVChange

Standard UV overlay change type - 2-element float

FDynamicMeshUVOverlay

Standard UV overlay type - 2-element float

FDynamicPointSet3d

FDynamicPointSet3f

FMeshTangentsd

FMeshTangentsf

FQEMSimplification

FVolPresMeshSimplification

TDynamicMeshVertexAttribute

Enums

Name

Description

Public enum

EEdgeRefineFlags

EEdgeRefineFlags indicate constraints on triangle mesh edges

Public enum

EMeshComponents

Public enum

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...,
    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::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::SetGroupID

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

Set group id of subset of triangles in Mesh

Public function

void

 

FaceGroupUtil::SetGroupID

(
    FDynamicMesh3& Mesh,
    int32 to
)

Set group ID of all triangles in Mesh

Public function

void

 

FaceGroupUtil::SetGroupToGroup

(
    FDynamicMesh3& Mesh,
    int32 from,
    int32 to
)

Replace group id in Mesh

Public function

FPointSetAda...

 

MeshAdapterUtil::MakeBoundaryEdgeMidpointsAdapter

(
    const FDynamicMesh3* Mesh
)

Public function

FTriangleMes...

 

MeshAdapterUtil::MakeDynamicMeshAdapter

(
    const FDynamicMesh3* Mesh
)

Public function

FPointSetAda...

 

MeshAdapterUtil::MakeEdgeMidpointsAdapter

(
    const FDynamicMesh3* Mesh
)

Public function

FPointSetAda...

 

MeshAdapterUtil::MakePointsAdapter

(
    const FDynamicPointSet3d* Poin...
)

Public function

FTriangleMes...

 

MeshAdapterUtil::MakeTransformedDynamicMeshAdapter

(
    const FDynamicMesh3* Mesh,
    FTransform Transform
)

Public function

FPointSetAda...

 

MeshAdapterUtil::MakeTriCentroidsAdapter

(
    const FDynamicMesh3* Mesh
)

Public function

FPointSetAda...

 

MeshAdapterUtil::MakeVerticesAdapter

(
    const FDynamicMesh3* Mesh
)

Public function

void

 

MeshIndexUtil::TriangleToVertexIDs

(
    const FDynamicMesh3* Mesh,
    const TArray< int >& TriangleIDs,
    TArray< int >& VertexIDsOut
)

Do not add any more functions to this namespace.

Public function

void

 

MeshIndexUtil::VertexToTriangleOneRing

(
    const FDynamicMesh3* Mesh,
    const TArray< int >& VertexIDs,
    TSet< int >& TriangleIDsOut
)

Find all the triangles in all the one rings of a set of vertices

Public function

void

 

MeshTransforms::ApplyTransform

(
    FDynamicMesh3& Mesh,
    TFunctionRef< FVector3d...,
    TFunctionRef< FVector3f...
)

Apply given Transform to a Mesh.

Public function

void

 

MeshTransforms::ApplyTransform

(
    FDynamicMesh3& Mesh,
    const FTransform3d& Transform
)

Apply given Transform to a Mesh.

Public function

void

 

MeshTransforms::ApplyTransformInverse

(
    FDynamicMesh3& Mesh,
    const FTransform3d& Transform
)

Apply inverse of given Transform to a Mesh.

Public function

void

 

MeshTransforms::FrameCoordsToWorld

(
    FDynamicMesh3& Mesh,
    const FFrame3d& Frame
)

Transform Mesh out of local coordinates of Frame

Public function

void

 

MeshTransforms::Scale

(
    FDynamicMesh3& Mesh,
    const FVector3d& Scale,
    const FVector3d& Origin
)

Apply Scale to vertex positions of Mesh, relative to given Origin.

Public function

void

 

MeshTransforms::Translate

(
    FDynamicMesh3& Mesh,
    const FVector3d& Translation
)

Apply Translation to vertex positions of Mesh. Does not modify any other attributes.

Public function

void

 

MeshTransforms::WorldToFrameCoords

(
    FDynamicMesh3& Mesh,
    const FFrame3d& Frame
)

Transform Mesh into local coordinates of Frame

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.

Public function

FIndex3i

 

UE::MeshIndexUtil::FindNextAdjacentTriangleAroundVtx

(
    const FDynamicMesh3* Mesh,
    int32 VertexID,
    int32 FromTriangleID,
    int32 PrevTriangleID,
    TrisConnectedPredicate TrisConnecte...
)

Walk around VertexID from FromTriangleID to next connected triangle if it exists, walking "away" from PrevTriangleID.

Public function

void

 

UE::MeshIndexUtil::TriangleToVertexIDs

(
    const FDynamicMesh3* Mesh,
    const TArray< int >& TriangleIDs,
    TArray< int >& VertexIDsOut
)

Find list of unique vertices that are contained in one or more triangles

Public function

void

 

UE::MeshIndexUtil::VertexToTriangleOneRing

(
    const FDynamicMesh3* Mesh,
    const TArray< int >& VertexIDs,
    TSet< int >& TriangleIDsOut
)

Find all the triangles in all the one rings of a set of vertices

Help shape the future of Unreal Engine documentation! Tell us how we're doing so we can serve you better.
Take our survey
Dismiss