Bullet Collision Detection & Physics Library
Classes | Public Member Functions | Private Member Functions | Private Attributes | List of all members
btCompoundCompoundCollisionAlgorithm Class Reference

btCompoundCompoundCollisionAlgorithm supports collision between two btCompoundCollisionShape shapes More...

#include <btCompoundCompoundCollisionAlgorithm.h>

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

Classes

struct  CreateFunc
 
struct  SwappedCreateFunc
 

Public Member Functions

 btCompoundCompoundCollisionAlgorithm (const btCollisionAlgorithmConstructionInfo &ci, const btCollisionObjectWrapper *body0Wrap, const btCollisionObjectWrapper *body1Wrap, bool isSwapped)
 
virtual ~btCompoundCompoundCollisionAlgorithm ()
 
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)
 
- Public Member Functions inherited from btCompoundCollisionAlgorithm
 btCompoundCollisionAlgorithm (const btCollisionAlgorithmConstructionInfo &ci, const btCollisionObjectWrapper *body0Wrap, const btCollisionObjectWrapper *body1Wrap, bool isSwapped)
 
virtual ~btCompoundCollisionAlgorithm ()
 
btCollisionAlgorithmgetChildAlgorithm (int n) const
 
- Public Member Functions inherited from btActivatingCollisionAlgorithm
virtual ~btActivatingCollisionAlgorithm ()
 
- Public Member Functions inherited from btCollisionAlgorithm
 btCollisionAlgorithm ()
 
 btCollisionAlgorithm (const btCollisionAlgorithmConstructionInfo &ci)
 
virtual ~btCollisionAlgorithm ()
 

Private Member Functions

void removeChildAlgorithms ()
 

Private Attributes

class btHashedSimplePairCachem_childCollisionAlgorithmCache
 
btSimplePairArray m_removePairs
 
int m_compoundShapeRevision0
 
int m_compoundShapeRevision1
 

Additional Inherited Members

- Protected Member Functions inherited from btCompoundCollisionAlgorithm
void removeChildAlgorithms ()
 
void preallocateChildAlgorithms (const btCollisionObjectWrapper *body0Wrap, const btCollisionObjectWrapper *body1Wrap)
 
- Protected Member Functions inherited from btActivatingCollisionAlgorithm
 btActivatingCollisionAlgorithm (const btCollisionAlgorithmConstructionInfo &ci)
 
 btActivatingCollisionAlgorithm (const btCollisionAlgorithmConstructionInfo &ci, const btCollisionObjectWrapper *body0Wrap, const btCollisionObjectWrapper *body1Wrap)
 
- Protected Attributes inherited from btCompoundCollisionAlgorithm
btAlignedObjectArray< btCollisionAlgorithm * > m_childCollisionAlgorithms
 
bool m_isSwapped
 
class btPersistentManifoldm_sharedManifold
 
bool m_ownsManifold
 
int m_compoundShapeRevision
 
- Protected Attributes inherited from btCollisionAlgorithm
btDispatcherm_dispatcher
 

Detailed Description

btCompoundCompoundCollisionAlgorithm supports collision between two btCompoundCollisionShape shapes

Definition at line 38 of file btCompoundCompoundCollisionAlgorithm.h.

Constructor & Destructor Documentation

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

Definition at line 32 of file btCompoundCompoundCollisionAlgorithm.cpp.

btCompoundCompoundCollisionAlgorithm::~btCompoundCompoundCollisionAlgorithm ( )
virtual

Definition at line 55 of file btCompoundCompoundCollisionAlgorithm.cpp.

Member Function Documentation

btScalar btCompoundCompoundCollisionAlgorithm::calculateTimeOfImpact ( btCollisionObject body0,
btCollisionObject body1,
const btDispatcherInfo dispatchInfo,
btManifoldResult resultOut 
)
virtual

Reimplemented from btCompoundCollisionAlgorithm.

Definition at line 445 of file btCompoundCompoundCollisionAlgorithm.cpp.

void btCompoundCompoundCollisionAlgorithm::getAllContactManifolds ( btManifoldArray manifoldArray)
virtual

Reimplemented from btCompoundCollisionAlgorithm.

Definition at line 62 of file btCompoundCompoundCollisionAlgorithm.cpp.

void btCompoundCompoundCollisionAlgorithm::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 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

Reimplemented from btCompoundCollisionAlgorithm.

Definition at line 309 of file btCompoundCompoundCollisionAlgorithm.cpp.

void btCompoundCompoundCollisionAlgorithm::removeChildAlgorithms ( )
private

Definition at line 77 of file btCompoundCompoundCollisionAlgorithm.cpp.

Member Data Documentation

class btHashedSimplePairCache* btCompoundCompoundCollisionAlgorithm::m_childCollisionAlgorithmCache
private

Definition at line 41 of file btCompoundCompoundCollisionAlgorithm.h.

int btCompoundCompoundCollisionAlgorithm::m_compoundShapeRevision0
private

Definition at line 45 of file btCompoundCompoundCollisionAlgorithm.h.

int btCompoundCompoundCollisionAlgorithm::m_compoundShapeRevision1
private

Definition at line 46 of file btCompoundCompoundCollisionAlgorithm.h.

btSimplePairArray btCompoundCompoundCollisionAlgorithm::m_removePairs
private

Definition at line 42 of file btCompoundCompoundCollisionAlgorithm.h.


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