16 #ifndef BT_UNION_FIND_H    17 #define BT_UNION_FIND_H    21 #define USE_PATH_COMPRESSION 1    24 #define STATIC_SIMULATION_ISLAND_OPTIMIZATION 1    54                   return int(m_elements.
size());
    58                   return (x == m_elements[x].
m_id);
    63                   return m_elements[index];
    67                   return m_elements[index];
    78                         return (find(p) == find(q)); 
    83                         int i = find(p), j = find(q);
    87 #ifndef USE_PATH_COMPRESSION    89                         if (m_elements[i].
m_sz < m_elements[j].
m_sz)
    91                                 m_elements[i].m_id = j; m_elements[j].m_sz += m_elements[i].m_sz; 
    95                                 m_elements[j].m_id = i; m_elements[i].m_sz += m_elements[j].m_sz; 
    98                         m_elements[i].m_id = j; m_elements[j].m_sz += m_elements[i].m_sz; 
    99 #endif //USE_PATH_COMPRESSION   107                         while (x != m_elements[x].
m_id) 
   111                 #ifdef USE_PATH_COMPRESSION   112                                 const btElement* elementPtr = &m_elements[m_elements[x].m_id];
   113                                 m_elements[x].m_id = elementPtr->
m_id;
   114                                 x = elementPtr->
m_id;                   
   116                                 x = m_elements[x].m_id;
   129 #endif //BT_UNION_FIND_H 
btElement & getElement(int index)
#define SIMD_FORCE_INLINE
UnionFind calculates connected subsets. 
int size() const 
return the number of elements in the array 
int getNumElements() const 
const btElement & getElement(int index) const 
btAlignedObjectArray< btElement > m_elements