UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
UE::Geometry::FDynamicSubmesh3 Struct Reference

#include <DynamicSubmesh3.h>

Public Member Functions

 FDynamicSubmesh3 ()
 
 FDynamicSubmesh3 (const FDynamicMesh3 *BaseMesh)
 
 FDynamicSubmesh3 (const FDynamicMesh3 *BaseMesh, const TArray< int > &Triangles, int WantComponents=(int) EMeshComponents::All, bool bAttributes=true)
 
const FDynamicMesh3GetBaseMesh () const
 
FDynamicMesh3GetSubmesh ()
 
const FDynamicMesh3GetSubmesh () const
 
const TSet< int > GetBaseBorderEdges () const
 
const TSet< int > GetBaseBoundaryEdges () const
 
const TSet< int > GetBaseBorderVertices () const
 
bool InBaseBorderEdges (int BaseEID) const
 
bool InBaseBoundaryEdges (int BaseEID) const
 
bool InBaseBorderVertices (int BaseVID) const
 
int MapVertexToSubmesh (int BaseVID) const
 
int MapVertexToBaseMesh (int SubVID) const
 
FIndex2i MapVerticesToSubmesh (FIndex2i VIDs) const
 
FIndex2i MapVerticesToBaseMesh (FIndex2i VIDs) const
 
void MapVerticesToSubmesh (TArrayView< int > &Vertices) const
 
int MapEdgeToSubmesh (int BaseEID) const
 
int MapEdgeToBaseMesh (int SubEID) const
 
void MapEdgesToSubmesh (TArrayView< int > &Edges) const
 
int MapTriangleToSubmesh (int BaseTID) const
 
int MapTriangleToBaseMesh (int SubTID) const
 
void MapTrianglesToSubmesh (TArrayView< int > &Triangles) const
 
int MapGroupToSubmesh (int BaseGID) const
 
int MapGroupToBaseMesh (int SubGID) const
 
void MapGroupsToSubmesh (TArrayView< int32 > GroupIDs) const
 
int MapNormalToSubmesh (int NormalLayer, int BaseNID) const
 
int MapNormalToBaseMesh (int NormalLayer, int SubNID) const
 
int MapUVToSubmesh (int UVLayer, int BaseUVID) const
 
int MapUVToBaseMesh (int UVLayer, int SubUVID) const
 
int MapColorToSubmesh (int BaseCID) const
 
int MapColorToBaseMesh (int SubCID) const
 
void Compute (const TArrayView< const int > &SubTriangles, int WantComponents=(int) EMeshComponents::All, bool bAttributes=true)
 
void Compute (FDynamicMesh3 *Base, const TArrayView< const int > &Triangles, int WantComponents=(int) EMeshComponents::All, bool bAttributes=true)
 

Public Attributes

bool bComputeTriMaps = true
 

Protected Member Functions

void ComputeBoundaryInfo (const TArrayView< const int > &SubTriangles)
 

Protected Attributes

const FDynamicMesh3BaseMesh
 
FDynamicMesh3 Submesh
 
FMeshIndexMappings Mappings
 
TSet< int > BaseBorderE
 
TSet< int > BaseBoundaryE
 
TSet< int > BaseBorderV
 

Constructor & Destructor Documentation

◆ FDynamicSubmesh3() [1/3]

UE::Geometry::FDynamicSubmesh3::FDynamicSubmesh3 ( )
inline

Default constructor

◆ FDynamicSubmesh3() [2/3]

UE::Geometry::FDynamicSubmesh3::FDynamicSubmesh3 ( const FDynamicMesh3 BaseMesh)
inline

Base mesh-only constructor; does not build submesh

◆ FDynamicSubmesh3() [3/3]

UE::Geometry::FDynamicSubmesh3::FDynamicSubmesh3 ( const FDynamicMesh3 BaseMesh,
const TArray< int > &  Triangles,
int  WantComponents = (int)EMeshComponents::All,
bool  bAttributes = true 
)
inline

Constructor sets the base mesh and computes the submesh

Member Function Documentation

◆ Compute() [1/2]

void UE::Geometry::FDynamicSubmesh3::Compute ( const TArrayView< const int > &  SubTriangles,
int  WantComponents = (int)EMeshComponents::All,
bool  bAttributes = true 
)
inline

Computes the Submesh object, index mappings corresponding sub to base mesh, and boundary between sub and base mesh

Parameters
SubTrianglesArrayView of triangle IDs to include in the submesh
WantComponentsBit flag of desired mesh components; will only enable if flag is set AND the components are enabled in the BaseMesh
bAttributesFlag indicating if attributes are needed for submesh; will only enable attributes if flag is set AND attributes are enabled in the BaseMesh

◆ Compute() [2/2]

void UE::Geometry::FDynamicSubmesh3::Compute ( FDynamicMesh3 Base,
const TArrayView< const int > &  Triangles,
int  WantComponents = (int)EMeshComponents::All,
bool  bAttributes = true 
)
inline

Computes submesh object, setting a new BaseMesh first

◆ ComputeBoundaryInfo()

void UE::Geometry::FDynamicSubmesh3::ComputeBoundaryInfo ( const TArrayView< const int > &  SubTriangles)
inlineprotected

Compute boundary vertices and edges between the SubTriangles and the rest of the mesh Called by Compute after the Submesh is computed.

◆ GetBaseBorderEdges()

const TSet< int > UE::Geometry::FDynamicSubmesh3::GetBaseBorderEdges ( ) const
inline
Returns
set of internal border edge indices on base mesh. Does not include mesh boundary edges.

◆ GetBaseBorderVertices()

const TSet< int > UE::Geometry::FDynamicSubmesh3::GetBaseBorderVertices ( ) const
inline
Returns
set of border vertex indices on base mesh (ie verts of BaseBorderE - does not include mesh boundary vertices)

◆ GetBaseBoundaryEdges()

const TSet< int > UE::Geometry::FDynamicSubmesh3::GetBaseBoundaryEdges ( ) const
inline
Returns
set of mesh-boundary edges on base mesh that are in submesh

◆ GetBaseMesh()

const FDynamicMesh3 * UE::Geometry::FDynamicSubmesh3::GetBaseMesh ( ) const
inline

const accessor for base mesh

◆ GetSubmesh() [1/2]

FDynamicMesh3 & UE::Geometry::FDynamicSubmesh3::GetSubmesh ( )
inline

accessor for submesh

◆ GetSubmesh() [2/2]

const FDynamicMesh3 & UE::Geometry::FDynamicSubmesh3::GetSubmesh ( ) const
inline

const accessor for submesh

◆ InBaseBorderEdges()

bool UE::Geometry::FDynamicSubmesh3::InBaseBorderEdges ( int  BaseEID) const
inline
Returns
true if edge ID is in base border edge ID set

◆ InBaseBorderVertices()

bool UE::Geometry::FDynamicSubmesh3::InBaseBorderVertices ( int  BaseVID) const
inline
Returns
true if vertex ID is in base border vertex ID set

◆ InBaseBoundaryEdges()

bool UE::Geometry::FDynamicSubmesh3::InBaseBoundaryEdges ( int  BaseEID) const
inline
Returns
true if edge ID is in base boundary edge ID set

◆ MapColorToBaseMesh()

int UE::Geometry::FDynamicSubmesh3::MapColorToBaseMesh ( int  SubCID) const
inline
Returns
Vertex Color ID in the base mesh, mapped from the submesh

◆ MapColorToSubmesh()

int UE::Geometry::FDynamicSubmesh3::MapColorToSubmesh ( int  BaseCID) const
inline
Returns
Vertex Color ID in the submesh, mapped from the base mesh

◆ MapEdgesToSubmesh()

void UE::Geometry::FDynamicSubmesh3::MapEdgesToSubmesh ( TArrayView< int > &  Edges) const
inline
Parameters
EdgesArray of edge IDs in base mesh that will all be changed to the corresponding IDs in the submesh

◆ MapEdgeToBaseMesh()

int UE::Geometry::FDynamicSubmesh3::MapEdgeToBaseMesh ( int  SubEID) const
inline
Returns
Edge ID in base mesh, mapped from submesh

◆ MapEdgeToSubmesh()

int UE::Geometry::FDynamicSubmesh3::MapEdgeToSubmesh ( int  BaseEID) const
inline
Returns
Edge ID in submesh, mapped from base mesh

◆ MapGroupsToSubmesh()

void UE::Geometry::FDynamicSubmesh3::MapGroupsToSubmesh ( TArrayView< int32 GroupIDs) const
inline
Parameters
GroupIDsArray of group IDs in the base mesh that will all be changed to the corresponding IDs in the submesh

◆ MapGroupToBaseMesh()

int UE::Geometry::FDynamicSubmesh3::MapGroupToBaseMesh ( int  SubGID) const
inline
Returns
Group ID in the base mesh, mapped from submesh

◆ MapGroupToSubmesh()

int UE::Geometry::FDynamicSubmesh3::MapGroupToSubmesh ( int  BaseGID) const
inline
Returns
Group ID in the submesh, mapped from base mesh

◆ MapNormalToBaseMesh()

int UE::Geometry::FDynamicSubmesh3::MapNormalToBaseMesh ( int  NormalLayer,
int  SubNID 
) const
inline
Returns
Normal ID in the base mesh, mapped from the submesh

◆ MapNormalToSubmesh()

int UE::Geometry::FDynamicSubmesh3::MapNormalToSubmesh ( int  NormalLayer,
int  BaseNID 
) const
inline
Returns
Normal ID in the submesh, mapped from the base mesh

◆ MapTrianglesToSubmesh()

void UE::Geometry::FDynamicSubmesh3::MapTrianglesToSubmesh ( TArrayView< int > &  Triangles) const
inline
Parameters
TrianglesArray of triangle IDs in the base mesh that will all be changed to the corresponding IDs in the submesh

◆ MapTriangleToBaseMesh()

int UE::Geometry::FDynamicSubmesh3::MapTriangleToBaseMesh ( int  SubTID) const
inline
Returns
Triangle ID in the base mesh, mapped from submesh

◆ MapTriangleToSubmesh()

int UE::Geometry::FDynamicSubmesh3::MapTriangleToSubmesh ( int  BaseTID) const
inline
Returns
Triangle ID in the submesh, mapped from base mesh

◆ MapUVToBaseMesh()

int UE::Geometry::FDynamicSubmesh3::MapUVToBaseMesh ( int  UVLayer,
int  SubUVID 
) const
inline
Returns
UV ID in the base mesh, mapped from the submesh

◆ MapUVToSubmesh()

int UE::Geometry::FDynamicSubmesh3::MapUVToSubmesh ( int  UVLayer,
int  BaseUVID 
) const
inline
Returns
UV ID in the submesh, mapped from the base mesh

◆ MapVertexToBaseMesh()

int UE::Geometry::FDynamicSubmesh3::MapVertexToBaseMesh ( int  SubVID) const
inline
Returns
Vertex ID in base mesh, mapped from submesh

◆ MapVertexToSubmesh()

int UE::Geometry::FDynamicSubmesh3::MapVertexToSubmesh ( int  BaseVID) const
inline
Returns
Vertex ID in submesh, mapped from base mesh

◆ MapVerticesToBaseMesh()

FIndex2i UE::Geometry::FDynamicSubmesh3::MapVerticesToBaseMesh ( FIndex2i  VIDs) const
inline
Returns
Pair of vertex IDs in base mesh, mapped from submesh

◆ MapVerticesToSubmesh() [1/2]

FIndex2i UE::Geometry::FDynamicSubmesh3::MapVerticesToSubmesh ( FIndex2i  VIDs) const
inline
Returns
Pair of vertex IDs in submesh, mapped from base mesh

◆ MapVerticesToSubmesh() [2/2]

void UE::Geometry::FDynamicSubmesh3::MapVerticesToSubmesh ( TArrayView< int > &  Vertices) const
inline
Parameters
VerticesArray of vertex IDs in base mesh that will all be changed to the corresponding IDs in the submesh

Member Data Documentation

◆ BaseBorderE

TSet<int> UE::Geometry::FDynamicSubmesh3::BaseBorderE
protected

◆ BaseBorderV

TSet<int> UE::Geometry::FDynamicSubmesh3::BaseBorderV
protected

◆ BaseBoundaryE

TSet<int> UE::Geometry::FDynamicSubmesh3::BaseBoundaryE
protected

◆ BaseMesh

const FDynamicMesh3* UE::Geometry::FDynamicSubmesh3::BaseMesh
protected

◆ bComputeTriMaps

bool UE::Geometry::FDynamicSubmesh3::bComputeTriMaps = true

Whether to compute triangle maps (adds additional cost). True by default.

◆ Mappings

FMeshIndexMappings UE::Geometry::FDynamicSubmesh3::Mappings
protected

◆ Submesh

FDynamicMesh3 UE::Geometry::FDynamicSubmesh3::Submesh
protected

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