16 #ifndef BT_HASHED_SIMPLE_PAIR_CACHE_H 17 #define BT_HASHED_SIMPLE_PAIR_CACHE_H 70 void removeAllPairs();
72 virtual void* removeOverlappingPair(
int indexA,
int indexB);
80 return internalAddPair(indexA,indexB);
86 return &m_overlappingPairArray[0];
91 return &m_overlappingPairArray[0];
96 return m_overlappingPairArray;
101 return m_overlappingPairArray;
111 return m_overlappingPairArray.
size();
128 unsigned int key = indexA | (indexB << 16);
147 int index = m_hashTable[hash];
149 while( index !=
BT_SIMPLE_NULL_PAIR && equalsPair(m_overlappingPairArray[index], proxyIdA, proxyIdB) ==
false)
151 index = m_next[index];
161 return &m_overlappingPairArray[index];
170 #endif //BT_HASHED_SIMPLE_PAIR_CACHE_H
virtual btSimplePair * addOverlappingPair(int indexA, int indexB)
unsigned int getHash(unsigned int indexA, unsigned int indexB)
btSimplePair * internalFindPair(int proxyIdA, int proxyIdB, int hash)
int gOverlappingSimplePairs
#define SIMD_FORCE_INLINE
btSimplePairArray & getOverlappingPairArray()
virtual btSimplePair * getOverlappingPairArrayPtr()
const int BT_SIMPLE_NULL_PAIR
const btSimplePairArray & getOverlappingPairArray() const
btAlignedObjectArray< int > m_hashTable
int getNumOverlappingPairs() const
btAlignedObjectArray< btSimplePair > btSimplePairArray
int size() const
return the number of elements in the array
bool equalsPair(const btSimplePair &pair, int indexA, int indexB)
const btSimplePair * getOverlappingPairArrayPtr() const
btAlignedObjectArray< int > m_next
btSimplePairArray m_overlappingPairArray
btSimplePair(int indexA, int indexB)