UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FMeshDescription Struct Reference

#include <MeshDescription.h>

Public Member Functions

MESHDESCRIPTION_API FMeshDescription ()
 
 ~FMeshDescription ()=default
 
MESHDESCRIPTION_API FMeshDescription (const FMeshDescription &)
 
MESHDESCRIPTION_API FMeshDescriptionoperator= (const FMeshDescription &)
 
 FMeshDescription (FMeshDescription &&)=default
 
FMeshDescriptionoperator= (FMeshDescription &&)=default
 
MESHDESCRIPTION_API void Serialize (FArchive &Ar)
 
MESHDESCRIPTION_API void SerializeLegacy (FArchive &Ar)
 
MESHDESCRIPTION_API void Empty ()
 
MESHDESCRIPTION_API void ResetIndexers ()
 
MESHDESCRIPTION_API void BuildIndexers ()
 
MESHDESCRIPTION_API void RebuildIndexers ()
 
MESHDESCRIPTION_API bool IsEmpty () const
 
FVertexArrayVertices ()
 
const FVertexArrayVertices () const
 
FVertexInstanceArrayVertexInstances ()
 
const FVertexInstanceArrayVertexInstances () const
 
FEdgeArrayEdges ()
 
const FEdgeArrayEdges () const
 
FUVArrayUVs (int32 Index)
 
const FUVArrayUVs (int32 Index) const
 
FTriangleArrayTriangles ()
 
const FTriangleArrayTriangles () const
 
FPolygonArrayPolygons ()
 
const FPolygonArrayPolygons () const
 
FPolygonGroupArrayPolygonGroups ()
 
const FPolygonGroupArrayPolygonGroups () const
 
TAttributesSet< FVertexID > & VertexAttributes ()
 
const TAttributesSet< FVertexID > & VertexAttributes () const
 
TAttributesSet< FVertexInstanceID > & VertexInstanceAttributes ()
 
const TAttributesSet< FVertexInstanceID > & VertexInstanceAttributes () const
 
TAttributesSet< FEdgeID > & EdgeAttributes ()
 
const TAttributesSet< FEdgeID > & EdgeAttributes () const
 
TAttributesSet< FUVID > & UVAttributes (int32 Index)
 
const TAttributesSet< FUVID > & UVAttributes (int32 Index) const
 
TAttributesSet< FTriangleID > & TriangleAttributes ()
 
const TAttributesSet< FTriangleID > & TriangleAttributes () const
 
TAttributesSet< FPolygonID > & PolygonAttributes ()
 
const TAttributesSet< FPolygonID > & PolygonAttributes () const
 
TAttributesSet< FPolygonGroupID > & PolygonGroupAttributes ()
 
const TAttributesSet< FPolygonGroupID > & PolygonGroupAttributes () const
 
TMap< FName, FMeshElementTypeWrapper > & GetElements ()
 
const TMap< FName, FMeshElementTypeWrapper > & GetElements () const
 
void SuspendVertexIndexing ()
 
void SuspendVertexInstanceIndexing ()
 
void SuspendEdgeIndexing ()
 
void SuspendPolygonIndexing ()
 
void SuspendPolygonGroupIndexing ()
 
void SuspendUVIndexing ()
 
void ResumeVertexIndexing ()
 
void ResumeVertexInstanceIndexing ()
 
void ResumeEdgeIndexing ()
 
void ResumePolygonIndexing ()
 
void ResumePolygonGroupIndexing ()
 
void ResumeUVIndexing ()
 
void BuildVertexIndexers ()
 
void BuildVertexInstanceIndexers ()
 
void BuildEdgeIndexers ()
 
void BuildPolygonIndexers ()
 
void BuildPolygonGroupIndexers ()
 
void ReserveNewVertices (const int32 NumVertices)
 
FVertexID CreateVertex ()
 
void CreateVertexWithID (const FVertexID VertexID)
 
void DeleteVertex (const FVertexID VertexID)
 
bool IsVertexValid (const FVertexID VertexID) const
 
void ReserveNewVertexInstances (const int32 NumVertexInstances)
 
FVertexInstanceID CreateVertexInstance (const FVertexID VertexID)
 
void CreateVertexInstanceWithID (const FVertexInstanceID VertexInstanceID, const FVertexID VertexID)
 
MESHDESCRIPTION_API void DeleteVertexInstance (const FVertexInstanceID VertexInstanceID, TArray< FVertexID > *InOutOrphanedVerticesPtr=nullptr)
 
bool IsVertexInstanceValid (const FVertexInstanceID VertexInstanceID) const
 
void ReserveNewUVs (const int32 NumUVs, const int32 UVChannel=0)
 
FUVID CreateUV (const int32 UVChannel=0)
 
void CreateUVWithID (const FUVID UVID, const int32 UVChannel=0)
 
void DeleteUV (const FUVID UVID, const int32 UVChannel=0)
 
bool IsUVValid (const FUVID UVID, const int32 UVChannel=0) const
 
void ReserveNewEdges (const int32 NumEdges)
 
FEdgeID CreateEdge (const FVertexID VertexID0, const FVertexID VertexID1)
 
void CreateEdgeWithID (const FEdgeID EdgeID, const FVertexID VertexID0, const FVertexID VertexID1)
 
MESHDESCRIPTION_API void DeleteEdge (const FEdgeID EdgeID, TArray< FVertexID > *InOutOrphanedVerticesPtr=nullptr)
 
bool IsEdgeValid (const FEdgeID EdgeID) const
 
void ReserveNewTriangles (const int32 NumTriangles)
 
FTriangleID CreateTriangle (const FPolygonGroupID PolygonGroupID, TArrayView< const FVertexInstanceID > VertexInstanceIDs, TArray< FEdgeID > *OutEdgeIDs=nullptr)
 
void CreateTriangleWithID (const FTriangleID TriangleID, const FPolygonGroupID PolygonGroupID, TArrayView< const FVertexInstanceID > VertexInstanceIDs, TArray< FEdgeID > *OutEdgeIDs=nullptr)
 
MESHDESCRIPTION_API void DeleteTriangle (const FTriangleID TriangleID, TArray< FEdgeID > *InOutOrphanedEdgesPtr=nullptr, TArray< FVertexInstanceID > *InOutOrphanedVertexInstancesPtr=nullptr, TArray< FPolygonGroupID > *InOutOrphanedPolygonGroupsPtr=nullptr)
 
MESHDESCRIPTION_API void DeleteTriangles (const TArray< FTriangleID > &Triangles)
 
bool IsTriangleValid (const FTriangleID TriangleID) const
 
void ReserveNewPolygons (const int32 NumPolygons)
 
FPolygonID CreatePolygon (const FPolygonGroupID PolygonGroupID, TArrayView< const FVertexInstanceID > VertexInstanceIDs, TArray< FEdgeID > *OutEdgeIDs=nullptr)
 
void CreatePolygonWithID (const FPolygonID PolygonID, const FPolygonGroupID PolygonGroupID, TArrayView< const FVertexInstanceID > VertexInstanceIDs, TArray< FEdgeID > *OutEdgeIDs=nullptr)
 
MESHDESCRIPTION_API void DeletePolygon (const FPolygonID PolygonID, TArray< FEdgeID > *InOutOrphanedEdgesPtr=nullptr, TArray< FVertexInstanceID > *InOutOrphanedVertexInstancesPtr=nullptr, TArray< FPolygonGroupID > *InOutOrphanedPolygonGroupsPtr=nullptr)
 
MESHDESCRIPTION_API void DeletePolygons (const TArray< FPolygonID > &Polygons)
 
bool IsPolygonValid (const FPolygonID PolygonID) const
 
void ReserveNewPolygonGroups (const int32 NumPolygonGroups)
 
FPolygonGroupID CreatePolygonGroup ()
 
void CreatePolygonGroupWithID (const FPolygonGroupID PolygonGroupID)
 
void DeletePolygonGroup (const FPolygonGroupID PolygonGroupID)
 
bool IsPolygonGroupValid (const FPolygonGroupID PolygonGroupID) const
 
MESHDESCRIPTION_API bool IsVertexOrphaned (const FVertexID VertexID) const
 
MESHDESCRIPTION_API FEdgeID GetVertexPairEdge (const FVertexID VertexID0, const FVertexID VertexID1) const
 
TArrayView< const FEdgeIDGetVertexConnectedEdgeIDs (const FVertexID VertexID) const
 
TArray< FEdgeIDGetVertexConnectedEdges (const FVertexID VertexID) const
 
int32 GetNumVertexConnectedEdges (const FVertexID VertexID) const
 
TArrayView< const FVertexInstanceIDGetVertexVertexInstanceIDs (const FVertexID VertexID) const
 
TArray< FVertexInstanceIDGetVertexVertexInstances (const FVertexID VertexID) const
 
int32 GetNumVertexVertexInstances (const FVertexID VertexID) const
 
template<typename Alloc >
void GetVertexConnectedTriangles (const FVertexID VertexID, TArray< FTriangleID, Alloc > &OutConnectedTriangleIDs) const
 
template<typename Alloc >
TArray< FTriangleID, Alloc > GetVertexConnectedTriangles (const FVertexID VertexID) const
 
TArray< FTriangleIDGetVertexConnectedTriangles (const FVertexID VertexID) const
 
int32 GetNumVertexConnectedTriangles (const FVertexID VertexID) const
 
template<typename Alloc >
void GetVertexConnectedPolygons (const FVertexID VertexID, TArray< FPolygonID, Alloc > &OutConnectedPolygonIDs) const
 
template<typename Alloc >
TArray< FPolygonID, Alloc > GetVertexConnectedPolygons (const FVertexID VertexID) const
 
TArray< FPolygonIDGetVertexConnectedPolygons (const FVertexID VertexID) const
 
int32 GetNumVertexConnectedPolygons (const FVertexID VertexID) const
 
template<typename Alloc >
void GetVertexAdjacentVertices (const FVertexID VertexID, TArray< FVertexID, Alloc > &OutAdjacentVertexIDs) const
 
template<typename Alloc >
TArray< FVertexID, Alloc > GetVertexAdjacentVertices (const FVertexID VertexID) const
 
TArray< FVertexIDGetVertexAdjacentVertices (const FVertexID VertexID) const
 
FVector3f GetVertexPosition (const FVertexID VertexID) const
 
TVertexAttributesRef< FVector3fGetVertexPositions ()
 
TVertexAttributesRef< const FVector3fGetVertexPositions () const
 
FVertexID GetVertexInstanceVertex (const FVertexInstanceID VertexInstanceID) const
 
MESHDESCRIPTION_API FEdgeID GetVertexInstancePairEdge (const FVertexInstanceID VertexInstanceID0, const FVertexInstanceID VertexInstanceID1) const
 
TArrayView< const FTriangleIDGetVertexInstanceConnectedTriangleIDs (const FVertexInstanceID VertexInstanceID) const
 
TArray< FTriangleIDGetVertexInstanceConnectedTriangles (const FVertexInstanceID VertexInstanceID) const
 
int32 GetNumVertexInstanceConnectedTriangles (const FVertexInstanceID VertexInstanceID) const
 
template<typename Alloc >
void GetVertexInstanceConnectedPolygons (const FVertexInstanceID VertexInstanceID, TArray< FPolygonID, Alloc > &OutPolygonIDs) const
 
template<typename Alloc >
TArray< FPolygonID, Alloc > GetVertexInstanceConnectedPolygons (const FVertexInstanceID VertexInstanceID) const
 
TArray< FPolygonIDGetVertexInstanceConnectedPolygons (const FVertexInstanceID VertexInstanceID) const
 
int32 GetNumVertexInstanceConnectedPolygons (const FVertexInstanceID VertexInstanceID) const
 
bool IsEdgeInternal (const FEdgeID EdgeID) const
 
bool IsEdgeInternalToPolygon (const FEdgeID EdgeID, const FPolygonID PolygonID) const
 
TArrayView< const FTriangleIDGetEdgeConnectedTriangleIDs (const FEdgeID EdgeID) const
 
TArray< FTriangleIDGetEdgeConnectedTriangles (const FEdgeID EdgeID) const
 
int32 GetNumEdgeConnectedTriangles (const FEdgeID EdgeID) const
 
template<typename Alloc >
void GetEdgeConnectedPolygons (const FEdgeID EdgeID, TArray< FPolygonID, Alloc > &OutPolygonIDs) const
 
template<typename Alloc >
TArray< FPolygonID, Alloc > GetEdgeConnectedPolygons (const FEdgeID EdgeID) const
 
TArray< FPolygonIDGetEdgeConnectedPolygons (const FEdgeID EdgeID) const
 
int32 GetNumEdgeConnectedPolygons (const FEdgeID EdgeID) const
 
FVertexID GetEdgeVertex (const FEdgeID EdgeID, int32 VertexNumber) const
 
TArrayView< const FVertexIDGetEdgeVertices (const FEdgeID EdgeID) const
 
FPolygonID GetTrianglePolygon (const FTriangleID TriangleID) const
 
FPolygonGroupID GetTrianglePolygonGroup (const FTriangleID TriangleID) const
 
bool IsTrianglePartOfNgon (const FTriangleID TriangleID) const
 
TArrayView< const FVertexInstanceIDGetTriangleVertexInstances (const FTriangleID TriangleID) const
 
FVertexInstanceID GetTriangleVertexInstance (const FTriangleID TriangleID, const int32 Index) const
 
void GetTriangleVertices (const FTriangleID TriangleID, TArrayView< FVertexID > OutVertexIDs) const
 
TArrayView< const FVertexIDGetTriangleVertices (const FTriangleID TriangleID) const
 
void GetTriangleEdges (const FTriangleID TriangleID, TArrayView< FEdgeID > OutEdgeIDs) const
 
TArrayView< FEdgeIDGetTriangleEdges (const FTriangleID TriangleID) const
 
template<typename Alloc >
void GetTriangleAdjacentTriangles (const FTriangleID TriangleID, TArray< FTriangleID, Alloc > &OutTriangleIDs) const
 
template<typename Alloc >
TArray< FTriangleID, Alloc > GetTriangleAdjacentTriangles (const FTriangleID TriangleID) const
 
TArray< FTriangleIDGetTriangleAdjacentTriangles (const FTriangleID TriangleID) const
 
TArrayView< FUVIDGetTriangleUVIndices (const FTriangleID TriangleID, int32 UVChannel=0) const
 
FVertexInstanceID GetVertexInstanceForTriangleVertex (const FTriangleID TriangleID, const FVertexID VertexID) const
 
MESHDESCRIPTION_API void ReverseTriangleFacing (const FTriangleID TriangleID)
 
MESHDESCRIPTION_API void SetTriangleUVIndices (const FTriangleID TriangleID, TArrayView< const FUVID > UVIDs, int32 UVChannel=0)
 
TArrayView< const FTriangleIDGetPolygonTriangles (const FPolygonID PolygonID) const
 
TArray< FTriangleIDGetPolygonTriangleIDs (const FPolygonID PolygonID) const
 
int32 GetNumPolygonTriangles (const FPolygonID PolygonID) const
 
template<typename Alloc >
void GetPolygonVertexInstances (const FPolygonID PolygonID, TArray< FVertexInstanceID, Alloc > &OutVertexInstanceIDs) const
 
template<typename Alloc >
TArray< FVertexInstanceID, Alloc > GetPolygonVertexInstances (const FPolygonID PolygonID) const
 
TArray< FVertexInstanceIDGetPolygonVertexInstances (const FPolygonID PolygonID) const
 
int32 GetNumPolygonVertices (const FPolygonID PolygonID) const
 
template<typename Alloc >
void GetPolygonVertices (const FPolygonID PolygonID, TArray< FVertexID, Alloc > &OutVertexIDs) const
 
template<typename Alloc >
TArray< FVertexID, Alloc > GetPolygonVertices (const FPolygonID PolygonID) const
 
TArray< FVertexIDGetPolygonVertices (const FPolygonID PolygonID) const
 
template<typename Alloc >
void GetPolygonPerimeterEdges (const FPolygonID PolygonID, TArray< FEdgeID, Alloc > &OutEdgeIDs) const
 
template<typename Alloc >
TArray< FEdgeID, Alloc > GetPolygonPerimeterEdges (const FPolygonID PolygonID) const
 
TArray< FEdgeIDGetPolygonPerimeterEdges (const FPolygonID PolygonID) const
 
template<typename Alloc >
void GetPolygonInternalEdges (const FPolygonID PolygonID, TArray< FEdgeID, Alloc > &OutEdgeIDs) const
 
template<typename Alloc >
TArray< FEdgeID, Alloc > GetPolygonInternalEdges (const FPolygonID PolygonID) const
 
TArray< FEdgeIDGetPolygonInternalEdges (const FPolygonID PolygonID) const
 
int32 GetNumPolygonInternalEdges (const FPolygonID PolygonID) const
 
template<typename Alloc >
void GetPolygonAdjacentPolygons (const FPolygonID PolygonID, TArray< FPolygonID, Alloc > &OutPolygonIDs) const
 
template<typename Alloc >
TArray< FPolygonID, Alloc > GetPolygonAdjacentPolygons (const FPolygonID PolygonID) const
 
TArray< FPolygonIDGetPolygonAdjacentPolygons (const FPolygonID PolygonID) const
 
FPolygonGroupID GetPolygonPolygonGroup (const FPolygonID PolygonID) const
 
FVertexInstanceID GetVertexInstanceForPolygonVertex (const FPolygonID PolygonID, const FVertexID VertexID) const
 
MESHDESCRIPTION_API void SetPolygonVertexInstance (const FPolygonID PolygonID, const int32 PerimeterIndex, const FVertexInstanceID VertexInstanceID)
 
MESHDESCRIPTION_API void SetPolygonVertexInstances (const FPolygonID PolygonID, TArrayView< const FVertexInstanceID > VertexInstanceIDs)
 
void SetPolygonPolygonGroup (const FPolygonID PolygonID, const FPolygonGroupID PolygonGroupID)
 
MESHDESCRIPTION_API void ReversePolygonFacing (const FPolygonID PolygonID)
 
MESHDESCRIPTION_API void FindPolygonPerimeter (TArrayView< const FTriangleID > Triangles, TArrayView< TTuple< int32, int32 > > Result) const
 
MESHDESCRIPTION_API void FindPolygonPerimeter (const FPolygonID PolygonID, TArrayView< FEdgeID > Edges) const
 
MESHDESCRIPTION_API void ComputePolygonTriangulation (const FPolygonID PolygonID)
 
MESHDESCRIPTION_API void SplitPolygon (FPolygonID PolygonID)
 
TArrayView< const FPolygonIDGetPolygonGroupPolygonIDs (const FPolygonGroupID PolygonGroupID) const
 
TArray< FPolygonIDGetPolygonGroupPolygons (const FPolygonGroupID PolygonGroupID) const
 
TArrayView< const FTriangleIDGetPolygonGroupTriangles (const FPolygonGroupID PolygonGroupID) const
 
int32 GetNumPolygonGroupPolygons (const FPolygonGroupID PolygonGroupID) const
 
int32 GetNumPolygonGroupTriangles (const FPolygonGroupID PolygonGroupID) const
 
MESHDESCRIPTION_API void RemapPolygonGroups (const TMap< FPolygonGroupID, FPolygonGroupID > &Remap)
 
MESHDESCRIPTION_API void TransferPolygonGroup (FPolygonGroupID SourceID, FPolygonGroupID DestinationID)
 
MESHDESCRIPTION_API bool NeedsCompact () const
 
MESHDESCRIPTION_API void Compact (FElementIDRemappings &OutRemappings)
 
MESHDESCRIPTION_API void Remap (const FElementIDRemappings &Remappings)
 
int32 GetNumUVElementChannels () const
 
MESHDESCRIPTION_API void SetNumUVChannels (const int32 NumUVChannels)
 
MESHDESCRIPTION_API FBoxSphereBounds GetBounds () const
 
MESHDESCRIPTION_API void TriangulateMesh ()
 
MESHDESCRIPTION_API void ReverseAllPolygonFacing ()
 
MESHDESCRIPTION_API float GetTriangleCornerAngleForVertex (const FTriangleID TriangleID, const FVertexID VertexID) const
 
MESHDESCRIPTION_API float GetPolygonCornerAngleForVertex (const FPolygonID PolygonID, const FVertexID VertexID) const
 
MESHDESCRIPTION_API FBox ComputeBoundingBox () const
 

Static Public Attributes

static MESHDESCRIPTION_API FName VerticesName
 
static MESHDESCRIPTION_API FName VertexInstancesName
 
static MESHDESCRIPTION_API FName UVsName
 
static MESHDESCRIPTION_API FName EdgesName
 
static MESHDESCRIPTION_API FName TrianglesName
 
static MESHDESCRIPTION_API FName PolygonsName
 
static MESHDESCRIPTION_API FName PolygonGroupsName
 

Friends

FArchiveoperator<< (FArchive &Ar, FMeshDescription &MeshDescription)
 

Constructor & Destructor Documentation

◆ FMeshDescription() [1/3]

FMeshDescription::FMeshDescription ( )

◆ ~FMeshDescription()

FMeshDescription::~FMeshDescription ( )
default

◆ FMeshDescription() [2/3]

FMeshDescription::FMeshDescription ( const FMeshDescription Other)

◆ FMeshDescription() [3/3]

FMeshDescription::FMeshDescription ( FMeshDescription &&  )
default

Member Function Documentation

◆ BuildEdgeIndexers()

void FMeshDescription::BuildEdgeIndexers ( )
inline

◆ BuildIndexers()

void FMeshDescription::BuildIndexers ( )

◆ BuildPolygonGroupIndexers()

void FMeshDescription::BuildPolygonGroupIndexers ( )
inline

◆ BuildPolygonIndexers()

void FMeshDescription::BuildPolygonIndexers ( )
inline

◆ BuildVertexIndexers()

void FMeshDescription::BuildVertexIndexers ( )
inline

◆ BuildVertexInstanceIndexers()

void FMeshDescription::BuildVertexInstanceIndexers ( )
inline

◆ Compact()

void FMeshDescription::Compact ( FElementIDRemappings OutRemappings)

Compacts the data held in the mesh description, and returns an object describing how the IDs have been remapped.

◆ ComputeBoundingBox()

FBox FMeshDescription::ComputeBoundingBox ( ) const

◆ ComputePolygonTriangulation()

void FMeshDescription::ComputePolygonTriangulation ( const FPolygonID  PolygonID)

Generates triangles and internal edges for the given polygon

◆ CreateEdge()

FEdgeID FMeshDescription::CreateEdge ( const FVertexID  VertexID0,
const FVertexID  VertexID1 
)
inline

Adds a new edge to the mesh and returns its ID

◆ CreateEdgeWithID()

void FMeshDescription::CreateEdgeWithID ( const FEdgeID  EdgeID,
const FVertexID  VertexID0,
const FVertexID  VertexID1 
)
inline

Adds a new edge to the mesh with the given ID

◆ CreatePolygon()

FPolygonID FMeshDescription::CreatePolygon ( const FPolygonGroupID  PolygonGroupID,
TArrayView< const FVertexInstanceID VertexInstanceIDs,
TArray< FEdgeID > *  OutEdgeIDs = nullptr 
)
inline

Adds a new polygon to the mesh and returns its ID. This will also make any missing edges, and all constituent triangles.

◆ CreatePolygonGroup()

FPolygonGroupID FMeshDescription::CreatePolygonGroup ( )
inline

Adds a new polygon group to the mesh and returns its ID

◆ CreatePolygonGroupWithID()

void FMeshDescription::CreatePolygonGroupWithID ( const FPolygonGroupID  PolygonGroupID)
inline

Adds a new polygon group to the mesh with the given ID

◆ CreatePolygonWithID()

void FMeshDescription::CreatePolygonWithID ( const FPolygonID  PolygonID,
const FPolygonGroupID  PolygonGroupID,
TArrayView< const FVertexInstanceID VertexInstanceIDs,
TArray< FEdgeID > *  OutEdgeIDs = nullptr 
)
inline

Adds a new polygon to the mesh with the given ID. This will also make any missing edges, and all constituent triangles.

◆ CreateTriangle()

FTriangleID FMeshDescription::CreateTriangle ( const FPolygonGroupID  PolygonGroupID,
TArrayView< const FVertexInstanceID VertexInstanceIDs,
TArray< FEdgeID > *  OutEdgeIDs = nullptr 
)
inline

Adds a new triangle to the mesh and returns its ID. This will also make an encapsulating polygon, and any missing edges.

◆ CreateTriangleWithID()

void FMeshDescription::CreateTriangleWithID ( const FTriangleID  TriangleID,
const FPolygonGroupID  PolygonGroupID,
TArrayView< const FVertexInstanceID VertexInstanceIDs,
TArray< FEdgeID > *  OutEdgeIDs = nullptr 
)
inline

Adds a new triangle to the mesh with the given ID. This will also make an encapsulating polygon, and any missing edges.

◆ CreateUV()

FUVID FMeshDescription::CreateUV ( const int32  UVChannel = 0)
inline

Adds a new UV to the mesh and returns its ID

◆ CreateUVWithID()

void FMeshDescription::CreateUVWithID ( const FUVID  UVID,
const int32  UVChannel = 0 
)
inline

Adds a new UV to the mesh with the given ID

◆ CreateVertex()

FVertexID FMeshDescription::CreateVertex ( )
inline

Adds a new vertex to the mesh and returns its ID

◆ CreateVertexInstance()

FVertexInstanceID FMeshDescription::CreateVertexInstance ( const FVertexID  VertexID)
inline

Adds a new vertex instance to the mesh and returns its ID

◆ CreateVertexInstanceWithID()

void FMeshDescription::CreateVertexInstanceWithID ( const FVertexInstanceID  VertexInstanceID,
const FVertexID  VertexID 
)
inline

Adds a new vertex instance to the mesh with the given ID

◆ CreateVertexWithID()

void FMeshDescription::CreateVertexWithID ( const FVertexID  VertexID)
inline

Adds a new vertex to the mesh with the given ID

◆ DeleteEdge()

void FMeshDescription::DeleteEdge ( const FEdgeID  EdgeID,
TArray< FVertexID > *  InOutOrphanedVerticesPtr = nullptr 
)

Deletes an edge from the mesh

◆ DeletePolygon()

void FMeshDescription::DeletePolygon ( const FPolygonID  PolygonID,
TArray< FEdgeID > *  InOutOrphanedEdgesPtr = nullptr,
TArray< FVertexInstanceID > *  InOutOrphanedVertexInstancesPtr = nullptr,
TArray< FPolygonGroupID > *  InOutOrphanedPolygonGroupsPtr = nullptr 
)

Deletes a polygon from the mesh

◆ DeletePolygonGroup()

void FMeshDescription::DeletePolygonGroup ( const FPolygonGroupID  PolygonGroupID)
inline

Deletes a polygon group from the mesh

◆ DeletePolygons()

void FMeshDescription::DeletePolygons ( const TArray< FPolygonID > &  Polygons)

Deletes polygons from the mesh and remove all orphaned polygon groups, vertex instances, edges and vertices. Will not compact the internal arrays, you must call Compact() manually.

◆ DeleteTriangle()

void FMeshDescription::DeleteTriangle ( const FTriangleID  TriangleID,
TArray< FEdgeID > *  InOutOrphanedEdgesPtr = nullptr,
TArray< FVertexInstanceID > *  InOutOrphanedVertexInstancesPtr = nullptr,
TArray< FPolygonGroupID > *  InOutOrphanedPolygonGroupsPtr = nullptr 
)

Deletes a triangle from the mesh

◆ DeleteTriangles()

void FMeshDescription::DeleteTriangles ( const TArray< FTriangleID > &  Triangles)

Deletes triangles from the mesh and remove all orphaned polygon groups, vertex instances, edges and vertices. Will not compact the internal arrays, you must call Compact() manually.

◆ DeleteUV()

void FMeshDescription::DeleteUV ( const FUVID  UVID,
const int32  UVChannel = 0 
)
inline

Deletes a UV from the mesh

◆ DeleteVertex()

void FMeshDescription::DeleteVertex ( const FVertexID  VertexID)
inline

Deletes a vertex from the mesh

◆ DeleteVertexInstance()

void FMeshDescription::DeleteVertexInstance ( const FVertexInstanceID  VertexInstanceID,
TArray< FVertexID > *  InOutOrphanedVerticesPtr = nullptr 
)

Deletes a vertex instance from a mesh

◆ EdgeAttributes() [1/2]

TAttributesSet< FEdgeID > & FMeshDescription::EdgeAttributes ( )
inline

◆ EdgeAttributes() [2/2]

const TAttributesSet< FEdgeID > & FMeshDescription::EdgeAttributes ( ) const
inline

◆ Edges() [1/2]

FEdgeArray & FMeshDescription::Edges ( )
inline

◆ Edges() [2/2]

const FEdgeArray & FMeshDescription::Edges ( ) const
inline

◆ Empty()

void FMeshDescription::Empty ( )

◆ FindPolygonPerimeter() [1/2]

void FMeshDescription::FindPolygonPerimeter ( const FPolygonID  PolygonID,
TArrayView< FEdgeID Edges 
) const

◆ FindPolygonPerimeter() [2/2]

void FMeshDescription::FindPolygonPerimeter ( TArrayView< const FTriangleID Triangles,
TArrayView< TTuple< int32, int32 > >  Result 
) const

Determines the vertex instances which form the perimeter of a polygon

◆ GetBounds()

FBoxSphereBounds FMeshDescription::GetBounds ( ) const

Returns bounds of vertices

◆ GetEdgeConnectedPolygons() [1/3]

template<typename Alloc >
TArray< FPolygonID, Alloc > FMeshDescription::GetEdgeConnectedPolygons ( const FEdgeID  EdgeID) const
inline

Returns the polygons connected to this edge as an array with the specified allocator template type.

◆ GetEdgeConnectedPolygons() [2/3]

TArray< FPolygonID > FMeshDescription::GetEdgeConnectedPolygons ( const FEdgeID  EdgeID) const
inline

Returns the polygons connected to this edge

◆ GetEdgeConnectedPolygons() [3/3]

template<typename Alloc >
void FMeshDescription::GetEdgeConnectedPolygons ( const FEdgeID  EdgeID,
TArray< FPolygonID, Alloc > &  OutPolygonIDs 
) const
inline

Populates the passed array with polygon IDs connected to this edge

◆ GetEdgeConnectedTriangleIDs()

TArrayView< const FTriangleID > FMeshDescription::GetEdgeConnectedTriangleIDs ( const FEdgeID  EdgeID) const
inline

Returns reference to an array of triangle IDs connected to this edge

◆ GetEdgeConnectedTriangles()

TArray< FTriangleID > FMeshDescription::GetEdgeConnectedTriangles ( const FEdgeID  EdgeID) const
inline

◆ GetEdgeVertex()

FVertexID FMeshDescription::GetEdgeVertex ( const FEdgeID  EdgeID,
int32  VertexNumber 
) const
inline

Returns the vertex ID corresponding to one of the edge endpoints

◆ GetEdgeVertices()

TArrayView< const FVertexID > FMeshDescription::GetEdgeVertices ( const FEdgeID  EdgeID) const
inline

Returns a pair of vertex IDs defining the edge

◆ GetElements() [1/2]

TMap< FName, FMeshElementTypeWrapper > & FMeshDescription::GetElements ( )
inline

◆ GetElements() [2/2]

const TMap< FName, FMeshElementTypeWrapper > & FMeshDescription::GetElements ( ) const
inline

◆ GetNumEdgeConnectedPolygons()

int32 FMeshDescription::GetNumEdgeConnectedPolygons ( const FEdgeID  EdgeID) const
inline

Returns the number of polygons connected to this edge

◆ GetNumEdgeConnectedTriangles()

int32 FMeshDescription::GetNumEdgeConnectedTriangles ( const FEdgeID  EdgeID) const
inline

◆ GetNumPolygonGroupPolygons()

int32 FMeshDescription::GetNumPolygonGroupPolygons ( const FPolygonGroupID  PolygonGroupID) const
inline

Returns the number of polygons in this polygon group

◆ GetNumPolygonGroupTriangles()

int32 FMeshDescription::GetNumPolygonGroupTriangles ( const FPolygonGroupID  PolygonGroupID) const
inline

Returns the number of triangles in this polygon group

◆ GetNumPolygonInternalEdges()

int32 FMeshDescription::GetNumPolygonInternalEdges ( const FPolygonID  PolygonID) const
inline

Return the number of internal edges in this polygon

◆ GetNumPolygonTriangles()

int32 FMeshDescription::GetNumPolygonTriangles ( const FPolygonID  PolygonID) const
inline

Return the number of triangles which comprise this polygon

◆ GetNumPolygonVertices()

int32 FMeshDescription::GetNumPolygonVertices ( const FPolygonID  PolygonID) const
inline

Returns the number of vertices this polygon has

◆ GetNumUVElementChannels()

int32 FMeshDescription::GetNumUVElementChannels ( ) const
inline

Gets the number of UV element channels

◆ GetNumVertexConnectedEdges()

int32 FMeshDescription::GetNumVertexConnectedEdges ( const FVertexID  VertexID) const
inline

Returns number of edges connected to this vertex

◆ GetNumVertexConnectedPolygons()

int32 FMeshDescription::GetNumVertexConnectedPolygons ( const FVertexID  VertexID) const
inline

Returns the number of polygons connected to this vertex

◆ GetNumVertexConnectedTriangles()

int32 FMeshDescription::GetNumVertexConnectedTriangles ( const FVertexID  VertexID) const
inline

Returns number of triangles connected to this vertex

◆ GetNumVertexInstanceConnectedPolygons()

int32 FMeshDescription::GetNumVertexInstanceConnectedPolygons ( const FVertexInstanceID  VertexInstanceID) const
inline

Returns the number of polygons connected to this vertex instance.

◆ GetNumVertexInstanceConnectedTriangles()

int32 FMeshDescription::GetNumVertexInstanceConnectedTriangles ( const FVertexInstanceID  VertexInstanceID) const
inline

Returns the number of triangles connected to this vertex instance

◆ GetNumVertexVertexInstances()

int32 FMeshDescription::GetNumVertexVertexInstances ( const FVertexID  VertexID) const
inline

Returns number of vertex instances created from this vertex

◆ GetPolygonAdjacentPolygons() [1/3]

template<typename Alloc >
TArray< FPolygonID, Alloc > FMeshDescription::GetPolygonAdjacentPolygons ( const FPolygonID  PolygonID) const
inline

Return adjacent polygons into a TArray with the specified allocator

◆ GetPolygonAdjacentPolygons() [2/3]

TArray< FPolygonID > FMeshDescription::GetPolygonAdjacentPolygons ( const FPolygonID  PolygonID) const
inline

Return adjacent polygons to this polygon

◆ GetPolygonAdjacentPolygons() [3/3]

template<typename Alloc >
void FMeshDescription::GetPolygonAdjacentPolygons ( const FPolygonID  PolygonID,
TArray< FPolygonID, Alloc > &  OutPolygonIDs 
) const
inline

Populates the passed array with adjacent polygons

◆ GetPolygonCornerAngleForVertex()

float FMeshDescription::GetPolygonCornerAngleForVertex ( const FPolygonID  PolygonID,
const FVertexID  VertexID 
) const

◆ GetPolygonGroupPolygonIDs()

TArrayView< const FPolygonID > FMeshDescription::GetPolygonGroupPolygonIDs ( const FPolygonGroupID  PolygonGroupID) const
inline

Returns the polygons associated with the given polygon group

◆ GetPolygonGroupPolygons()

TArray< FPolygonID > FMeshDescription::GetPolygonGroupPolygons ( const FPolygonGroupID  PolygonGroupID) const
inline

◆ GetPolygonGroupTriangles()

TArrayView< const FTriangleID > FMeshDescription::GetPolygonGroupTriangles ( const FPolygonGroupID  PolygonGroupID) const
inline

Returns the triangles associated with the given polygon group

◆ GetPolygonInternalEdges() [1/3]

template<typename Alloc >
TArray< FEdgeID, Alloc > FMeshDescription::GetPolygonInternalEdges ( const FPolygonID  PolygonID) const
inline

Return the internal edges of this polygon, i.e. those which separate constituent triangles

◆ GetPolygonInternalEdges() [2/3]

TArray< FEdgeID > FMeshDescription::GetPolygonInternalEdges ( const FPolygonID  PolygonID) const
inline

Return the internal edges of this polygon, i.e. those which separate constituent triangles

◆ GetPolygonInternalEdges() [3/3]

template<typename Alloc >
void FMeshDescription::GetPolygonInternalEdges ( const FPolygonID  PolygonID,
TArray< FEdgeID, Alloc > &  OutEdgeIDs 
) const
inline

Populate the provided array with a list of edges which are internal to the polygon, i.e. those which separate constituent triangles.

◆ GetPolygonPerimeterEdges() [1/3]

template<typename Alloc >
TArray< FEdgeID, Alloc > FMeshDescription::GetPolygonPerimeterEdges ( const FPolygonID  PolygonID) const
inline

Returns the vertices which form the polygon perimeter as an array templated on the given allocator

◆ GetPolygonPerimeterEdges() [2/3]

TArray< FEdgeID > FMeshDescription::GetPolygonPerimeterEdges ( const FPolygonID  PolygonID) const
inline

Returns the vertices which form the polygon perimeter

◆ GetPolygonPerimeterEdges() [3/3]

template<typename Alloc >
void FMeshDescription::GetPolygonPerimeterEdges ( const FPolygonID  PolygonID,
TArray< FEdgeID, Alloc > &  OutEdgeIDs 
) const
inline

Populates the passed array with the edges which form the polygon perimeter

◆ GetPolygonPolygonGroup()

FPolygonGroupID FMeshDescription::GetPolygonPolygonGroup ( const FPolygonID  PolygonID) const
inline

Return the polygon group associated with a polygon

◆ GetPolygonTriangleIDs()

TArray< FTriangleID > FMeshDescription::GetPolygonTriangleIDs ( const FPolygonID  PolygonID) const
inline

◆ GetPolygonTriangles()

TArrayView< const FTriangleID > FMeshDescription::GetPolygonTriangles ( const FPolygonID  PolygonID) const
inline

Return reference to an array of triangle IDs which comprise this polygon

◆ GetPolygonVertexInstances() [1/3]

template<typename Alloc >
TArray< FVertexInstanceID, Alloc > FMeshDescription::GetPolygonVertexInstances ( const FPolygonID  PolygonID) const
inline

◆ GetPolygonVertexInstances() [2/3]

TArray< FVertexInstanceID > FMeshDescription::GetPolygonVertexInstances ( const FPolygonID  PolygonID) const
inline

◆ GetPolygonVertexInstances() [3/3]

template<typename Alloc >
void FMeshDescription::GetPolygonVertexInstances ( const FPolygonID  PolygonID,
TArray< FVertexInstanceID, Alloc > &  OutVertexInstanceIDs 
) const
inline

Returns reference to an array of VertexInstance IDs forming the perimeter of this polygon

◆ GetPolygonVertices() [1/3]

template<typename Alloc >
TArray< FVertexID, Alloc > FMeshDescription::GetPolygonVertices ( const FPolygonID  PolygonID) const
inline

Returns the vertices which form the polygon perimeter as an array templated on the given allocator

◆ GetPolygonVertices() [2/3]

TArray< FVertexID > FMeshDescription::GetPolygonVertices ( const FPolygonID  PolygonID) const
inline

Returns the vertices which form the polygon perimeter

◆ GetPolygonVertices() [3/3]

template<typename Alloc >
void FMeshDescription::GetPolygonVertices ( const FPolygonID  PolygonID,
TArray< FVertexID, Alloc > &  OutVertexIDs 
) const
inline

Populates the passed array of VertexIDs with the vertices which form the polygon perimeter

◆ GetTriangleAdjacentTriangles() [1/3]

template<typename Alloc >
TArray< FTriangleID, Alloc > FMeshDescription::GetTriangleAdjacentTriangles ( const FTriangleID  TriangleID) const
inline

Return adjacent triangles into a TArray with the specified allocator

◆ GetTriangleAdjacentTriangles() [2/3]

TArray< FTriangleID > FMeshDescription::GetTriangleAdjacentTriangles ( const FTriangleID  TriangleID) const
inline

Return adjacent triangles to this triangle

◆ GetTriangleAdjacentTriangles() [3/3]

template<typename Alloc >
void FMeshDescription::GetTriangleAdjacentTriangles ( const FTriangleID  TriangleID,
TArray< FTriangleID, Alloc > &  OutTriangleIDs 
) const
inline

Populates the passed array with adjacent triangles

◆ GetTriangleCornerAngleForVertex()

MESHDESCRIPTION_API float FMeshDescription::GetTriangleCornerAngleForVertex ( const FTriangleID  TriangleID,
const FVertexID  VertexID 
) const

◆ GetTriangleEdges() [1/2]

TArrayView< FEdgeID > FMeshDescription::GetTriangleEdges ( const FTriangleID  TriangleID) const
inline

Return the edges which form this triangle

◆ GetTriangleEdges() [2/2]

void FMeshDescription::GetTriangleEdges ( const FTriangleID  TriangleID,
TArrayView< FEdgeID OutEdgeIDs 
) const
inline

Populates the passed array with the edges which define this triangle

◆ GetTrianglePolygon()

FPolygonID FMeshDescription::GetTrianglePolygon ( const FTriangleID  TriangleID) const
inline

Get the polygon which contains this triangle

◆ GetTrianglePolygonGroup()

FPolygonGroupID FMeshDescription::GetTrianglePolygonGroup ( const FTriangleID  TriangleID) const
inline

Get the polygon group which contains this triangle

◆ GetTriangleUVIndices()

TArrayView< FUVID > FMeshDescription::GetTriangleUVIndices ( const FTriangleID  TriangleID,
int32  UVChannel = 0 
) const
inline

Return UV indices for this triangle for the given channel

◆ GetTriangleVertexInstance()

FVertexInstanceID FMeshDescription::GetTriangleVertexInstance ( const FTriangleID  TriangleID,
const int32  Index 
) const
inline

Get the specified vertex instance by index

◆ GetTriangleVertexInstances()

TArrayView< const FVertexInstanceID > FMeshDescription::GetTriangleVertexInstances ( const FTriangleID  TriangleID) const
inline

Get the vertex instances which define this triangle

◆ GetTriangleVertices() [1/2]

TArrayView< const FVertexID > FMeshDescription::GetTriangleVertices ( const FTriangleID  TriangleID) const
inline

Return the vertices which define this triangle

◆ GetTriangleVertices() [2/2]

void FMeshDescription::GetTriangleVertices ( const FTriangleID  TriangleID,
TArrayView< FVertexID OutVertexIDs 
) const
inline

Populates the passed array with the vertices which define this triangle

◆ GetVertexAdjacentVertices() [1/3]

template<typename Alloc >
TArray< FVertexID, Alloc > FMeshDescription::GetVertexAdjacentVertices ( const FVertexID  VertexID) const
inline

Returns the vertices adjacent to this vertex as an array with the specified allocator template type.

◆ GetVertexAdjacentVertices() [2/3]

TArray< FVertexID > FMeshDescription::GetVertexAdjacentVertices ( const FVertexID  VertexID) const
inline

Returns the vertices adjacent to this vertex

◆ GetVertexAdjacentVertices() [3/3]

template<typename Alloc >
void FMeshDescription::GetVertexAdjacentVertices ( const FVertexID  VertexID,
TArray< FVertexID, Alloc > &  OutAdjacentVertexIDs 
) const
inline

Populates the passed array of VertexIDs with the vertices adjacent to this vertex

◆ GetVertexConnectedEdgeIDs()

TArrayView< const FEdgeID > FMeshDescription::GetVertexConnectedEdgeIDs ( const FVertexID  VertexID) const
inline

Returns reference to an array of Edge IDs connected to this vertex

◆ GetVertexConnectedEdges()

TArray< FEdgeID > FMeshDescription::GetVertexConnectedEdges ( const FVertexID  VertexID) const
inline

◆ GetVertexConnectedPolygons() [1/3]

template<typename Alloc >
TArray< FPolygonID, Alloc > FMeshDescription::GetVertexConnectedPolygons ( const FVertexID  VertexID) const
inline

Returns the polygons connected to this vertex as an array with the specified allocator template type.

◆ GetVertexConnectedPolygons() [2/3]

TArray< FPolygonID > FMeshDescription::GetVertexConnectedPolygons ( const FVertexID  VertexID) const
inline

Returns the polygons connected to this vertex

◆ GetVertexConnectedPolygons() [3/3]

template<typename Alloc >
void FMeshDescription::GetVertexConnectedPolygons ( const FVertexID  VertexID,
TArray< FPolygonID, Alloc > &  OutConnectedPolygonIDs 
) const
inline

Populates the passed array of PolygonIDs with the polygons connected to this vertex

◆ GetVertexConnectedTriangles() [1/3]

template<typename Alloc >
TArray< FTriangleID, Alloc > FMeshDescription::GetVertexConnectedTriangles ( const FVertexID  VertexID) const
inline

Returns the triangles connected to this vertex as an array with the specified allocator template type.

◆ GetVertexConnectedTriangles() [2/3]

TArray< FTriangleID > FMeshDescription::GetVertexConnectedTriangles ( const FVertexID  VertexID) const
inline

Returns the triangles connected to this vertex

◆ GetVertexConnectedTriangles() [3/3]

template<typename Alloc >
void FMeshDescription::GetVertexConnectedTriangles ( const FVertexID  VertexID,
TArray< FTriangleID, Alloc > &  OutConnectedTriangleIDs 
) const
inline

Populates the passed array of TriangleIDs with the triangles connected to this vertex

◆ GetVertexInstanceConnectedPolygons() [1/3]

template<typename Alloc >
TArray< FPolygonID, Alloc > FMeshDescription::GetVertexInstanceConnectedPolygons ( const FVertexInstanceID  VertexInstanceID) const
inline

Returns the polygons connected to this vertex instance as an array with the specified allocator template type.

◆ GetVertexInstanceConnectedPolygons() [2/3]

TArray< FPolygonID > FMeshDescription::GetVertexInstanceConnectedPolygons ( const FVertexInstanceID  VertexInstanceID) const
inline

Returns the polygons connected to this vertex instance

◆ GetVertexInstanceConnectedPolygons() [3/3]

template<typename Alloc >
void FMeshDescription::GetVertexInstanceConnectedPolygons ( const FVertexInstanceID  VertexInstanceID,
TArray< FPolygonID, Alloc > &  OutPolygonIDs 
) const
inline

Populates the passed array with the polygons connected to this vertex instance

◆ GetVertexInstanceConnectedTriangleIDs()

TArrayView< const FTriangleID > FMeshDescription::GetVertexInstanceConnectedTriangleIDs ( const FVertexInstanceID  VertexInstanceID) const
inline

Returns reference to an array of Triangle IDs connected to this vertex instance

◆ GetVertexInstanceConnectedTriangles()

TArray< FTriangleID > FMeshDescription::GetVertexInstanceConnectedTriangles ( const FVertexInstanceID  VertexInstanceID) const
inline

◆ GetVertexInstanceForPolygonVertex()

FVertexInstanceID FMeshDescription::GetVertexInstanceForPolygonVertex ( const FPolygonID  PolygonID,
const FVertexID  VertexID 
) const
inline

Return the vertex instance which corresponds to the given vertex on the given polygon, or INDEX_NONE

◆ GetVertexInstanceForTriangleVertex()

FVertexInstanceID FMeshDescription::GetVertexInstanceForTriangleVertex ( const FTriangleID  TriangleID,
const FVertexID  VertexID 
) const
inline

Return the vertex instance which corresponds to the given vertex on the given triangle, or INDEX_NONE

◆ GetVertexInstancePairEdge()

FEdgeID FMeshDescription::GetVertexInstancePairEdge ( const FVertexInstanceID  VertexInstanceID0,
const FVertexInstanceID  VertexInstanceID1 
) const

Returns the edge ID defined by the two given vertex instance IDs, if there is one; otherwise INDEX_NONE

◆ GetVertexInstanceVertex()

FVertexID FMeshDescription::GetVertexInstanceVertex ( const FVertexInstanceID  VertexInstanceID) const
inline

Returns the vertex ID associated with the given vertex instance

◆ GetVertexPairEdge()

FEdgeID FMeshDescription::GetVertexPairEdge ( const FVertexID  VertexID0,
const FVertexID  VertexID1 
) const

Returns the edge ID defined by the two given vertex IDs, if there is one; otherwise INDEX_NONE

◆ GetVertexPosition()

FVector3f FMeshDescription::GetVertexPosition ( const FVertexID  VertexID) const
inline

Returns the position of this vertex

◆ GetVertexPositions() [1/2]

TVertexAttributesRef< FVector3f > FMeshDescription::GetVertexPositions ( )
inline

◆ GetVertexPositions() [2/2]

TVertexAttributesRef< const FVector3f > FMeshDescription::GetVertexPositions ( ) const
inline

◆ GetVertexVertexInstanceIDs()

TArrayView< const FVertexInstanceID > FMeshDescription::GetVertexVertexInstanceIDs ( const FVertexID  VertexID) const
inline

Returns reference to an array of VertexInstance IDs instanced from this vertex

◆ GetVertexVertexInstances()

TArray< FVertexInstanceID > FMeshDescription::GetVertexVertexInstances ( const FVertexID  VertexID) const
inline

◆ IsEdgeInternal()

bool FMeshDescription::IsEdgeInternal ( const FEdgeID  EdgeID) const
inline

Determine whether a given edge is an internal edge between triangles of a polygon

◆ IsEdgeInternalToPolygon()

bool FMeshDescription::IsEdgeInternalToPolygon ( const FEdgeID  EdgeID,
const FPolygonID  PolygonID 
) const
inline

Determine whether a given edge is an internal edge between triangles of a specific polygon

◆ IsEdgeValid()

bool FMeshDescription::IsEdgeValid ( const FEdgeID  EdgeID) const
inline

Returns whether the passed edge ID is valid

◆ IsEmpty()

bool FMeshDescription::IsEmpty ( ) const

◆ IsPolygonGroupValid()

bool FMeshDescription::IsPolygonGroupValid ( const FPolygonGroupID  PolygonGroupID) const
inline

Returns whether the passed polygon group ID is valid

◆ IsPolygonValid()

bool FMeshDescription::IsPolygonValid ( const FPolygonID  PolygonID) const
inline

Returns whether the passed polygon ID is valid

◆ IsTrianglePartOfNgon()

bool FMeshDescription::IsTrianglePartOfNgon ( const FTriangleID  TriangleID) const
inline

Determines if this triangle is part of an n-gon

◆ IsTriangleValid()

bool FMeshDescription::IsTriangleValid ( const FTriangleID  TriangleID) const
inline

Returns whether the passed triangle ID is valid

◆ IsUVValid()

bool FMeshDescription::IsUVValid ( const FUVID  UVID,
const int32  UVChannel = 0 
) const
inline

Returns whether the passed UV ID is valid

◆ IsVertexInstanceValid()

bool FMeshDescription::IsVertexInstanceValid ( const FVertexInstanceID  VertexInstanceID) const
inline

Returns whether the passed vertex instance ID is valid

◆ IsVertexOrphaned()

bool FMeshDescription::IsVertexOrphaned ( const FVertexID  VertexID) const

Returns whether a given vertex is orphaned, i.e. it doesn't form part of any polygon

◆ IsVertexValid()

bool FMeshDescription::IsVertexValid ( const FVertexID  VertexID) const
inline

Returns whether the passed vertex ID is valid

◆ NeedsCompact()

bool FMeshDescription::NeedsCompact ( ) const

Determines if calling Compact() would perform actual compaction or not.

◆ operator=() [1/2]

FMeshDescription & FMeshDescription::operator= ( const FMeshDescription Other)

◆ operator=() [2/2]

FMeshDescription & FMeshDescription::operator= ( FMeshDescription &&  )
default

◆ PolygonAttributes() [1/2]

TAttributesSet< FPolygonID > & FMeshDescription::PolygonAttributes ( )
inline

◆ PolygonAttributes() [2/2]

const TAttributesSet< FPolygonID > & FMeshDescription::PolygonAttributes ( ) const
inline

◆ PolygonGroupAttributes() [1/2]

TAttributesSet< FPolygonGroupID > & FMeshDescription::PolygonGroupAttributes ( )
inline

◆ PolygonGroupAttributes() [2/2]

const TAttributesSet< FPolygonGroupID > & FMeshDescription::PolygonGroupAttributes ( ) const
inline

◆ PolygonGroups() [1/2]

FPolygonGroupArray & FMeshDescription::PolygonGroups ( )
inline

◆ PolygonGroups() [2/2]

const FPolygonGroupArray & FMeshDescription::PolygonGroups ( ) const
inline

◆ Polygons() [1/2]

FPolygonArray & FMeshDescription::Polygons ( )
inline

◆ Polygons() [2/2]

const FPolygonArray & FMeshDescription::Polygons ( ) const
inline

◆ RebuildIndexers()

void FMeshDescription::RebuildIndexers ( )

◆ Remap()

void FMeshDescription::Remap ( const FElementIDRemappings Remappings)

Remaps the element IDs in the mesh description according to the passed in object

◆ RemapPolygonGroups()

void FMeshDescription::RemapPolygonGroups ( const TMap< FPolygonGroupID, FPolygonGroupID > &  Remap)

Remaps polygon groups according to the supplied map

◆ ReserveNewEdges()

void FMeshDescription::ReserveNewEdges ( const int32  NumEdges)
inline

Reserves space for this number of new edges

◆ ReserveNewPolygonGroups()

void FMeshDescription::ReserveNewPolygonGroups ( const int32  NumPolygonGroups)
inline

Reserves space for this number of new polygon groups

◆ ReserveNewPolygons()

void FMeshDescription::ReserveNewPolygons ( const int32  NumPolygons)
inline

Reserves space for this number of new polygons

◆ ReserveNewTriangles()

void FMeshDescription::ReserveNewTriangles ( const int32  NumTriangles)
inline

Reserves space for this number of new triangles

◆ ReserveNewUVs()

void FMeshDescription::ReserveNewUVs ( const int32  NumUVs,
const int32  UVChannel = 0 
)
inline

Reserves space for this number of new UVs

◆ ReserveNewVertexInstances()

void FMeshDescription::ReserveNewVertexInstances ( const int32  NumVertexInstances)
inline

Reserves space for this number of new vertex instances

◆ ReserveNewVertices()

void FMeshDescription::ReserveNewVertices ( const int32  NumVertices)
inline

Reserves space for this number of new vertices

◆ ResetIndexers()

void FMeshDescription::ResetIndexers ( )

◆ ResumeEdgeIndexing()

void FMeshDescription::ResumeEdgeIndexing ( )
inline

◆ ResumePolygonGroupIndexing()

void FMeshDescription::ResumePolygonGroupIndexing ( )
inline

◆ ResumePolygonIndexing()

void FMeshDescription::ResumePolygonIndexing ( )
inline

◆ ResumeUVIndexing()

void FMeshDescription::ResumeUVIndexing ( )
inline

◆ ResumeVertexIndexing()

void FMeshDescription::ResumeVertexIndexing ( )
inline

◆ ResumeVertexInstanceIndexing()

void FMeshDescription::ResumeVertexInstanceIndexing ( )
inline

◆ ReverseAllPolygonFacing()

void FMeshDescription::ReverseAllPolygonFacing ( )

Reverses the winding order of all polygons in the mesh

◆ ReversePolygonFacing()

void FMeshDescription::ReversePolygonFacing ( const FPolygonID  PolygonID)

Reverse the winding order of the vertices of this polygon

◆ ReverseTriangleFacing()

void FMeshDescription::ReverseTriangleFacing ( const FTriangleID  TriangleID)

Reverse the winding order of the vertices of this triangle

◆ Serialize()

void FMeshDescription::Serialize ( FArchive Ar)

◆ SerializeLegacy()

void FMeshDescription::SerializeLegacy ( FArchive Ar)

◆ SetNumUVChannels()

void FMeshDescription::SetNumUVChannels ( const int32  NumUVChannels)

Sets the specified number of UV channels

◆ SetPolygonPolygonGroup()

void FMeshDescription::SetPolygonPolygonGroup ( const FPolygonID  PolygonID,
const FPolygonGroupID  PolygonGroupID 
)
inline

Sets the polygon group associated with a polygon

◆ SetPolygonVertexInstance()

void FMeshDescription::SetPolygonVertexInstance ( const FPolygonID  PolygonID,
const int32  PerimeterIndex,
const FVertexInstanceID  VertexInstanceID 
)

Set the vertex instance at the given index around the polygon to the new value

◆ SetPolygonVertexInstances()

void FMeshDescription::SetPolygonVertexInstances ( const FPolygonID  PolygonID,
TArrayView< const FVertexInstanceID VertexInstanceIDs 
)

◆ SetTriangleUVIndices()

void FMeshDescription::SetTriangleUVIndices ( const FTriangleID  TriangleID,
TArrayView< const FUVID UVIDs,
int32  UVChannel = 0 
)

Set the UV indices for this triangle

◆ SplitPolygon()

void FMeshDescription::SplitPolygon ( FPolygonID  PolygonID)

◆ SuspendEdgeIndexing()

void FMeshDescription::SuspendEdgeIndexing ( )
inline

◆ SuspendPolygonGroupIndexing()

void FMeshDescription::SuspendPolygonGroupIndexing ( )
inline

◆ SuspendPolygonIndexing()

void FMeshDescription::SuspendPolygonIndexing ( )
inline

◆ SuspendUVIndexing()

void FMeshDescription::SuspendUVIndexing ( )
inline

◆ SuspendVertexIndexing()

void FMeshDescription::SuspendVertexIndexing ( )
inline

◆ SuspendVertexInstanceIndexing()

void FMeshDescription::SuspendVertexInstanceIndexing ( )
inline

◆ TransferPolygonGroup()

void FMeshDescription::TransferPolygonGroup ( FPolygonGroupID  SourceID,
FPolygonGroupID  DestinationID 
)

Transfer the source polygon group data to the destination polygon group. The source data is append to the destination

◆ TriangleAttributes() [1/2]

TAttributesSet< FTriangleID > & FMeshDescription::TriangleAttributes ( )
inline

◆ TriangleAttributes() [2/2]

const TAttributesSet< FTriangleID > & FMeshDescription::TriangleAttributes ( ) const
inline

◆ Triangles() [1/2]

FTriangleArray & FMeshDescription::Triangles ( )
inline

◆ Triangles() [2/2]

const FTriangleArray & FMeshDescription::Triangles ( ) const
inline

◆ TriangulateMesh()

void FMeshDescription::TriangulateMesh ( )

Retriangulates the entire mesh

◆ UVAttributes() [1/2]

TAttributesSet< FUVID > & FMeshDescription::UVAttributes ( int32  Index)
inline

◆ UVAttributes() [2/2]

const TAttributesSet< FUVID > & FMeshDescription::UVAttributes ( int32  Index) const
inline

◆ UVs() [1/2]

FUVArray & FMeshDescription::UVs ( int32  Index)
inline

◆ UVs() [2/2]

const FUVArray & FMeshDescription::UVs ( int32  Index) const
inline

◆ VertexAttributes() [1/2]

TAttributesSet< FVertexID > & FMeshDescription::VertexAttributes ( )
inline

◆ VertexAttributes() [2/2]

const TAttributesSet< FVertexID > & FMeshDescription::VertexAttributes ( ) const
inline

◆ VertexInstanceAttributes() [1/2]

TAttributesSet< FVertexInstanceID > & FMeshDescription::VertexInstanceAttributes ( )
inline

◆ VertexInstanceAttributes() [2/2]

const TAttributesSet< FVertexInstanceID > & FMeshDescription::VertexInstanceAttributes ( ) const
inline

◆ VertexInstances() [1/2]

FVertexInstanceArray & FMeshDescription::VertexInstances ( )
inline

◆ VertexInstances() [2/2]

const FVertexInstanceArray & FMeshDescription::VertexInstances ( ) const
inline

◆ Vertices() [1/2]

FVertexArray & FMeshDescription::Vertices ( )
inline

◆ Vertices() [2/2]

const FVertexArray & FMeshDescription::Vertices ( ) const
inline

Friends And Related Symbol Documentation

◆ operator<<

FArchive & operator<< ( FArchive Ar,
FMeshDescription MeshDescription 
)
friend

Member Data Documentation

◆ EdgesName

FName FMeshDescription::EdgesName
static

◆ PolygonGroupsName

FName FMeshDescription::PolygonGroupsName
static

◆ PolygonsName

FName FMeshDescription::PolygonsName
static

◆ TrianglesName

FName FMeshDescription::TrianglesName
static

◆ UVsName

FName FMeshDescription::UVsName
static

◆ VertexInstancesName

FName FMeshDescription::VertexInstancesName
static

◆ VerticesName

FName FMeshDescription::VerticesName
static

The documentation for this struct was generated from the following files: