Bullet Collision Detection & Physics Library
|
Go to the documentation of this file.
16 #ifndef BT_COLLISION__DISPATCHER_H
17 #define BT_COLLISION__DISPATCHER_H
34 #define USE_DISPATCH_REGISTRY_ARRAY 1
167 #endif //BT_COLLISION__DISPATCHER_H
btPoolAllocator * m_persistentManifoldPoolAllocator
btCollisionObject can be used to manage collision detection objects.
void(* btNearCallback)(btBroadphasePair &collisionPair, btCollisionDispatcher &dispatcher, const btDispatcherInfo &dispatchInfo)
user can override this nearcallback for collision filtering and more finegrained control over collisi...
btNearCallback getNearCallback() const
btPersistentManifold * getManifoldByIndexInternal(int index)
btAlignedObjectArray< btPersistentManifold * > m_manifoldsPtr
int getNumManifolds() const
btCollisionAlgorithmCreateFunc * m_doubleDispatchClosestPoints[MAX_BROADPHASE_COLLISION_TYPES][MAX_BROADPHASE_COLLISION_TYPES]
btCollisionConfiguration * m_collisionConfiguration
The btDispatcher interface class can be used in combination with broadphase to dispatch calculations ...
virtual void clearManifold(btPersistentManifold *manifold)
btPoolAllocator * m_collisionAlgorithmPoolAllocator
btManifoldResult m_defaultManifoldResult
btCollisionDispatcher supports algorithms that handle ConvexConvex and ConvexConcave collision pairs.
const btCollisionConfiguration * getCollisionConfiguration() const
btCollisionAlgorithm is an collision interface that is compatible with the Broadphase and btDispatche...
Used by the btCollisionDispatcher to register and create instances for btCollisionAlgorithm.
virtual void freeCollisionAlgorithm(void *ptr)
The btIDebugDraw interface class allows hooking up a debug renderer to visually debug simulations.
btManifoldResult is a helper class to manage contact results.
btCollisionAlgorithmCreateFunc * m_doubleDispatchContactPoints[MAX_BROADPHASE_COLLISION_TYPES][MAX_BROADPHASE_COLLISION_TYPES]
btCollisionAlgorithm * findAlgorithm(const btCollisionObjectWrapper *body0Wrap, const btCollisionObjectWrapper *body1Wrap, btPersistentManifold *sharedManifold, ebtDispatcherQueryType queryType)
The btOverlappingPairCache provides an interface for overlapping pair management (add,...
virtual btPersistentManifold * getNewManifold(const btCollisionObject *b0, const btCollisionObject *b1)
btCollisionConfiguration * getCollisionConfiguration()
btPersistentManifold is a contact point cache, it stays persistent as long as objects are overlapping...
btPersistentManifold ** getInternalManifoldPointer()
void setNearCallback(btNearCallback nearCallback)
void registerCollisionCreateFunc(int proxyType0, int proxyType1, btCollisionAlgorithmCreateFunc *createFunc)
registerCollisionCreateFunc allows registration of custom/alternative collision create functions
btCollisionDispatcher(btCollisionConfiguration *collisionConfiguration)
virtual void releaseManifold(btPersistentManifold *manifold)
virtual void * allocateCollisionAlgorithm(int size)
virtual const btPoolAllocator * getInternalManifoldPool() const
virtual ~btCollisionDispatcher()
void setDispatcherFlags(int flags)
virtual void dispatchAllCollisionPairs(btOverlappingPairCache *pairCache, const btDispatcherInfo &dispatchInfo, btDispatcher *dispatcher)
void registerClosestPointsCreateFunc(int proxyType0, int proxyType1, btCollisionAlgorithmCreateFunc *createFunc)
The btPoolAllocator class allows to efficiently allocate a large pool of objects, instead of dynamica...
virtual bool needsResponse(const btCollisionObject *body0, const btCollisionObject *body1)
static void defaultNearCallback(btBroadphasePair &collisionPair, btCollisionDispatcher &dispatcher, const btDispatcherInfo &dispatchInfo)
int getDispatcherFlags() const
virtual btPoolAllocator * getInternalManifoldPool()
btCollisionConfiguration allows to configure Bullet collision detection stack allocator size,...
void setCollisionConfiguration(btCollisionConfiguration *config)
static DBVT_INLINE btScalar size(const btDbvtVolume &a)
The btBroadphasePair class contains a pair of aabb-overlapping objects.
const btPersistentManifold * getManifoldByIndexInternal(int index) const
btNearCallback m_nearCallback
int size() const
return the number of elements in the array
virtual bool needsCollision(const btCollisionObject *body0, const btCollisionObject *body1)