Hash-space based Pair Cache, thanks to Erin Catto, Box2D, http://www.box2d.org, and Pierre Terdiman, Codercorner, http://codercorner.com. More...
#include <btOverlappingPairCache.h>
Public Member Functions | |
virtual btBroadphasePair * | addOverlappingPair (btBroadphaseProxy *proxy0, btBroadphaseProxy *proxy1) |
btHashedOverlappingPairCache () | |
void | cleanOverlappingPair (btBroadphasePair &pair, btDispatcher *dispatcher) |
void | cleanProxyFromPairs (btBroadphaseProxy *proxy, btDispatcher *dispatcher) |
btBroadphasePair * | findPair (btBroadphaseProxy *proxy0, btBroadphaseProxy *proxy1) |
int | GetCount () const |
int | getNumOverlappingPairs () const |
btOverlapFilterCallback * | getOverlapFilterCallback () |
btBroadphasePairArray & | getOverlappingPairArray () |
const btBroadphasePairArray & | getOverlappingPairArray () const |
virtual btBroadphasePair * | getOverlappingPairArrayPtr () |
const btBroadphasePair * | getOverlappingPairArrayPtr () const |
SIMD_FORCE_INLINE bool | needsBroadphaseCollision (btBroadphaseProxy *proxy0, btBroadphaseProxy *proxy1) const |
virtual void | processAllOverlappingPairs (btOverlapCallback *, btDispatcher *dispatcher) |
virtual void * | removeOverlappingPair (btBroadphaseProxy *proxy0, btBroadphaseProxy *proxy1, btDispatcher *dispatcher) |
void | removeOverlappingPairsContainingProxy (btBroadphaseProxy *proxy, btDispatcher *dispatcher) |
void | setOverlapFilterCallback (btOverlapFilterCallback *callback) |
virtual | ~btHashedOverlappingPairCache () |
Protected Attributes | |
btOverlappingPairCallback * | m_ghostPairCallback |
btAlignedObjectArray< int > | m_hashTable |
btAlignedObjectArray< int > | m_next |
Private Member Functions | |
SIMD_FORCE_INLINE bool | equalsPair (const btBroadphasePair &pair, int proxyId1, int proxyId2) |
SIMD_FORCE_INLINE unsigned int | getHash (unsigned int proxyId1, unsigned int proxyId2) |
void | growTables () |
virtual bool | hasDeferredRemoval () |
btBroadphasePair * | internalAddPair (btBroadphaseProxy *proxy0, btBroadphaseProxy *proxy1) |
SIMD_FORCE_INLINE btBroadphasePair * | internalFindPair (btBroadphaseProxy *proxy0, btBroadphaseProxy *proxy1, int hash) |
virtual void | setInternalGhostPairCallback (btOverlappingPairCallback *ghostPairCallback) |
virtual void | sortOverlappingPairs (btDispatcher *dispatcher) |
Private Attributes | |
bool | m_blockedForChanges |
btOverlapFilterCallback * | m_overlapFilterCallback |
btBroadphasePairArray | m_overlappingPairArray |
Hash-space based Pair Cache, thanks to Erin Catto, Box2D, http://www.box2d.org, and Pierre Terdiman, Codercorner, http://codercorner.com.
Definition at line 93 of file btOverlappingPairCache.h.
virtual btHashedOverlappingPairCache::~btHashedOverlappingPairCache | ( | ) | [virtual] |
virtual btBroadphasePair* btHashedOverlappingPairCache::addOverlappingPair | ( | btBroadphaseProxy * | proxy0, |
btBroadphaseProxy * | proxy1 | ||
) | [inline, virtual] |
Implements btOverlappingPairCallback.
Definition at line 122 of file btOverlappingPairCache.h.
void btHashedOverlappingPairCache::cleanOverlappingPair | ( | btBroadphasePair & | pair, |
btDispatcher * | dispatcher | ||
) | [virtual] |
Implements btOverlappingPairCache.
void btHashedOverlappingPairCache::cleanProxyFromPairs | ( | btBroadphaseProxy * | proxy, |
btDispatcher * | dispatcher | ||
) | [virtual] |
Implements btOverlappingPairCache.
SIMD_FORCE_INLINE bool btHashedOverlappingPairCache::equalsPair | ( | const btBroadphasePair & | pair, |
int | proxyId1, | ||
int | proxyId2 | ||
) | [inline, private] |
Definition at line 188 of file btOverlappingPairCache.h.
btBroadphasePair* btHashedOverlappingPairCache::findPair | ( | btBroadphaseProxy * | proxy0, |
btBroadphaseProxy * | proxy1 | ||
) | [virtual] |
Implements btOverlappingPairCache.
int btHashedOverlappingPairCache::GetCount | ( | ) | const [inline] |
Definition at line 165 of file btOverlappingPairCache.h.
SIMD_FORCE_INLINE unsigned int btHashedOverlappingPairCache::getHash | ( | unsigned int | proxyId1, |
unsigned int | proxyId2 | ||
) | [inline, private] |
Definition at line 211 of file btOverlappingPairCache.h.
int btHashedOverlappingPairCache::getNumOverlappingPairs | ( | ) | const [inline, virtual] |
Implements btOverlappingPairCache.
Definition at line 178 of file btOverlappingPairCache.h.
Definition at line 168 of file btOverlappingPairCache.h.
btBroadphasePairArray& btHashedOverlappingPairCache::getOverlappingPairArray | ( | ) | [inline, virtual] |
Implements btOverlappingPairCache.
Definition at line 149 of file btOverlappingPairCache.h.
const btBroadphasePairArray& btHashedOverlappingPairCache::getOverlappingPairArray | ( | ) | const [inline] |
Definition at line 154 of file btOverlappingPairCache.h.
virtual btBroadphasePair* btHashedOverlappingPairCache::getOverlappingPairArrayPtr | ( | ) | [inline, virtual] |
Implements btOverlappingPairCache.
Definition at line 139 of file btOverlappingPairCache.h.
const btBroadphasePair* btHashedOverlappingPairCache::getOverlappingPairArrayPtr | ( | ) | const [inline, virtual] |
Implements btOverlappingPairCache.
Definition at line 144 of file btOverlappingPairCache.h.
void btHashedOverlappingPairCache::growTables | ( | ) | [private] |
virtual bool btHashedOverlappingPairCache::hasDeferredRemoval | ( | ) | [inline, private, virtual] |
Implements btOverlappingPairCache.
Definition at line 255 of file btOverlappingPairCache.h.
btBroadphasePair* btHashedOverlappingPairCache::internalAddPair | ( | btBroadphaseProxy * | proxy0, |
btBroadphaseProxy * | proxy1 | ||
) | [private] |
SIMD_FORCE_INLINE btBroadphasePair* btHashedOverlappingPairCache::internalFindPair | ( | btBroadphaseProxy * | proxy0, |
btBroadphaseProxy * | proxy1, | ||
int | hash | ||
) | [inline, private] |
Definition at line 229 of file btOverlappingPairCache.h.
SIMD_FORCE_INLINE bool btHashedOverlappingPairCache::needsBroadphaseCollision | ( | btBroadphaseProxy * | proxy0, |
btBroadphaseProxy * | proxy1 | ||
) | const [inline] |
Definition at line 109 of file btOverlappingPairCache.h.
virtual void btHashedOverlappingPairCache::processAllOverlappingPairs | ( | btOverlapCallback * | , |
btDispatcher * | dispatcher | ||
) | [virtual] |
Implements btOverlappingPairCache.
virtual void* btHashedOverlappingPairCache::removeOverlappingPair | ( | btBroadphaseProxy * | proxy0, |
btBroadphaseProxy * | proxy1, | ||
btDispatcher * | dispatcher | ||
) | [virtual] |
Implements btOverlappingPairCallback.
void btHashedOverlappingPairCache::removeOverlappingPairsContainingProxy | ( | btBroadphaseProxy * | proxy, |
btDispatcher * | dispatcher | ||
) | [virtual] |
Implements btOverlappingPairCallback.
virtual void btHashedOverlappingPairCache::setInternalGhostPairCallback | ( | btOverlappingPairCallback * | ghostPairCallback | ) | [inline, private, virtual] |
Implements btOverlappingPairCache.
Definition at line 260 of file btOverlappingPairCache.h.
void btHashedOverlappingPairCache::setOverlapFilterCallback | ( | btOverlapFilterCallback * | callback | ) | [inline, virtual] |
Implements btOverlappingPairCache.
Definition at line 173 of file btOverlappingPairCache.h.
virtual void btHashedOverlappingPairCache::sortOverlappingPairs | ( | btDispatcher * | dispatcher | ) | [private, virtual] |
Implements btOverlappingPairCache.
bool btHashedOverlappingPairCache::m_blockedForChanges [private] |
Definition at line 97 of file btOverlappingPairCache.h.
Definition at line 272 of file btOverlappingPairCache.h.
btAlignedObjectArray<int> btHashedOverlappingPairCache::m_hashTable [protected] |
Definition at line 270 of file btOverlappingPairCache.h.
btAlignedObjectArray<int> btHashedOverlappingPairCache::m_next [protected] |
Definition at line 271 of file btOverlappingPairCache.h.
Definition at line 96 of file btOverlappingPairCache.h.
Definition at line 95 of file btOverlappingPairCache.h.