Bullet Collision Detection & Physics Library
Public Member Functions | Protected Attributes | Private Member Functions | Private Attributes | List of all members
btHashedOverlappingPairCache Class Reference

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>

Inheritance diagram for btHashedOverlappingPairCache:
Inheritance graph
[legend]
Collaboration diagram for btHashedOverlappingPairCache:
Collaboration graph
[legend]

Public Member Functions

 BT_DECLARE_ALIGNED_ALLOCATOR ()
 
 btHashedOverlappingPairCache ()
 
virtual ~btHashedOverlappingPairCache ()
 
void removeOverlappingPairsContainingProxy (btBroadphaseProxy *proxy, btDispatcher *dispatcher)
 
virtual void * removeOverlappingPair (btBroadphaseProxy *proxy0, btBroadphaseProxy *proxy1, btDispatcher *dispatcher)
 
bool needsBroadphaseCollision (btBroadphaseProxy *proxy0, btBroadphaseProxy *proxy1) const
 
virtual btBroadphasePairaddOverlappingPair (btBroadphaseProxy *proxy0, btBroadphaseProxy *proxy1)
 
void cleanProxyFromPairs (btBroadphaseProxy *proxy, btDispatcher *dispatcher)
 
virtual void processAllOverlappingPairs (btOverlapCallback *, btDispatcher *dispatcher)
 
virtual void processAllOverlappingPairs (btOverlapCallback *callback, btDispatcher *dispatcher, const struct btDispatcherInfo &dispatchInfo)
 
virtual btBroadphasePairgetOverlappingPairArrayPtr ()
 
const btBroadphasePairgetOverlappingPairArrayPtr () const
 
btBroadphasePairArraygetOverlappingPairArray ()
 
const btBroadphasePairArraygetOverlappingPairArray () const
 
void cleanOverlappingPair (btBroadphasePair &pair, btDispatcher *dispatcher)
 
btBroadphasePairfindPair (btBroadphaseProxy *proxy0, btBroadphaseProxy *proxy1)
 
int GetCount () const
 
btOverlapFilterCallbackgetOverlapFilterCallback ()
 
void setOverlapFilterCallback (btOverlapFilterCallback *callback)
 
int getNumOverlappingPairs () const
 
- Public Member Functions inherited from btOverlappingPairCache
virtual ~btOverlappingPairCache ()
 
- Public Member Functions inherited from btOverlappingPairCallback
virtual ~btOverlappingPairCallback ()
 

Protected Attributes

btAlignedObjectArray< int > m_hashTable
 
btAlignedObjectArray< int > m_next
 
btOverlappingPairCallbackm_ghostPairCallback
 

Private Member Functions

btBroadphasePairinternalAddPair (btBroadphaseProxy *proxy0, btBroadphaseProxy *proxy1)
 
void growTables ()
 
bool equalsPair (const btBroadphasePair &pair, int proxyId1, int proxyId2)
 
unsigned int getHash (unsigned int proxyId1, unsigned int proxyId2)
 
btBroadphasePairinternalFindPair (btBroadphaseProxy *proxy0, btBroadphaseProxy *proxy1, int hash)
 
virtual bool hasDeferredRemoval ()
 
virtual void setInternalGhostPairCallback (btOverlappingPairCallback *ghostPairCallback)
 
virtual void sortOverlappingPairs (btDispatcher *dispatcher)
 

Private Attributes

btBroadphasePairArray m_overlappingPairArray
 
btOverlapFilterCallbackm_overlapFilterCallback
 

Additional Inherited Members

- Protected Member Functions inherited from btOverlappingPairCallback
 btOverlappingPairCallback ()
 

Detailed Description

Hash-space based Pair Cache, thanks to Erin Catto, Box2D, http://www.box2d.org, and Pierre Terdiman, Codercorner, http://codercorner.com.

Definition at line 94 of file btOverlappingPairCache.h.

Constructor & Destructor Documentation

btHashedOverlappingPairCache::btHashedOverlappingPairCache ( )

Definition at line 30 of file btOverlappingPairCache.cpp.

btHashedOverlappingPairCache::~btHashedOverlappingPairCache ( )
virtual

Definition at line 42 of file btOverlappingPairCache.cpp.

Member Function Documentation

virtual btBroadphasePair* btHashedOverlappingPairCache::addOverlappingPair ( btBroadphaseProxy proxy0,
btBroadphaseProxy proxy1 
)
inlinevirtual

Implements btOverlappingPairCallback.

Definition at line 130 of file btOverlappingPairCache.h.

btHashedOverlappingPairCache::BT_DECLARE_ALIGNED_ALLOCATOR ( )
void btHashedOverlappingPairCache::cleanOverlappingPair ( btBroadphasePair pair,
btDispatcher dispatcher 
)
virtual

Implements btOverlappingPairCache.

Definition at line 48 of file btOverlappingPairCache.cpp.

void btHashedOverlappingPairCache::cleanProxyFromPairs ( btBroadphaseProxy proxy,
btDispatcher dispatcher 
)
virtual

Implements btOverlappingPairCache.

Definition at line 63 of file btOverlappingPairCache.cpp.

bool btHashedOverlappingPairCache::equalsPair ( const btBroadphasePair pair,
int  proxyId1,
int  proxyId2 
)
inlineprivate

Definition at line 196 of file btOverlappingPairCache.h.

btBroadphasePair * btHashedOverlappingPairCache::findPair ( btBroadphaseProxy proxy0,
btBroadphaseProxy proxy1 
)
virtual

Implements btOverlappingPairCache.

Definition at line 130 of file btOverlappingPairCache.cpp.

int btHashedOverlappingPairCache::GetCount ( ) const
inline

Definition at line 173 of file btOverlappingPairCache.h.

unsigned int btHashedOverlappingPairCache::getHash ( unsigned int  proxyId1,
unsigned int  proxyId2 
)
inlineprivate

Definition at line 218 of file btOverlappingPairCache.h.

int btHashedOverlappingPairCache::getNumOverlappingPairs ( ) const
inlinevirtual

Implements btOverlappingPairCache.

Definition at line 186 of file btOverlappingPairCache.h.

btOverlapFilterCallback* btHashedOverlappingPairCache::getOverlapFilterCallback ( )
inline

Definition at line 176 of file btOverlappingPairCache.h.

btBroadphasePairArray& btHashedOverlappingPairCache::getOverlappingPairArray ( )
inlinevirtual

Implements btOverlappingPairCache.

Definition at line 157 of file btOverlappingPairCache.h.

const btBroadphasePairArray& btHashedOverlappingPairCache::getOverlappingPairArray ( ) const
inline

Definition at line 162 of file btOverlappingPairCache.h.

virtual btBroadphasePair* btHashedOverlappingPairCache::getOverlappingPairArrayPtr ( )
inlinevirtual

Implements btOverlappingPairCache.

Definition at line 147 of file btOverlappingPairCache.h.

const btBroadphasePair* btHashedOverlappingPairCache::getOverlappingPairArrayPtr ( ) const
inlinevirtual

Implements btOverlappingPairCache.

Definition at line 152 of file btOverlappingPairCache.h.

void btHashedOverlappingPairCache::growTables ( )
private

Definition at line 165 of file btOverlappingPairCache.cpp.

virtual bool btHashedOverlappingPairCache::hasDeferredRemoval ( )
inlineprivatevirtual

Implements btOverlappingPairCache.

Definition at line 260 of file btOverlappingPairCache.h.

btBroadphasePair * btHashedOverlappingPairCache::internalAddPair ( btBroadphaseProxy proxy0,
btBroadphaseProxy proxy1 
)
private

Definition at line 207 of file btOverlappingPairCache.cpp.

btBroadphasePair* btHashedOverlappingPairCache::internalFindPair ( btBroadphaseProxy proxy0,
btBroadphaseProxy proxy1,
int  hash 
)
inlineprivate

Definition at line 234 of file btOverlappingPairCache.h.

bool btHashedOverlappingPairCache::needsBroadphaseCollision ( btBroadphaseProxy proxy0,
btBroadphaseProxy proxy1 
) const
inline

Definition at line 117 of file btOverlappingPairCache.h.

void btHashedOverlappingPairCache::processAllOverlappingPairs ( btOverlapCallback callback,
btDispatcher dispatcher 
)
virtual

Implements btOverlappingPairCache.

Definition at line 369 of file btOverlappingPairCache.cpp.

void btHashedOverlappingPairCache::processAllOverlappingPairs ( btOverlapCallback callback,
btDispatcher dispatcher,
const struct btDispatcherInfo dispatchInfo 
)
virtual

Reimplemented from btOverlappingPairCache.

Definition at line 410 of file btOverlappingPairCache.cpp.

void * btHashedOverlappingPairCache::removeOverlappingPair ( btBroadphaseProxy proxy0,
btBroadphaseProxy proxy1,
btDispatcher dispatcher 
)
virtual

Implements btOverlappingPairCallback.

Definition at line 266 of file btOverlappingPairCache.cpp.

void btHashedOverlappingPairCache::removeOverlappingPairsContainingProxy ( btBroadphaseProxy proxy,
btDispatcher dispatcher 
)
virtual

Implements btOverlappingPairCallback.

Definition at line 100 of file btOverlappingPairCache.cpp.

virtual void btHashedOverlappingPairCache::setInternalGhostPairCallback ( btOverlappingPairCallback ghostPairCallback)
inlineprivatevirtual

Implements btOverlappingPairCache.

Definition at line 265 of file btOverlappingPairCache.h.

void btHashedOverlappingPairCache::setOverlapFilterCallback ( btOverlapFilterCallback callback)
inlinevirtual

Implements btOverlappingPairCache.

Definition at line 181 of file btOverlappingPairCache.h.

void btHashedOverlappingPairCache::sortOverlappingPairs ( btDispatcher dispatcher)
privatevirtual

need to keep hashmap in sync with pair address, so rebuild all

Implements btOverlappingPairCache.

Definition at line 453 of file btOverlappingPairCache.cpp.

Member Data Documentation

btOverlappingPairCallback* btHashedOverlappingPairCache::m_ghostPairCallback
protected

Definition at line 103 of file btOverlappingPairCache.h.

btAlignedObjectArray<int> btHashedOverlappingPairCache::m_hashTable
protected

Definition at line 101 of file btOverlappingPairCache.h.

btAlignedObjectArray<int> btHashedOverlappingPairCache::m_next
protected

Definition at line 102 of file btOverlappingPairCache.h.

btOverlapFilterCallback* btHashedOverlappingPairCache::m_overlapFilterCallback
private

Definition at line 97 of file btOverlappingPairCache.h.

btBroadphasePairArray btHashedOverlappingPairCache::m_overlappingPairArray
private

Definition at line 96 of file btOverlappingPairCache.h.


The documentation for this class was generated from the following files: