Blender  V3.3
Public Member Functions | List of all members
btUnionFind Class Reference

UnionFind calculates connected subsets. More...

#include <btUnionFind.h>

Public Member Functions

 btUnionFind ()
 
 ~btUnionFind ()
 
void sortIslands ()
 
void reset (int N)
 
SIMD_FORCE_INLINE int getNumElements () const
 
SIMD_FORCE_INLINE bool isRoot (int x) const
 
btElementgetElement (int index)
 
const btElementgetElement (int index) const
 
void allocate (int N)
 
void Free ()
 
int find (int p, int q)
 
void unite (int p, int q)
 
int find (int x)
 

Detailed Description

UnionFind calculates connected subsets.

Definition at line 35 of file btUnionFind.h.

Constructor & Destructor Documentation

◆ btUnionFind()

btUnionFind::btUnionFind ( )

Definition at line 23 of file btUnionFind.cpp.

◆ ~btUnionFind()

btUnionFind::~btUnionFind ( )

Definition at line 18 of file btUnionFind.cpp.

References Free().

Member Function Documentation

◆ allocate()

void btUnionFind::allocate ( int  N)

Definition at line 27 of file btUnionFind.cpp.

References N, and btAlignedObjectArray< T >::resize().

Referenced by reset().

◆ find() [1/2]

int btUnionFind::find ( int  p,
int  q 
)
inline

◆ find() [2/2]

int btUnionFind::find ( int  x)
inline

Definition at line 100 of file btUnionFind.h.

References btElement::m_id, and x.

◆ Free()

void btUnionFind::Free ( )

Definition at line 31 of file btUnionFind.cpp.

References btAlignedObjectArray< T >::clear().

Referenced by ~btUnionFind().

◆ getElement() [1/2]

btElement& btUnionFind::getElement ( int  index)
inline

◆ getElement() [2/2]

const btElement& btUnionFind::getElement ( int  index) const
inline

Definition at line 63 of file btUnionFind.h.

◆ getNumElements()

SIMD_FORCE_INLINE int btUnionFind::getNumElements ( ) const
inline

◆ isRoot()

SIMD_FORCE_INLINE bool btUnionFind::isRoot ( int  x) const
inline

Definition at line 54 of file btUnionFind.h.

References x.

◆ reset()

void btUnionFind::reset ( int  N)

Definition at line 36 of file btUnionFind.cpp.

References allocate(), and N.

Referenced by btSimulationIslandManager::initUnionFind().

◆ sortIslands()

void btUnionFind::sortIslands ( )

this is a special operation, destroying the content of btUnionFind. it sorts the elements, based on island id, in order to make it easy to iterate over islands

Definition at line 58 of file btUnionFind.cpp.

References find(), btAlignedObjectArray< T >::quickSort(), and btAlignedObjectArray< T >::size().

Referenced by btSimulationIslandManager::buildIslands(), and btSimulationIslandManagerMt::buildIslands().

◆ unite()

void btUnionFind::unite ( int  p,
int  q 
)
inline

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