16 #ifndef BT_HASHED_SIMPLE_PAIR_CACHE_H
17 #define BT_HASHED_SIMPLE_PAIR_CACHE_H
88 return &m_overlappingPairArray[0];
93 return &m_overlappingPairArray[0];
113 return m_overlappingPairArray.
size();
130 int key =
static_cast<int>(((
unsigned int)indexA) | (((
unsigned int)indexB) <<16));
139 return static_cast<unsigned int>(key);
149 int index = m_hashTable[hash];
153 index = m_next[index];
163 return &m_overlappingPairArray[index];
172 #endif //BT_HASHED_SIMPLE_PAIR_CACHE_H
const btSimplePairArray & getOverlappingPairArray() const
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 btSimplePair * getOverlappingPairArrayPtr() const
btHashedSimplePairCache()
const int BT_SIMPLE_NULL_PAIR
int size() const
return the number of elements in the array
btAlignedObjectArray< int > m_hashTable
btAlignedObjectArray< btSimplePair > btSimplePairArray
bool equalsPair(const btSimplePair &pair, int indexA, int indexB)
int getNumOverlappingPairs() const
btSimplePair * findPair(int indexA, int indexB)
virtual ~btHashedSimplePairCache()
btAlignedObjectArray< int > m_next
virtual void * removeOverlappingPair(int indexA, int indexB)
btSimplePairArray m_overlappingPairArray
btSimplePair * internalAddPair(int indexA, int indexB)
btSimplePair(int indexA, int indexB)