Bullet Collision Detection & Physics Library
Public Types | Public Member Functions | Static Public Member Functions | Protected Attributes | List of all members
btCollisionDispatcher Class Reference

btCollisionDispatcher supports algorithms that handle ConvexConvex and ConvexConcave collision pairs. More...

#include <btCollisionDispatcher.h>

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

Public Types

enum  DispatcherFlags {
  CD_STATIC_STATIC_REPORTED = 1,
  CD_USE_RELATIVE_CONTACT_BREAKING_THRESHOLD = 2,
  CD_DISABLE_CONTACTPOOL_DYNAMIC_ALLOCATION = 4
}
 

Public Member Functions

int getDispatcherFlags () const
 
void setDispatcherFlags (int flags)
 
void registerCollisionCreateFunc (int proxyType0, int proxyType1, btCollisionAlgorithmCreateFunc *createFunc)
 registerCollisionCreateFunc allows registration of custom/alternative collision create functions More...
 
int getNumManifolds () const
 
btPersistentManifold ** getInternalManifoldPointer ()
 
btPersistentManifoldgetManifoldByIndexInternal (int index)
 
const btPersistentManifoldgetManifoldByIndexInternal (int index) const
 
 btCollisionDispatcher (btCollisionConfiguration *collisionConfiguration)
 
virtual ~btCollisionDispatcher ()
 
virtual btPersistentManifoldgetNewManifold (const btCollisionObject *b0, const btCollisionObject *b1)
 
virtual void releaseManifold (btPersistentManifold *manifold)
 
virtual void clearManifold (btPersistentManifold *manifold)
 
btCollisionAlgorithmfindAlgorithm (const btCollisionObjectWrapper *body0Wrap, const btCollisionObjectWrapper *body1Wrap, btPersistentManifold *sharedManifold=0)
 
virtual bool needsCollision (const btCollisionObject *body0, const btCollisionObject *body1)
 
virtual bool needsResponse (const btCollisionObject *body0, const btCollisionObject *body1)
 
virtual void dispatchAllCollisionPairs (btOverlappingPairCache *pairCache, const btDispatcherInfo &dispatchInfo, btDispatcher *dispatcher)
 
void setNearCallback (btNearCallback nearCallback)
 
btNearCallback getNearCallback () const
 
virtual void * allocateCollisionAlgorithm (int size)
 
virtual void freeCollisionAlgorithm (void *ptr)
 
btCollisionConfigurationgetCollisionConfiguration ()
 
const btCollisionConfigurationgetCollisionConfiguration () const
 
void setCollisionConfiguration (btCollisionConfiguration *config)
 
virtual btPoolAllocatorgetInternalManifoldPool ()
 
virtual const btPoolAllocatorgetInternalManifoldPool () const
 
- Public Member Functions inherited from btDispatcher
virtual ~btDispatcher ()
 

Static Public Member Functions

static void defaultNearCallback (btBroadphasePair &collisionPair, btCollisionDispatcher &dispatcher, const btDispatcherInfo &dispatchInfo)
 

Protected Attributes

int m_dispatcherFlags
 
btAlignedObjectArray
< btPersistentManifold * > 
m_manifoldsPtr
 
btManifoldResult m_defaultManifoldResult
 
btNearCallback m_nearCallback
 
btPoolAllocatorm_collisionAlgorithmPoolAllocator
 
btPoolAllocatorm_persistentManifoldPoolAllocator
 
btCollisionAlgorithmCreateFuncm_doubleDispatch [MAX_BROADPHASE_COLLISION_TYPES][MAX_BROADPHASE_COLLISION_TYPES]
 
btCollisionConfigurationm_collisionConfiguration
 

Detailed Description

btCollisionDispatcher supports algorithms that handle ConvexConvex and ConvexConcave collision pairs.

Time of Impact, Closest Points and Penetration Depth.

Definition at line 43 of file btCollisionDispatcher.h.

Member Enumeration Documentation

Enumerator
CD_STATIC_STATIC_REPORTED 
CD_USE_RELATIVE_CONTACT_BREAKING_THRESHOLD 
CD_DISABLE_CONTACTPOOL_DYNAMIC_ALLOCATION 

Definition at line 67 of file btCollisionDispatcher.h.

Constructor & Destructor Documentation

btCollisionDispatcher::btCollisionDispatcher ( btCollisionConfiguration collisionConfiguration)

Definition at line 37 of file btCollisionDispatcher.cpp.

btCollisionDispatcher::~btCollisionDispatcher ( )
virtual

Definition at line 67 of file btCollisionDispatcher.cpp.

Member Function Documentation

void * btCollisionDispatcher::allocateCollisionAlgorithm ( int  size)
virtual

Implements btDispatcher.

Definition at line 294 of file btCollisionDispatcher.cpp.

void btCollisionDispatcher::clearManifold ( btPersistentManifold manifold)
virtual

Implements btDispatcher.

Definition at line 112 of file btCollisionDispatcher.cpp.

void btCollisionDispatcher::defaultNearCallback ( btBroadphasePair collisionPair,
btCollisionDispatcher dispatcher,
const btDispatcherInfo dispatchInfo 
)
static

Definition at line 254 of file btCollisionDispatcher.cpp.

void btCollisionDispatcher::dispatchAllCollisionPairs ( btOverlappingPairCache pairCache,
const btDispatcherInfo dispatchInfo,
btDispatcher dispatcher 
)
virtual

Implements btDispatcher.

Reimplemented in SpuGatheringCollisionDispatcher.

Definition at line 238 of file btCollisionDispatcher.cpp.

btCollisionAlgorithm * btCollisionDispatcher::findAlgorithm ( const btCollisionObjectWrapper body0Wrap,
const btCollisionObjectWrapper body1Wrap,
btPersistentManifold sharedManifold = 0 
)
virtual

Implements btDispatcher.

Definition at line 145 of file btCollisionDispatcher.cpp.

void btCollisionDispatcher::freeCollisionAlgorithm ( void *  ptr)
virtual

Implements btDispatcher.

Definition at line 305 of file btCollisionDispatcher.cpp.

btCollisionConfiguration* btCollisionDispatcher::getCollisionConfiguration ( )
inline

Definition at line 143 of file btCollisionDispatcher.h.

const btCollisionConfiguration* btCollisionDispatcher::getCollisionConfiguration ( ) const
inline

Definition at line 148 of file btCollisionDispatcher.h.

int btCollisionDispatcher::getDispatcherFlags ( ) const
inline

Definition at line 74 of file btCollisionDispatcher.h.

btPersistentManifold** btCollisionDispatcher::getInternalManifoldPointer ( )
inlinevirtual

Implements btDispatcher.

Definition at line 92 of file btCollisionDispatcher.h.

virtual btPoolAllocator* btCollisionDispatcher::getInternalManifoldPool ( )
inlinevirtual

Implements btDispatcher.

Definition at line 158 of file btCollisionDispatcher.h.

virtual const btPoolAllocator* btCollisionDispatcher::getInternalManifoldPool ( ) const
inlinevirtual

Implements btDispatcher.

Definition at line 163 of file btCollisionDispatcher.h.

btPersistentManifold* btCollisionDispatcher::getManifoldByIndexInternal ( int  index)
inlinevirtual

Implements btDispatcher.

Definition at line 97 of file btCollisionDispatcher.h.

const btPersistentManifold* btCollisionDispatcher::getManifoldByIndexInternal ( int  index) const
inline

Definition at line 102 of file btCollisionDispatcher.h.

btNearCallback btCollisionDispatcher::getNearCallback ( ) const
inline

Definition at line 131 of file btCollisionDispatcher.h.

btPersistentManifold * btCollisionDispatcher::getNewManifold ( const btCollisionObject b0,
const btCollisionObject b1 
)
virtual

Implements btDispatcher.

Definition at line 71 of file btCollisionDispatcher.cpp.

int btCollisionDispatcher::getNumManifolds ( ) const
inlinevirtual

Implements btDispatcher.

Definition at line 87 of file btCollisionDispatcher.h.

bool btCollisionDispatcher::needsCollision ( const btCollisionObject body0,
const btCollisionObject body1 
)
virtual

Implements btDispatcher.

Definition at line 171 of file btCollisionDispatcher.cpp.

bool btCollisionDispatcher::needsResponse ( const btCollisionObject body0,
const btCollisionObject body1 
)
virtual

Implements btDispatcher.

Definition at line 160 of file btCollisionDispatcher.cpp.

void btCollisionDispatcher::registerCollisionCreateFunc ( int  proxyType0,
int  proxyType1,
btCollisionAlgorithmCreateFunc createFunc 
)

registerCollisionCreateFunc allows registration of custom/alternative collision create functions

Definition at line 62 of file btCollisionDispatcher.cpp.

void btCollisionDispatcher::releaseManifold ( btPersistentManifold manifold)
virtual

Implements btDispatcher.

Definition at line 118 of file btCollisionDispatcher.cpp.

void btCollisionDispatcher::setCollisionConfiguration ( btCollisionConfiguration config)
inline

Definition at line 153 of file btCollisionDispatcher.h.

void btCollisionDispatcher::setDispatcherFlags ( int  flags)
inline

Definition at line 79 of file btCollisionDispatcher.h.

void btCollisionDispatcher::setNearCallback ( btNearCallback  nearCallback)
inline

Definition at line 126 of file btCollisionDispatcher.h.

Member Data Documentation

btPoolAllocator* btCollisionDispatcher::m_collisionAlgorithmPoolAllocator
protected

Definition at line 56 of file btCollisionDispatcher.h.

btCollisionConfiguration* btCollisionDispatcher::m_collisionConfiguration
protected

Definition at line 62 of file btCollisionDispatcher.h.

btManifoldResult btCollisionDispatcher::m_defaultManifoldResult
protected

Definition at line 52 of file btCollisionDispatcher.h.

int btCollisionDispatcher::m_dispatcherFlags
protected

Definition at line 48 of file btCollisionDispatcher.h.

Definition at line 60 of file btCollisionDispatcher.h.

btAlignedObjectArray<btPersistentManifold*> btCollisionDispatcher::m_manifoldsPtr
protected

Definition at line 50 of file btCollisionDispatcher.h.

btNearCallback btCollisionDispatcher::m_nearCallback
protected

Definition at line 54 of file btCollisionDispatcher.h.

btPoolAllocator* btCollisionDispatcher::m_persistentManifoldPoolAllocator
protected

Definition at line 58 of file btCollisionDispatcher.h.


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