Bullet Collision Detection & Physics Library
Public Member Functions | Protected Attributes | Private Attributes | List of all members
SpuGatheringCollisionDispatcher Class Reference

SpuGatheringCollisionDispatcher can use SPU to gather and calculate collision detection Time of Impact, Closest Points and Penetration Depth. More...

#include <SpuGatheringCollisionDispatcher.h>

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

Public Member Functions

SpuCollisionTaskProcessgetSpuCollisionTaskProcess ()
 SpuGatheringCollisionDispatcher (class btThreadSupportInterface *threadInterface, unsigned int maxNumOutstandingTasks, btCollisionConfiguration *collisionConfiguration)
virtual ~SpuGatheringCollisionDispatcher ()
bool supportsDispatchPairOnSpu (int proxyType0, int proxyType1)
virtual void dispatchAllCollisionPairs (btOverlappingPairCache *pairCache, const btDispatcherInfo &dispatchInfo, btDispatcher *dispatcher)
- Public Member Functions inherited from btCollisionDispatcher
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 ()
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)
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 ()

Protected Attributes

class btThreadSupportInterfacem_threadInterface
unsigned int m_maxNumOutstandingTasks
- Protected Attributes inherited from btCollisionDispatcher
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

Private Attributes

SpuCollisionTaskProcessm_spuCollisionTaskProcess

Additional Inherited Members

- Public Types inherited from btCollisionDispatcher
enum  DispatcherFlags {
  CD_STATIC_STATIC_REPORTED = 1,
  CD_USE_RELATIVE_CONTACT_BREAKING_THRESHOLD = 2,
  CD_DISABLE_CONTACTPOOL_DYNAMIC_ALLOCATION = 4
}
- Static Public Member Functions inherited from btCollisionDispatcher
static void defaultNearCallback (btBroadphasePair &collisionPair, btCollisionDispatcher &dispatcher, const btDispatcherInfo &dispatchInfo)

Detailed Description

SpuGatheringCollisionDispatcher can use SPU to gather and calculate collision detection Time of Impact, Closest Points and Penetration Depth.

Definition at line 38 of file SpuGatheringCollisionDispatcher.h.

Constructor & Destructor Documentation

SpuGatheringCollisionDispatcher::SpuGatheringCollisionDispatcher ( class btThreadSupportInterface threadInterface,
unsigned int  maxNumOutstandingTasks,
btCollisionConfiguration collisionConfiguration 
)

Definition at line 32 of file SpuGatheringCollisionDispatcher.cpp.

SpuGatheringCollisionDispatcher::~SpuGatheringCollisionDispatcher ( )
virtual

Definition at line 76 of file SpuGatheringCollisionDispatcher.cpp.

Member Function Documentation

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

modified version of btCollisionDispatcher::dispatchAllCollisionPairs:

PPU fallback Need to make sure to clear all 'algorithms' when switching between SPU and PPU

Reimplemented from btCollisionDispatcher.

Definition at line 182 of file SpuGatheringCollisionDispatcher.cpp.

SpuCollisionTaskProcess* SpuGatheringCollisionDispatcher::getSpuCollisionTaskProcess ( )
inline

Definition at line 53 of file SpuGatheringCollisionDispatcher.h.

bool SpuGatheringCollisionDispatcher::supportsDispatchPairOnSpu ( int  proxyType0,
int  proxyType1 
)

Definition at line 42 of file SpuGatheringCollisionDispatcher.cpp.

Member Data Documentation

unsigned int SpuGatheringCollisionDispatcher::m_maxNumOutstandingTasks
protected

Definition at line 47 of file SpuGatheringCollisionDispatcher.h.

SpuCollisionTaskProcess* SpuGatheringCollisionDispatcher::m_spuCollisionTaskProcess
private

Definition at line 41 of file SpuGatheringCollisionDispatcher.h.

class btThreadSupportInterface* SpuGatheringCollisionDispatcher::m_threadInterface
protected

Definition at line 45 of file SpuGatheringCollisionDispatcher.h.


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