Navigation
API > API/Runtime > API/Runtime/GeometryCore
The FNonManifoldMappingSupport is a light-weight class that exists to interpret and manage additional DynamicMesh data stored when the mesh was created from a potentially non-manifold source mesh.
For context the FDynamicMesh3 is less accepting of non-manifold mesh features than some source mesh data-structures and conversion to a DynamicMesh may require changes to the topology ( e.g. vertex splits) and in such cases this class can be use to access the mapping from DynamicMesh vertices to the source mesh vertices that generated them.
Note: Since this class holds pointers to named attributes owned by the DynamicMesh, unintended behavior will result if said attributes are removed from the mesh while an associated NomManifoldSupport object is in use.
Also, any mapping information between the DynamicMesh and source data will be corrupted by topological changes to the DynamicMesh (e.g. edge splits, collapses etc).
| Name | FNonManifoldMappingSupport |
| Type | class |
| Header File | /Engine/Source/Runtime/GeometryCore/Public/DynamicMesh/NonManifoldMappingSupport.h |
| Include Path | #include "DynamicMesh/NonManifoldMappingSupport.h" |
Syntax
class FNonManifoldMappingSupport
Derived Classes
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FNonManifoldMappingSupport
(
const FDynamicMesh3& Mesh |
DynamicMesh/NonManifoldMappingSupport.h |
Constants
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| NonManifoldMeshVIDsAttrName | FName | Name used to identify vertex attribute data generated during conversion to a DynamicMesh in the case that the source was non-manifold. | DynamicMesh/NonManifoldMappingSupport.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
int32 GetOriginalNonManifoldVertexID
(
const int32 vid |
Return the vertex ID in the potentially non-manifold data used to generate this DynamicMesh associated with the provided vertex id. | DynamicMesh/NonManifoldMappingSupport.h | |
bool IsNonManifoldVertexID
(
const int32 vid |
Return true if the provided DynamicMesh vertex id resulted from a non-manifold vertex in the source data. | DynamicMesh/NonManifoldMappingSupport.h | |
bool IsNonManifoldVertexInSource() |
Return true if attribute data indicates that the source data that was converted to this DynamicMesh contained non-manifold vertices. | DynamicMesh/NonManifoldMappingSupport.h | |
void Reset
(
const FDynamicMesh3& Mesh |
Update the support for a new DynamicMesh. | DynamicMesh/NonManifoldMappingSupport.h |
Static
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
static bool AttachNonManifoldVertexMappingData
(
const TArray< int32 >& VertexToNonManifoldVertexIDMap, |
Attaches or replaces non-manifold vertex mapping data to the provided mesh. | DynamicMesh/NonManifoldMappingSupport.h | |
static void RemoveAllNonManifoldMappingData
(
FDynamicMesh3& MeshInOut |
Removes all mapping data related to the non-manifold nature of the source data the produced this DynamicMesh. | DynamicMesh/NonManifoldMappingSupport.h | |
static void RemoveNonManifoldVertexMappingData
(
FDynamicMesh3& MeshInOut |
Removes vertex mapping data related to the non-manifold nature of the source data the produced this DynamicMesh. | DynamicMesh/NonManifoldMappingSupport.h |