Blender V2.61 - r43446
|
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) |
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.
References btAssert.
Referenced by btCompoundCollisionAlgorithm::SwappedCreateFunc::CreateCollisionAlgorithm(), and btCompoundCollisionAlgorithm::CreateFunc::CreateCollisionAlgorithm().
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.
References btAssert, i, and btAlignedObjectArray< T >::size().
virtual void btCompoundCollisionAlgorithm::getAllContactManifolds | ( | btManifoldArray & | manifoldArray | ) | [inline, virtual] |
Implements btCollisionAlgorithm.
Definition at line 56 of file btCompoundCollisionAlgorithm.h.
References i, and btAlignedObjectArray< T >::size().
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 192 of file btCompoundCollisionAlgorithm.cpp.
References ATTRIBUTE_ALIGNED16, bounds(), btAssert, btDbvt::collideTV(), btDispatcher::freeCollisionAlgorithm(), btDbvtAabbMm::FromMM(), btCollisionShape::getAabb(), i, btTransform::inverse(), btCollisionAlgorithm::m_dispatcher, btDbvt::m_root, btCompoundLeafCallback::ProcessChildShape(), btManifoldResult::refreshContactPoints(), btAlignedObjectArray< T >::resize(), btManifoldResult::setPersistentManifold(), btAlignedObjectArray< T >::size(), and TestAabbAgainstAabb2().