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 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)
 
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: