|
| btSortedOverlappingPairCache () |
|
virtual | ~btSortedOverlappingPairCache () |
|
virtual void | processAllOverlappingPairs (btOverlapCallback *, btDispatcher *dispatcher) |
|
void * | removeOverlappingPair (btBroadphaseProxy *proxy0, btBroadphaseProxy *proxy1, btDispatcher *dispatcher) |
|
void | cleanOverlappingPair (btBroadphasePair &pair, btDispatcher *dispatcher) |
|
btBroadphasePair * | addOverlappingPair (btBroadphaseProxy *proxy0, btBroadphaseProxy *proxy1) |
|
btBroadphasePair * | findPair (btBroadphaseProxy *proxy0, btBroadphaseProxy *proxy1) |
| this findPair becomes really slow. More...
|
|
void | cleanProxyFromPairs (btBroadphaseProxy *proxy, btDispatcher *dispatcher) |
|
void | removeOverlappingPairsContainingProxy (btBroadphaseProxy *proxy, btDispatcher *dispatcher) |
|
bool | needsBroadphaseCollision (btBroadphaseProxy *proxy0, btBroadphaseProxy *proxy1) const |
|
btBroadphasePairArray & | getOverlappingPairArray () |
|
const btBroadphasePairArray & | getOverlappingPairArray () const |
|
btBroadphasePair * | getOverlappingPairArrayPtr () |
|
const btBroadphasePair * | getOverlappingPairArrayPtr () const |
|
int | getNumOverlappingPairs () const |
|
btOverlapFilterCallback * | getOverlapFilterCallback () |
|
void | setOverlapFilterCallback (btOverlapFilterCallback *callback) |
|
virtual bool | hasDeferredRemoval () |
|
virtual void | setInternalGhostPairCallback (btOverlappingPairCallback *ghostPairCallback) |
|
virtual void | sortOverlappingPairs (btDispatcher *dispatcher) |
|
virtual | ~btOverlappingPairCache () |
|
virtual btBroadphasePair * | getOverlappingPairArrayPtr ()=0 |
|
virtual const btBroadphasePair * | getOverlappingPairArrayPtr () const =0 |
|
virtual btBroadphasePairArray & | getOverlappingPairArray ()=0 |
|
virtual void | cleanOverlappingPair (btBroadphasePair &pair, btDispatcher *dispatcher)=0 |
|
virtual int | getNumOverlappingPairs () const =0 |
|
virtual bool | needsBroadphaseCollision (btBroadphaseProxy *proxy0, btBroadphaseProxy *proxy1) const =0 |
|
virtual btOverlapFilterCallback * | getOverlapFilterCallback ()=0 |
|
virtual void | cleanProxyFromPairs (btBroadphaseProxy *proxy, btDispatcher *dispatcher)=0 |
|
virtual void | setOverlapFilterCallback (btOverlapFilterCallback *callback)=0 |
|
virtual void | processAllOverlappingPairs (btOverlapCallback *, btDispatcher *dispatcher)=0 |
|
virtual void | processAllOverlappingPairs (btOverlapCallback *callback, btDispatcher *dispatcher, const struct btDispatcherInfo &) |
|
virtual btBroadphasePair * | findPair (btBroadphaseProxy *proxy0, btBroadphaseProxy *proxy1)=0 |
|
virtual bool | hasDeferredRemoval ()=0 |
|
virtual void | setInternalGhostPairCallback (btOverlappingPairCallback *ghostPairCallback)=0 |
|
virtual void | sortOverlappingPairs (btDispatcher *dispatcher)=0 |
|
virtual | ~btOverlappingPairCallback () |
|
virtual btBroadphasePair * | addOverlappingPair (btBroadphaseProxy *proxy0, btBroadphaseProxy *proxy1)=0 |
|
virtual void * | removeOverlappingPair (btBroadphaseProxy *proxy0, btBroadphaseProxy *proxy1, btDispatcher *dispatcher)=0 |
|
virtual void | removeOverlappingPairsContainingProxy (btBroadphaseProxy *proxy0, btDispatcher *dispatcher)=0 |
|
btSortedOverlappingPairCache maintains the objects with overlapping AABB Typically managed by the Broadphase, Axis3Sweep or btSimpleBroadphase
Definition at line 258 of file btOverlappingPairCache.h.
this findPair becomes really slow.
Either sort the list to speedup the query, or use a different solution. It is mainly used for Removing overlapping pairs. Removal could be delayed. we could keep a linked list in each proxy, and store pair in one of the proxies (with lowest memory address) Also we can use a 2D bitmap, which can be useful for a future GPU implementation
Implements btOverlappingPairCache.
Definition at line 488 of file btOverlappingPairCache.cpp.