Blender V2.61 - r43446
|
#include <btDispatcher.h>
Public Member Functions | |
virtual | ~btDispatcher () |
virtual btCollisionAlgorithm * | findAlgorithm (btCollisionObject *body0, btCollisionObject *body1, btPersistentManifold *sharedManifold=0)=0 |
virtual btPersistentManifold * | getNewManifold (void *body0, void *body1)=0 |
virtual void | releaseManifold (btPersistentManifold *manifold)=0 |
virtual void | clearManifold (btPersistentManifold *manifold)=0 |
virtual bool | needsCollision (btCollisionObject *body0, btCollisionObject *body1)=0 |
virtual bool | needsResponse (btCollisionObject *body0, btCollisionObject *body1)=0 |
virtual void | dispatchAllCollisionPairs (btOverlappingPairCache *pairCache, const btDispatcherInfo &dispatchInfo, btDispatcher *dispatcher)=0 |
virtual int | getNumManifolds () const =0 |
virtual btPersistentManifold * | getManifoldByIndexInternal (int index)=0 |
virtual btPersistentManifold ** | getInternalManifoldPointer ()=0 |
virtual void * | allocateCollisionAlgorithm (int size)=0 |
virtual void | freeCollisionAlgorithm (void *ptr)=0 |
The btDispatcher interface class can be used in combination with broadphase to dispatch calculations for overlapping pairs. For example for pairwise collision detection, calculating contact points stored in btPersistentManifold or user callbacks (game logic).
Definition at line 74 of file btDispatcher.h.
btDispatcher::~btDispatcher | ( | ) | [virtual] |
Definition at line 18 of file btDispatcher.cpp.
virtual void* btDispatcher::allocateCollisionAlgorithm | ( | int | size | ) | [pure virtual] |
Implemented in btCollisionDispatcher.
Referenced by btCompoundCollisionAlgorithm::SwappedCreateFunc::CreateCollisionAlgorithm(), btConvex2dConvex2dAlgorithm::CreateFunc::CreateCollisionAlgorithm(), btConvexPlaneCollisionAlgorithm::CreateFunc::CreateCollisionAlgorithm(), btGImpactCollisionAlgorithm::CreateFunc::CreateCollisionAlgorithm(), btConvexConcaveCollisionAlgorithm::SwappedCreateFunc::CreateCollisionAlgorithm(), btSphereBoxCollisionAlgorithm::CreateFunc::CreateCollisionAlgorithm(), btSphereSphereCollisionAlgorithm::CreateFunc::CreateCollisionAlgorithm(), btSphereTriangleCollisionAlgorithm::CreateFunc::CreateCollisionAlgorithm(), btEmptyAlgorithm::CreateFunc::CreateCollisionAlgorithm(), btSoftRigidCollisionAlgorithm::CreateFunc::CreateCollisionAlgorithm(), btSoftSoftCollisionAlgorithm::CreateFunc::CreateCollisionAlgorithm(), btBoxBoxCollisionAlgorithm::CreateFunc::CreateCollisionAlgorithm(), btCompoundCollisionAlgorithm::CreateFunc::CreateCollisionAlgorithm(), btSoftBodyConcaveCollisionAlgorithm::CreateFunc::CreateCollisionAlgorithm(), btBox2dBox2dCollisionAlgorithm::CreateFunc::CreateCollisionAlgorithm(), btSoftBodyConcaveCollisionAlgorithm::SwappedCreateFunc::CreateCollisionAlgorithm(), btConvexConvexAlgorithm::CreateFunc::CreateCollisionAlgorithm(), and btConvexConcaveCollisionAlgorithm::CreateFunc::CreateCollisionAlgorithm().
virtual void btDispatcher::clearManifold | ( | btPersistentManifold * | manifold | ) | [pure virtual] |
Implemented in btCollisionDispatcher.
Referenced by btConvexTriangleCallback::clearCache().
virtual void btDispatcher::dispatchAllCollisionPairs | ( | btOverlappingPairCache * | pairCache, |
const btDispatcherInfo & | dispatchInfo, | ||
btDispatcher * | dispatcher | ||
) | [pure virtual] |
virtual btCollisionAlgorithm* btDispatcher::findAlgorithm | ( | btCollisionObject * | body0, |
btCollisionObject * | body1, | ||
btPersistentManifold * | sharedManifold = 0 |
||
) | [pure virtual] |
Implemented in btCollisionDispatcher.
Referenced by btCollisionWorld::contactPairTest(), btGImpactCollisionAlgorithm::newAlgorithm(), btSingleContactCallback::process(), btCompoundLeafCallback::ProcessChildShape(), btSoftBodyTriangleCallback::processTriangle(), and btConvexTriangleCallback::processTriangle().
virtual void btDispatcher::freeCollisionAlgorithm | ( | void * | ptr | ) | [pure virtual] |
Implemented in btCollisionDispatcher.
Referenced by btSortedOverlappingPairCache::cleanOverlappingPair(), btHashedOverlappingPairCache::cleanOverlappingPair(), btCollisionWorld::contactPairTest(), btGImpactCollisionAlgorithm::destroyConvexAlgorithm(), btSingleContactCallback::process(), btCompoundCollisionAlgorithm::processCollision(), btSoftBodyTriangleCallback::processTriangle(), btConvexTriangleCallback::processTriangle(), and btGImpactCollisionAlgorithm::shape_vs_shape_collision().
virtual btPersistentManifold** btDispatcher::getInternalManifoldPointer | ( | ) | [pure virtual] |
Implemented in btCollisionDispatcher.
Referenced by btSimulationIslandManager::buildAndProcessIslands().
virtual btPersistentManifold* btDispatcher::getManifoldByIndexInternal | ( | int | index | ) | [pure virtual] |
Implemented in btCollisionDispatcher.
Referenced by btSimulationIslandManager::buildIslands(), CcdPhysicsEnvironment::CallbackTriggers(), and btCollisionWorld::debugDrawWorld().
virtual btPersistentManifold* btDispatcher::getNewManifold | ( | void * | body0, |
void * | body1 | ||
) | [pure virtual] |
Implemented in btCollisionDispatcher.
Referenced by btBox2dBox2dCollisionAlgorithm::btBox2dBox2dCollisionAlgorithm(), btBoxBoxCollisionAlgorithm::btBoxBoxCollisionAlgorithm(), btConvexPlaneCollisionAlgorithm::btConvexPlaneCollisionAlgorithm(), btConvexTriangleCallback::btConvexTriangleCallback(), btSphereBoxCollisionAlgorithm::btSphereBoxCollisionAlgorithm(), btSphereSphereCollisionAlgorithm::btSphereSphereCollisionAlgorithm(), btSphereTriangleCollisionAlgorithm::btSphereTriangleCollisionAlgorithm(), btGImpactCollisionAlgorithm::newContactManifold(), btConvexConvexAlgorithm::processCollision(), and btConvex2dConvex2dAlgorithm::processCollision().
virtual int btDispatcher::getNumManifolds | ( | ) | const [pure virtual] |
virtual bool btDispatcher::needsCollision | ( | btCollisionObject * | body0, |
btCollisionObject * | body1 | ||
) | [pure virtual] |
Implemented in btCollisionDispatcher.
Referenced by btBox2dBox2dCollisionAlgorithm::btBox2dBox2dCollisionAlgorithm(), btBoxBoxCollisionAlgorithm::btBoxBoxCollisionAlgorithm(), btConvexPlaneCollisionAlgorithm::btConvexPlaneCollisionAlgorithm(), and btSphereBoxCollisionAlgorithm::btSphereBoxCollisionAlgorithm().
virtual bool btDispatcher::needsResponse | ( | btCollisionObject * | body0, |
btCollisionObject * | body1 | ||
) | [pure virtual] |
Implemented in btCollisionDispatcher.
Referenced by btSimulationIslandManager::buildIslands(), CcdPhysicsEnvironment::CallbackTriggers(), and btClosestNotMeConvexResultCallback::needsCollision().
virtual void btDispatcher::releaseManifold | ( | btPersistentManifold * | manifold | ) | [pure virtual] |
Implemented in btCollisionDispatcher.
Referenced by btGImpactCollisionAlgorithm::destroyContactManifolds(), btBox2dBox2dCollisionAlgorithm::~btBox2dBox2dCollisionAlgorithm(), btBoxBoxCollisionAlgorithm::~btBoxBoxCollisionAlgorithm(), btConvex2dConvex2dAlgorithm::~btConvex2dConvex2dAlgorithm(), btConvexConvexAlgorithm::~btConvexConvexAlgorithm(), btConvexPlaneCollisionAlgorithm::~btConvexPlaneCollisionAlgorithm(), btConvexTriangleCallback::~btConvexTriangleCallback(), btSphereBoxCollisionAlgorithm::~btSphereBoxCollisionAlgorithm(), btSphereSphereCollisionAlgorithm::~btSphereSphereCollisionAlgorithm(), and btSphereTriangleCollisionAlgorithm::~btSphereTriangleCollisionAlgorithm().