Blender V2.61 - r43446
Classes | Public Member Functions

btCompoundCollisionAlgorithm Class Reference

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

#include <btCompoundCollisionAlgorithm.h>

Inheritance diagram for btCompoundCollisionAlgorithm:
Inheritance graph
[legend]

List of all members.

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)

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,
btCollisionObject *  body0,
btCollisionObject *  body1,
bool  isSwapped 
)
btCompoundCollisionAlgorithm::~btCompoundCollisionAlgorithm ( ) [virtual]

Definition at line 82 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 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().


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