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

#include <MeshEdgeSelection.h>

Public Member Functions

 FMeshEdgeSelection (const FDynamicMesh3 *mesh)
 
GEOMETRYCORE_API FMeshEdgeSelection (const FDynamicMesh3 *mesh, const FMeshVertexSelection &convertV, int minCount=2)
 
GEOMETRYCORE_API FMeshEdgeSelection (const FDynamicMesh3 *mesh, const FMeshFaceSelection &convertT, int minCount=1)
 
TSet< int > AsSet () const
 
TArray< int > AsArray () const
 
TBitArray< FDefaultBitArrayAllocatorAsBitArray () const
 
TSet< int >::TRangedForIterator begin ()
 
TSet< int >::TRangedForConstIterator begin () const
 
TSet< int >::TRangedForIterator end ()
 
TSet< int >::TRangedForConstIterator end () const
 
int Num ()
 
bool IsSelected (int eid)
 
void Select (int eid)
 
void Select (const TArray< int > &edges)
 
void Select (TArrayView< const int > edges)
 
void Select (TFunctionRef< bool(int)> SelectF)
 
void SelectVertexEdges (TArrayView< const int > vertices)
 
void SelectTriangleEdges (TArrayView< const int > Triangles)
 
void ExpandToOneRingNeighbors (TFunctionRef< bool(int32)> FilterF)
 
void ExpandToOneRingNeighbors ()
 
void ExpandToOneRingNeighbors (int NumRings, TFunctionRef< bool(int32)> FilterF)
 
void ExpandToOneRingNeighbors (int NumRings)
 
void ContractByBorderEdges (int32 nRings=1)
 
GEOMETRYCORE_API void SelectBoundaryTriEdges (const FMeshFaceSelection &Triangles)
 
void Deselect (int tid)
 
void Deselect (TArrayView< const int > edges)
 
void DeselectAll ()
 

Detailed Description

Currently a thin wrapper of a TSet<int> of Edge IDs paired with a Mesh; the backing storage will likely change as we need to optimize in the future

Constructor & Destructor Documentation

◆ FMeshEdgeSelection() [1/3]

UE::Geometry::FMeshEdgeSelection::FMeshEdgeSelection ( const FDynamicMesh3 mesh)
inline

◆ FMeshEdgeSelection() [2/3]

FMeshEdgeSelection::FMeshEdgeSelection ( const FDynamicMesh3 mesh,
const FMeshVertexSelection convertV,
int  minCount = 2 
)

◆ FMeshEdgeSelection() [3/3]

FMeshEdgeSelection::FMeshEdgeSelection ( const FDynamicMesh3 mesh,
const FMeshFaceSelection convertT,
int  minCount = 1 
)

Member Function Documentation

◆ AsArray()

TArray< int > UE::Geometry::FMeshEdgeSelection::AsArray ( ) const
inline

◆ AsBitArray()

TBitArray< FDefaultBitArrayAllocator > UE::Geometry::FMeshEdgeSelection::AsBitArray ( ) const
inline

◆ AsSet()

TSet< int > UE::Geometry::FMeshEdgeSelection::AsSet ( ) const
inline

◆ begin() [1/2]

TSet< int >::TRangedForIterator UE::Geometry::FMeshEdgeSelection::begin ( )
inline

DO NOT USE DIRECTLY STL-like iterators to enable range-based for loop support.

◆ begin() [2/2]

TSet< int >::TRangedForConstIterator UE::Geometry::FMeshEdgeSelection::begin ( ) const
inline

◆ ContractByBorderEdges()

void UE::Geometry::FMeshEdgeSelection::ContractByBorderEdges ( int32  nRings = 1)
inline

For each contraction, remove edges in current selection set that have any unselected edge neighboring either of the edge's vertices

◆ Deselect() [1/2]

void UE::Geometry::FMeshEdgeSelection::Deselect ( int  tid)
inline

◆ Deselect() [2/2]

void UE::Geometry::FMeshEdgeSelection::Deselect ( TArrayView< const int >  edges)
inline

◆ DeselectAll()

void UE::Geometry::FMeshEdgeSelection::DeselectAll ( )
inline

◆ end() [1/2]

TSet< int >::TRangedForIterator UE::Geometry::FMeshEdgeSelection::end ( )
inline

◆ end() [2/2]

TSet< int >::TRangedForConstIterator UE::Geometry::FMeshEdgeSelection::end ( ) const
inline

◆ ExpandToOneRingNeighbors() [1/4]

void UE::Geometry::FMeshEdgeSelection::ExpandToOneRingNeighbors ( )
inline

◆ ExpandToOneRingNeighbors() [2/4]

void UE::Geometry::FMeshEdgeSelection::ExpandToOneRingNeighbors ( int  NumRings)
inline

◆ ExpandToOneRingNeighbors() [3/4]

void UE::Geometry::FMeshEdgeSelection::ExpandToOneRingNeighbors ( int  NumRings,
TFunctionRef< bool(int32)>  FilterF 
)
inline

◆ ExpandToOneRingNeighbors() [4/4]

void UE::Geometry::FMeshEdgeSelection::ExpandToOneRingNeighbors ( TFunctionRef< bool(int32)>  FilterF)
inline

Add all one-ring neighbors of current selection to set. On a large selection this is quite expensive as we don't know the boundary, so we have to iterate over all selected edges.

Return false from FilterF to prevent vertices from being included.

◆ IsSelected()

bool UE::Geometry::FMeshEdgeSelection::IsSelected ( int  eid)
inline

◆ Num()

int UE::Geometry::FMeshEdgeSelection::Num ( )
inline

◆ Select() [1/4]

void UE::Geometry::FMeshEdgeSelection::Select ( const TArray< int > &  edges)
inline

◆ Select() [2/4]

void UE::Geometry::FMeshEdgeSelection::Select ( int  eid)
inline

◆ Select() [3/4]

void UE::Geometry::FMeshEdgeSelection::Select ( TArrayView< const int >  edges)
inline

◆ Select() [4/4]

void UE::Geometry::FMeshEdgeSelection::Select ( TFunctionRef< bool(int)>  SelectF)
inline

◆ SelectBoundaryTriEdges()

void FMeshEdgeSelection::SelectBoundaryTriEdges ( const FMeshFaceSelection Triangles)

◆ SelectTriangleEdges()

void UE::Geometry::FMeshEdgeSelection::SelectTriangleEdges ( TArrayView< const int >  Triangles)
inline

◆ SelectVertexEdges()

void UE::Geometry::FMeshEdgeSelection::SelectVertexEdges ( TArrayView< const int >  vertices)
inline

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