Bullet Collision Detection & Physics Library: btCompoundCompoundCollisionAlgorithm Class Reference

Bullet Collision Detection & Physics Library

- Main Page
- Namespaces
- Classes
- Files

- Class List
- Class Hierarchy
- Class Members

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:
[legend]
Collaboration diagram for btCompoundCompoundCollisionAlgorithm:
[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 ()
btCollisionAlgorithm * | getChildAlgorithm (int n) const
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 btActivatingCollisionAlgorithm
virtual | ~btActivatingCollisionAlgorithm ()
Public Member Functions inherited from btCollisionAlgorithm
| btCollisionAlgorithm ()
| btCollisionAlgorithm (const btCollisionAlgorithmConstructionInfo &ci)
virtual | ~btCollisionAlgorithm ()
virtual void | processCollision (const btCollisionObjectWrapper *body0Wrap, const btCollisionObjectWrapper *body1Wrap, const btDispatcherInfo &dispatchInfo, btManifoldResult *resultOut)=0
virtual btScalar | calculateTimeOfImpact (btCollisionObject *body0, btCollisionObject *body1, const btDispatcherInfo &dispatchInfo, btManifoldResult *resultOut)=0
virtual void | getAllContactManifolds (btManifoldArray &manifoldArray)=0

## Private Member Functions
void | removeChildAlgorithms ()

## Private Attributes
class btHashedSimplePairCache * | m_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 btPersistentManifold * | m_sharedManifold
bool | m_ownsManifold
int | m_compoundShapeRevision
Protected Attributes inherited from btCollisionAlgorithm
btDispatcher * | m_dispatcher

## Detailed Description

btCompoundCompoundCollisionAlgorithm supports collision between two btCompoundCollisionShape shapes

Definition at line 40 of file btCompoundCompoundCollisionAlgorithm.h.

## Constructor & Destructor Documentation

## ◆ btCompoundCompoundCollisionAlgorithm()

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

Definition at line 32 of file btCompoundCompoundCollisionAlgorithm.cpp.

## ◆ ~btCompoundCompoundCollisionAlgorithm()

btCompoundCompoundCollisionAlgorithm::~btCompoundCompoundCollisionAlgorithm | ( |  | ) |
| virtual

Definition at line 51 of file btCompoundCompoundCollisionAlgorithm.cpp.

## Member Function Documentation

## ◆ calculateTimeOfImpact()

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

Reimplemented from btCompoundCollisionAlgorithm.

Definition at line 409 of file btCompoundCompoundCollisionAlgorithm.cpp.

## ◆ getAllContactManifolds()

void btCompoundCompoundCollisionAlgorithm::getAllContactManifolds | ( | btManifoldArray & | manifoldArray | ) |
| virtual

Reimplemented from btCompoundCollisionAlgorithm.

Definition at line 58 of file btCompoundCompoundCollisionAlgorithm.cpp.

## ◆ processCollision()

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 285 of file btCompoundCompoundCollisionAlgorithm.cpp.

## ◆ removeChildAlgorithms()

void btCompoundCompoundCollisionAlgorithm::removeChildAlgorithms | ( |  | ) |
| private

Definition at line 71 of file btCompoundCompoundCollisionAlgorithm.cpp.

## Member Data Documentation

## ◆ m_childCollisionAlgorithmCache

class btHashedSimplePairCache* btCompoundCompoundCollisionAlgorithm::m_childCollisionAlgorithmCache
| private

Definition at line 42 of file btCompoundCompoundCollisionAlgorithm.h.

## ◆ m_compoundShapeRevision0

int btCompoundCompoundCollisionAlgorithm::m_compoundShapeRevision0
| private

Definition at line 45 of file btCompoundCompoundCollisionAlgorithm.h.

## ◆ m_compoundShapeRevision1

int btCompoundCompoundCollisionAlgorithm::m_compoundShapeRevision1
| private

Definition at line 46 of file btCompoundCompoundCollisionAlgorithm.h.

## ◆ m_removePairs

btSimplePairArray btCompoundCompoundCollisionAlgorithm::m_removePairs
| private

Definition at line 43 of file btCompoundCompoundCollisionAlgorithm.h.

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

- btCompoundCompoundCollisionAlgorithm.h
- btCompoundCompoundCollisionAlgorithm.cpp