Blender V2.61 - r43446
Public Types | Public Member Functions | Static Public Member Functions | Protected Attributes

btCollisionDispatcher Class Reference

#include <btCollisionDispatcher.h>

Inheritance diagram for btCollisionDispatcher:
Inheritance graph
[legend]

List of all members.

Public Types

enum  DispatcherFlags { CD_STATIC_STATIC_REPORTED = 1, CD_USE_RELATIVE_CONTACT_BREAKING_THRESHOLD = 2 }

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
int getNumManifolds () const
btPersistentManifold ** getInternalManifoldPointer ()
btPersistentManifold * getManifoldByIndexInternal (int index)
const btPersistentManifold * getManifoldByIndexInternal (int index) const
 btCollisionDispatcher (btCollisionConfiguration *collisionConfiguration)
virtual ~btCollisionDispatcher ()
virtual btPersistentManifold * getNewManifold (void *b0, void *b1)
virtual void releaseManifold (btPersistentManifold *manifold)
virtual void clearManifold (btPersistentManifold *manifold)
btCollisionAlgorithmfindAlgorithm (btCollisionObject *body0, btCollisionObject *body1, btPersistentManifold *sharedManifold=0)
virtual bool needsCollision (btCollisionObject *body0, btCollisionObject *body1)
virtual bool needsResponse (btCollisionObject *body0, 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)

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 

Definition at line 67 of file btCollisionDispatcher.h.


Constructor & Destructor Documentation

btCollisionDispatcher::btCollisionDispatcher ( btCollisionConfiguration collisionConfiguration)
btCollisionDispatcher::~btCollisionDispatcher ( ) [virtual]

Definition at line 66 of file btCollisionDispatcher.cpp.


Member Function Documentation

void * btCollisionDispatcher::allocateCollisionAlgorithm ( int  size) [virtual]
void btCollisionDispatcher::clearManifold ( btPersistentManifold *  manifold) [virtual]

Implements btDispatcher.

Definition at line 105 of file btCollisionDispatcher.cpp.

Referenced by releaseManifold().

void btCollisionDispatcher::defaultNearCallback ( btBroadphasePair &  collisionPair,
btCollisionDispatcher dispatcher,
const btDispatcherInfo dispatchInfo 
) [static]
void btCollisionDispatcher::dispatchAllCollisionPairs ( btOverlappingPairCache pairCache,
const btDispatcherInfo dispatchInfo,
btDispatcher dispatcher 
) [virtual]
btCollisionAlgorithm * btCollisionDispatcher::findAlgorithm ( btCollisionObject *  body0,
btCollisionObject *  body1,
btPersistentManifold *  sharedManifold = 0 
) [virtual]
void btCollisionDispatcher::freeCollisionAlgorithm ( void *  ptr) [virtual]
btCollisionConfiguration* btCollisionDispatcher::getCollisionConfiguration ( ) [inline]

Definition at line 143 of file btCollisionDispatcher.h.

References m_collisionConfiguration.

const btCollisionConfiguration* btCollisionDispatcher::getCollisionConfiguration ( ) const [inline]

Definition at line 148 of file btCollisionDispatcher.h.

References m_collisionConfiguration.

int btCollisionDispatcher::getDispatcherFlags ( ) const [inline]

Definition at line 73 of file btCollisionDispatcher.h.

References m_dispatcherFlags.

btPersistentManifold** btCollisionDispatcher::getInternalManifoldPointer ( ) [inline, virtual]

Implements btDispatcher.

Definition at line 91 of file btCollisionDispatcher.h.

References m_manifoldsPtr.

btPersistentManifold* btCollisionDispatcher::getManifoldByIndexInternal ( int  index) [inline, virtual]

Implements btDispatcher.

Definition at line 96 of file btCollisionDispatcher.h.

References m_manifoldsPtr.

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

Definition at line 101 of file btCollisionDispatcher.h.

References m_manifoldsPtr.

btNearCallback btCollisionDispatcher::getNearCallback ( ) const [inline]

Definition at line 131 of file btCollisionDispatcher.h.

References m_nearCallback.

Referenced by btCollisionPairCallback::processOverlap().

btPersistentManifold * btCollisionDispatcher::getNewManifold ( void *  b0,
void *  b1 
) [virtual]
int btCollisionDispatcher::getNumManifolds ( ) const [inline, virtual]

Implements btDispatcher.

Definition at line 86 of file btCollisionDispatcher.h.

References m_manifoldsPtr, and btAlignedObjectArray< T >::size().

bool btCollisionDispatcher::needsCollision ( btCollisionObject *  body0,
btCollisionObject *  body1 
) [virtual]

Implements btDispatcher.

Definition at line 164 of file btCollisionDispatcher.cpp.

References btAssert, CD_STATIC_STATIC_REPORTED, and m_dispatcherFlags.

Referenced by defaultNearCallback().

bool btCollisionDispatcher::needsResponse ( btCollisionObject *  body0,
btCollisionObject *  body1 
) [virtual]

Implements btDispatcher.

Definition at line 153 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 61 of file btCollisionDispatcher.cpp.

References m_doubleDispatch.

Referenced by btGImpactCollisionAlgorithm::registerAlgorithm().

void btCollisionDispatcher::releaseManifold ( btPersistentManifold *  manifold) [virtual]
void btCollisionDispatcher::setCollisionConfiguration ( btCollisionConfiguration config) [inline]

Definition at line 153 of file btCollisionDispatcher.h.

References m_collisionConfiguration.

void btCollisionDispatcher::setDispatcherFlags ( int  flags) [inline]

Definition at line 78 of file btCollisionDispatcher.h.

References m_dispatcherFlags.

void btCollisionDispatcher::setNearCallback ( btNearCallback  nearCallback) [inline]

Definition at line 126 of file btCollisionDispatcher.h.

References m_nearCallback.

Referenced by btCollisionDispatcher().


Member Data Documentation

Definition at line 52 of file btCollisionDispatcher.h.

btCollisionAlgorithmCreateFunc* btCollisionDispatcher::m_doubleDispatch[MAX_BROADPHASE_COLLISION_TYPES][MAX_BROADPHASE_COLLISION_TYPES] [protected]
btAlignedObjectArray<btPersistentManifold*> btCollisionDispatcher::m_manifoldsPtr [protected]

Definition at line 54 of file btCollisionDispatcher.h.

Referenced by getNearCallback(), and setNearCallback().

Definition at line 58 of file btCollisionDispatcher.h.

Referenced by btCollisionDispatcher(), getNewManifold(), and releaseManifold().


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