Classes | Public Member Functions | Private Member Functions | Private Attributes

btCompoundCollisionAlgorithm Class Reference

btCompoundCollisionAlgorithm supports collision between CompoundCollisionShapes and other collision shapes More...

#include <btCompoundCollisionAlgorithm.h>

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

List of all members.

Classes

struct  CreateFunc
struct  SwappedCreateFunc

Public Member Functions

 btCompoundCollisionAlgorithm (const btCollisionAlgorithmConstructionInfo &ci, const btCollisionObjectWrapper *body0Wrap, const btCollisionObjectWrapper *body1Wrap, bool isSwapped)
virtual ~btCompoundCollisionAlgorithm ()
virtual void processCollision (const btCollisionObjectWrapper *body0Wrap, const btCollisionObjectWrapper *body1Wrap, const btDispatcherInfo &dispatchInfo, btManifoldResult *resultOut)
btScalar calculateTimeOfImpact (btCollisionObject *body0, btCollisionObject *body1, const btDispatcherInfo &dispatchInfo, btManifoldResult *resultOut)
virtual void getAllContactManifolds (btManifoldArray &manifoldArray)

Private Member Functions

void removeChildAlgorithms ()
void preallocateChildAlgorithms (const btCollisionObjectWrapper *body0Wrap, const btCollisionObjectWrapper *body1Wrap)

Private Attributes

btAlignedObjectArray
< btCollisionAlgorithm * > 
m_childCollisionAlgorithms
bool m_isSwapped
class btPersistentManifoldm_sharedManifold
bool m_ownsManifold
int m_compoundShapeRevision

Detailed Description

btCompoundCollisionAlgorithm supports collision between CompoundCollisionShapes and other collision shapes

Definition at line 32 of file btCompoundCollisionAlgorithm.h.


Constructor & Destructor Documentation

btCompoundCollisionAlgorithm::btCompoundCollisionAlgorithm ( const btCollisionAlgorithmConstructionInfo ci,
const btCollisionObjectWrapper body0Wrap,
const btCollisionObjectWrapper body1Wrap,
bool  isSwapped 
)

Definition at line 25 of file btCompoundCollisionAlgorithm.cpp.

btCompoundCollisionAlgorithm::~btCompoundCollisionAlgorithm (  )  [virtual]

Definition at line 84 of file btCompoundCollisionAlgorithm.cpp.


Member Function Documentation

btScalar btCompoundCollisionAlgorithm::calculateTimeOfImpact ( btCollisionObject body0,
btCollisionObject body1,
const btDispatcherInfo dispatchInfo,
btManifoldResult resultOut 
) [virtual]

Implements btCollisionAlgorithm.

Definition at line 315 of file btCompoundCollisionAlgorithm.cpp.

virtual void btCompoundCollisionAlgorithm::getAllContactManifolds ( btManifoldArray manifoldArray  )  [inline, virtual]

Implements btCollisionAlgorithm.

Definition at line 56 of file btCompoundCollisionAlgorithm.h.

void btCompoundCollisionAlgorithm::preallocateChildAlgorithms ( const btCollisionObjectWrapper body0Wrap,
const btCollisionObjectWrapper body1Wrap 
) [private]

Definition at line 42 of file btCompoundCollisionAlgorithm.cpp.

void btCompoundCollisionAlgorithm::processCollision ( const btCollisionObjectWrapper body0Wrap,
const btCollisionObjectWrapper body1Wrap,
const btDispatcherInfo dispatchInfo,
btManifoldResult resultOut 
) [virtual]

btCompoundShape might have changed: ////make sure the internal child collision algorithm caches are still valid

clear and update all

we need to refresh all contact manifolds note that we should actually recursively traverse all children, btCompoundShape can nested more then 1 level deep so we should add a 'refreshManifolds' in the btCollisionAlgorithm

Implements btCollisionAlgorithm.

Definition at line 207 of file btCompoundCollisionAlgorithm.cpp.

void btCompoundCollisionAlgorithm::removeChildAlgorithms (  )  [private]

Definition at line 70 of file btCompoundCollisionAlgorithm.cpp.


Member Data Documentation

Definition at line 34 of file btCompoundCollisionAlgorithm.h.

Definition at line 40 of file btCompoundCollisionAlgorithm.h.

Definition at line 35 of file btCompoundCollisionAlgorithm.h.

Definition at line 38 of file btCompoundCollisionAlgorithm.h.

Definition at line 37 of file btCompoundCollisionAlgorithm.h.


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