16#ifndef BT_HASHED_SIMPLE_PAIR_CACHE_H
17#define BT_HASHED_SIMPLE_PAIR_CACHE_H
42#ifdef BT_DEBUG_COLLISION_PAIRS
43extern int gOverlappingSimplePairs;
44extern int gRemoveSimplePairs;
45extern int gAddedSimplePairs;
46extern int gFindSimplePairs;
69#ifdef BT_DEBUG_COLLISION_PAIRS
73 return internalAddPair(indexA, indexB);
78 return &m_overlappingPairArray[0];
83 return &m_overlappingPairArray[0];
88 return m_overlappingPairArray;
93 return m_overlappingPairArray;
102 return m_overlappingPairArray.
size();
112 return pair.m_indexA == indexA && pair.m_indexB == indexB;
117 unsigned int key = indexA | (indexB << 16);
133 while (index !=
BT_SIMPLE_NULL_PAIR && equalsPair(m_overlappingPairArray[index], proxyIdA, proxyIdB) ==
false)
145 return &m_overlappingPairArray[index];
const int BT_SIMPLE_NULL_PAIR
btAlignedObjectArray< btSimplePair > btSimplePairArray
#define SIMD_FORCE_INLINE
SIMD_FORCE_INLINE int size() const
return the number of elements in the array
virtual ~btHashedSimplePairCache()
const btSimplePair * getOverlappingPairArrayPtr() const
const btSimplePairArray & getOverlappingPairArray() const
virtual btSimplePair * getOverlappingPairArrayPtr()
btAlignedObjectArray< int > m_hashTable
int getNumOverlappingPairs() const
btSimplePairArray & getOverlappingPairArray()
btAlignedObjectArray< int > m_next
btHashedSimplePairCache()
btSimplePair * findPair(int indexA, int indexB)
virtual btSimplePair * addOverlappingPair(int indexA, int indexB)
virtual void * removeOverlappingPair(int indexA, int indexB)
btSimplePair(int indexA, int indexB)