Navigation
API > API/Runtime > API/Runtime/GeometryCore
Warnings * Currently only vertices that are part of saved triangles will be stored in the emitted FMeshChange!
FDynamicMeshChangeTracker tracks changes to a FDynamicMesh and returns a FDynamicMeshChange instance that represents this change and allows it to be reverted/reapplied. This is the top-level class you likely want to use to track mesh changes.
Call BeginChange() before making any changes to the mesh, then call SaveVertex() and SaveTriangle() before modifying the respective elements. Then call EndChange() to construct a FDynamicMeshChange that represents the mesh delta.
Currently only vertices that are part of saved triangles will be stored in the emitted FMeshChange!
| Name | FDynamicMeshChangeTracker |
| Type | class |
| Header File | /Engine/Source/Runtime/GeometryCore/Public/DynamicMesh/DynamicMeshChangeTracker.h |
| Include Path | #include "DynamicMesh/DynamicMeshChangeTracker.h" |
Syntax
class FDynamicMeshChangeTracker
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FDynamicMeshChangeTracker
(
const FDynamicMesh3* Mesh |
DynamicMesh/DynamicMeshChangeTracker.h |
Destructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
~FDynamicMeshChangeTracker() |
DynamicMesh/DynamicMeshChangeTracker.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
void BeginChange() |
Initialize the change-tracking process | DynamicMesh/DynamicMeshChangeTracker.h | |
TUniquePtr< FDynamicMeshChange > EndChange() |
Construct a change object that represents the delta between the Begin and End states | DynamicMesh/DynamicMeshChangeTracker.h | |
void SaveEdge
(
int32 EdgeID, |
Save necessary information about an edge before it is modified | DynamicMesh/DynamicMeshChangeTracker.h | |
void SaveTriangle
(
int32 TriangleID, |
Save necessary information about a triangle before it is modified | DynamicMesh/DynamicMeshChangeTracker.h | |
void SaveTriangles
(
EnumerableType TriangleIDs, |
Save necessary information about a set of triangles before they are modified | DynamicMesh/DynamicMeshChangeTracker.h | |
void SaveTrianglesAndNeighbourTris
(
EnumerableType TriangleIDs, |
Save necessary information about a set of triangles before they are modified, and also include any direct triangle neighbours | DynamicMesh/DynamicMeshChangeTracker.h | |
void SaveVertexOneRingTriangles
(
int32 VertexID, |
Save necessary information about a set of triangles in one-ring of a vertex | DynamicMesh/DynamicMeshChangeTracker.h | |
void SaveVertexOneRingTriangles
(
EnumerableType VertexIDs, |
Save necessary information about a set of triangles in one-rings of a set of vertices | DynamicMesh/DynamicMeshChangeTracker.h | |
void VerifySaveState() |
Do (limited) sanity checking to make sure that the change is well-formed | DynamicMesh/DynamicMeshChangeTracker.h |
Protected
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
void SaveVertex
(
int32 VertexID |
Currently EndChange() only stores vertices that are part of modified triangles. | DynamicMesh/DynamicMeshChangeTracker.h | |
void SaveVertices
(
EnumerableType VertexIDs |
Save necessary information about a set of vertices before they are modified | DynamicMesh/DynamicMeshChangeTracker.h |