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

Disjoint set with additional storage to track the size of each set. More...

#include <SizedDisjointSet.h>

Public Member Functions

 FSizedDisjointSet ()=default
 
 FSizedDisjointSet (int32 NumIDs)
 
void Init (int32 NumIDs)
 
template<typename IsElementFunction >
void Init (int32 NumIDs, IsElementFunction IsElement)
 
int32 Union (int32 A, int32 B)
 
int32 Find (int32 Idx)
 
int32 FindWithoutCollapse (int32 Idx) const
 
int32 GetSize (int32 Idx) const
 
int32 CompactedGroupIndexToGroupID (TArray< int32 > *CompactIdxToGroupID, TArray< int32 > *GroupIDToCompactIdx, int32 MinGroupSize=1) const
 

Public Attributes

TArray< int32Parents
 
TArray< int32Sizes
 

Detailed Description

Disjoint set with additional storage to track the size of each set.

Constructor & Destructor Documentation

◆ FSizedDisjointSet() [1/2]

UE::Geometry::FSizedDisjointSet::FSizedDisjointSet ( )
default

◆ FSizedDisjointSet() [2/2]

UE::Geometry::FSizedDisjointSet::FSizedDisjointSet ( int32  NumIDs)
inline

Member Function Documentation

◆ CompactedGroupIndexToGroupID()

int32 UE::Geometry::FSizedDisjointSet::CompactedGroupIndexToGroupID ( TArray< int32 > *  CompactIdxToGroupID,
TArray< int32 > *  GroupIDToCompactIdx,
int32  MinGroupSize = 1 
) const
inline

Create mappings between compacted Group Index and group ID, where the compacted indices numbers the groups from 0 to NumGroups

Parameters
CompactIdxToGroupIDArray to fill with the Compact Index -> Original Group ID mapping. If null, array will not be set.
GroupIDToCompactIdxArray to fill with the Original Group ID -> Compact Index mapping. If null, array will not be set.
MinGroupSizeThe minimum size of group to consider. Groups smaller than this will not be counted.
Returns
The number of groups found

◆ Find()

int32 UE::Geometry::FSizedDisjointSet::Find ( int32  Idx)
inline

◆ FindWithoutCollapse()

int32 UE::Geometry::FSizedDisjointSet::FindWithoutCollapse ( int32  Idx) const
inline

◆ GetSize()

int32 UE::Geometry::FSizedDisjointSet::GetSize ( int32  Idx) const
inline

◆ Init() [1/2]

void UE::Geometry::FSizedDisjointSet::Init ( int32  NumIDs)
inline

◆ Init() [2/2]

void UE::Geometry::FSizedDisjointSet::Init ( int32  NumIDs,
IsElementFunction  IsElement 
)
inline

◆ Union()

int32 UE::Geometry::FSizedDisjointSet::Union ( int32  A,
int32  B 
)
inline

Member Data Documentation

◆ Parents

TArray<int32> UE::Geometry::FSizedDisjointSet::Parents

◆ Sizes

TArray<int32> UE::Geometry::FSizedDisjointSet::Sizes

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