btCompoundCollisionAlgorithm supports collision between CompoundCollisionShapes and other collision shapes More...
#include <btCompoundCollisionAlgorithm.h>


Classes | |
| struct | CreateFunc |
| struct | SwappedCreateFunc |
Public Member Functions | |
| btCompoundCollisionAlgorithm (const btCollisionAlgorithmConstructionInfo &ci, btCollisionObject *body0, btCollisionObject *body1, bool isSwapped) | |
| virtual | ~btCompoundCollisionAlgorithm () |
| virtual void | processCollision (btCollisionObject *body0, btCollisionObject *body1, 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 (btCollisionObject *body0, btCollisionObject *body1) |
Private Attributes | |
| btAlignedObjectArray < btCollisionAlgorithm * > | m_childCollisionAlgorithms |
| bool | m_isSwapped |
| class btPersistentManifold * | m_sharedManifold |
| bool | m_ownsManifold |
| int | m_compoundShapeRevision |
btCompoundCollisionAlgorithm supports collision between CompoundCollisionShapes and other collision shapes
Definition at line 32 of file btCompoundCollisionAlgorithm.h.
| btCompoundCollisionAlgorithm::btCompoundCollisionAlgorithm | ( | const btCollisionAlgorithmConstructionInfo & | ci, | |
| btCollisionObject * | body0, | |||
| btCollisionObject * | body1, | |||
| bool | isSwapped | |||
| ) |
Definition at line 24 of file btCompoundCollisionAlgorithm.cpp.
| btCompoundCollisionAlgorithm::~btCompoundCollisionAlgorithm | ( | ) | [virtual] |
Definition at line 82 of file btCompoundCollisionAlgorithm.cpp.
| btScalar btCompoundCollisionAlgorithm::calculateTimeOfImpact | ( | btCollisionObject * | body0, | |
| btCollisionObject * | body1, | |||
| const btDispatcherInfo & | dispatchInfo, | |||
| btManifoldResult * | resultOut | |||
| ) | [virtual] |
Implements btCollisionAlgorithm.
Definition at line 302 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 | ( | btCollisionObject * | body0, | |
| btCollisionObject * | body1 | |||
| ) | [private] |
Definition at line 40 of file btCompoundCollisionAlgorithm.cpp.
| void btCompoundCollisionAlgorithm::processCollision | ( | btCollisionObject * | body0, | |
| btCollisionObject * | body1, | |||
| 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 191 of file btCompoundCollisionAlgorithm.cpp.
| void btCompoundCollisionAlgorithm::removeChildAlgorithms | ( | ) | [private] |
Definition at line 68 of file btCompoundCollisionAlgorithm.cpp.
btAlignedObjectArray<btCollisionAlgorithm*> btCompoundCollisionAlgorithm::m_childCollisionAlgorithms [private] |
Definition at line 34 of file btCompoundCollisionAlgorithm.h.
int btCompoundCollisionAlgorithm::m_compoundShapeRevision [private] |
Definition at line 40 of file btCompoundCollisionAlgorithm.h.
bool btCompoundCollisionAlgorithm::m_isSwapped [private] |
Definition at line 35 of file btCompoundCollisionAlgorithm.h.
bool btCompoundCollisionAlgorithm::m_ownsManifold [private] |
Definition at line 38 of file btCompoundCollisionAlgorithm.h.
class btPersistentManifold* btCompoundCollisionAlgorithm::m_sharedManifold [private] |
Definition at line 37 of file btCompoundCollisionAlgorithm.h.
1.6.1