![]() |
UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
|
#include <DynamicMeshChangeTracker.h>
Public Member Functions | |
| GEOMETRYCORE_API | FDynamicMeshChangeTracker (const FDynamicMesh3 *Mesh) |
| GEOMETRYCORE_API | ~FDynamicMeshChangeTracker () |
| GEOMETRYCORE_API void | BeginChange () |
| GEOMETRYCORE_API TUniquePtr< FDynamicMeshChange > | EndChange () |
| GEOMETRYCORE_API void | SaveTriangle (int32 TriangleID, bool bSaveVertices) |
| void | SaveEdge (int32 EdgeID, bool bVertices) |
| template<typename EnumerableType > | |
| void | SaveTriangles (EnumerableType TriangleIDs, bool bSaveVertices) |
| template<typename EnumerableType > | |
| void | SaveTrianglesAndNeighbourTris (EnumerableType TriangleIDs, bool bSaveVertices) |
| void | SaveVertexOneRingTriangles (int32 VertexID, bool bSaveVertices) |
| template<typename EnumerableType > | |
| void | SaveVertexOneRingTriangles (EnumerableType VertexIDs, bool bSaveVertices) |
| GEOMETRYCORE_API void | VerifySaveState () |
Protected Member Functions | |
| GEOMETRYCORE_API void | SaveVertex (int32 VertexID) |
| template<typename EnumerableType > | |
| void | SaveVertices (EnumerableType VertexIDs) |
Protected Attributes | |
| const FDynamicMesh3 * | Mesh = nullptr |
| FDynamicMeshAttributeSetChangeTracker * | AttribChangeTracker = nullptr |
| FDynamicMeshChange * | Change = nullptr |
| int32 | MaxTriangleID |
| TBitArray | StartTriangles |
| TBitArray | ChangedTriangles |
| int32 | MaxVertexID |
| TBitArray | StartVertices |
| TBitArray | ChangedVertices |
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.
|
explicit |
| FDynamicMeshChangeTracker::~FDynamicMeshChangeTracker | ( | ) |
| void FDynamicMeshChangeTracker::BeginChange | ( | ) |
Initialize the change-tracking process
| TUniquePtr< FDynamicMeshChange > FDynamicMeshChangeTracker::EndChange | ( | ) |
Construct a change object that represents the delta between the Begin and End states
Save necessary information about an edge before it is modified
Save necessary information about a triangle before it is modified
| void UE::Geometry::FDynamicMeshChangeTracker::SaveTriangles | ( | EnumerableType | TriangleIDs, |
| bool | bSaveVertices | ||
| ) |
Save necessary information about a set of triangles before they are modified
| void UE::Geometry::FDynamicMeshChangeTracker::SaveTrianglesAndNeighbourTris | ( | EnumerableType | TriangleIDs, |
| bool | bSaveVertices | ||
| ) |
Save necessary information about a set of triangles before they are modified, and also include any direct triangle neighbours
Save necessary information about a vertex before it is modified
| void UE::Geometry::FDynamicMeshChangeTracker::SaveVertexOneRingTriangles | ( | EnumerableType | VertexIDs, |
| bool | bSaveVertices | ||
| ) |
Save necessary information about a set of triangles in one-rings of a set of vertices
|
inline |
Save necessary information about a set of triangles in one-ring of a vertex
|
protected |
Save necessary information about a set of vertices before they are modified
| void FDynamicMeshChangeTracker::VerifySaveState | ( | ) |
Do (limited) sanity checking to make sure that the change is well-formed
|
protected |
Active attribute tracker, if Mesh has attribute overlays
|
protected |
Active change that is being constructed
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |