Blender
V3.3
|
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 |
btElement & | getElement (int index) |
const btElement & | getElement (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) |
UnionFind calculates connected subsets.
Definition at line 35 of file btUnionFind.h.
btUnionFind::btUnionFind | ( | ) |
Definition at line 23 of file btUnionFind.cpp.
btUnionFind::~btUnionFind | ( | ) |
Definition at line 18 of file btUnionFind.cpp.
References Free().
void btUnionFind::allocate | ( | int | N | ) |
Definition at line 27 of file btUnionFind.cpp.
References N, and btAlignedObjectArray< T >::resize().
Referenced by reset().
|
inline |
Definition at line 71 of file btUnionFind.h.
Referenced by sortIslands(), btSimulationIslandManager::storeIslandActivationState(), and unite().
|
inline |
Definition at line 100 of file btUnionFind.h.
References btElement::m_id, and x.
void btUnionFind::Free | ( | ) |
Definition at line 31 of file btUnionFind.cpp.
References btAlignedObjectArray< T >::clear().
Referenced by ~btUnionFind().
|
inline |
Definition at line 59 of file btUnionFind.h.
Referenced by btSimulationIslandManagerMt::addBodiesToIslands(), btSimulationIslandManager::buildIslands(), btSimulationIslandManagerMt::buildIslands(), and btSimulationIslandManager::processIslands().
|
inline |
Definition at line 63 of file btUnionFind.h.
|
inline |
Definition at line 50 of file btUnionFind.h.
References btAlignedObjectArray< T >::size().
Referenced by btSimulationIslandManagerMt::addBodiesToIslands(), btSimulationIslandManager::buildIslands(), btSimulationIslandManagerMt::buildIslands(), btSimulationIslandManagerMt::initIslandPools(), and btSimulationIslandManager::processIslands().
|
inline |
Definition at line 54 of file btUnionFind.h.
References x.
void btUnionFind::reset | ( | int | N | ) |
Definition at line 36 of file btUnionFind.cpp.
References allocate(), and N.
Referenced by btSimulationIslandManager::initUnionFind().
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().
|
inline |
Definition at line 76 of file btUnionFind.h.
References find().
Referenced by btMultiBodyDynamicsWorld::calculateSimulationIslands(), and btSimulationIslandManager::findUnions().