Bullet Collision Detection & Physics Library: btMultiBodyDynamicsWorld Class Reference

Bullet Collision Detection & Physics Library

- Main Page
- Namespaces
- Classes
- Files

- Class List
- Class Hierarchy
- Class Members

Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
btMultiBodyDynamicsWorld Class Reference

The btMultiBodyDynamicsWorld adds Featherstone multi body dynamics to Bullet This implementation is still preliminary/experimental. More...

`#include <btMultiBodyDynamicsWorld.h>`

Inheritance diagram for btMultiBodyDynamicsWorld:
[legend]
Collaboration diagram for btMultiBodyDynamicsWorld:
[legend]

## Public Member Functions
| btMultiBodyDynamicsWorld (btDispatcher *dispatcher, btBroadphaseInterface *pairCache, btMultiBodyConstraintSolver *constraintSolver, btCollisionConfiguration *collisionConfiguration)
virtual | ~btMultiBodyDynamicsWorld ()
virtual void | solveConstraints (btContactSolverInfo &solverInfo)
virtual void | addMultiBody (btMultiBody *body, int group=btBroadphaseProxy::DefaultFilter, int mask=btBroadphaseProxy::AllFilter)
virtual void | removeMultiBody (btMultiBody *body)
virtual int | getNumMultibodies () const
btMultiBody * | getMultiBody (int mbIndex)
const btMultiBody * | getMultiBody (int mbIndex) const
virtual void | addMultiBodyConstraint (btMultiBodyConstraint *constraint)
virtual int | getNumMultiBodyConstraints () const
virtual btMultiBodyConstraint * | getMultiBodyConstraint (int constraintIndex)
virtual const btMultiBodyConstraint * | getMultiBodyConstraint (int constraintIndex) const
virtual void | removeMultiBodyConstraint (btMultiBodyConstraint *constraint)
virtual void | integrateTransforms (btScalar timeStep)
void | integrateMultiBodyTransforms (btScalar timeStep)
void | predictMultiBodyTransforms (btScalar timeStep)
virtual void | predictUnconstraintMotion (btScalar timeStep)
virtual void | debugDrawWorld ()
virtual void | debugDrawMultiBodyConstraint (btMultiBodyConstraint *constraint)
void | forwardKinematics ()
virtual void | clearForces ()
| the forces on each rigidbody is accumulating together with gravity. clear this after each timestep.
virtual void | clearMultiBodyConstraintForces ()
virtual void | clearMultiBodyForces ()
virtual void | applyGravity ()
| apply gravity, call this once per timestep
virtual void | serialize (btSerializer *serializer)
| Preliminary serialization test for Bullet 2.76. Loading those files requires a separate parser (see Bullet/Demos/SerializeDemo)
virtual void | setMultiBodyConstraintSolver (btMultiBodyConstraintSolver *solver)
virtual void | setConstraintSolver (btConstraintSolver *solver)
virtual void | getAnalyticsData (btAlignedObjectArray< struct btSolverAnalyticsData > &m_islandAnalyticsData) const
virtual void | solveExternalForces (btContactSolverInfo &solverInfo)
virtual void | solveInternalConstraints (btContactSolverInfo &solverInfo)
void | buildIslands ()
virtual void | saveKinematicState (btScalar timeStep)
Public Member Functions inherited from btDiscreteDynamicsWorld
| BT_DECLARE_ALIGNED_ALLOCATOR ()
| btDiscreteDynamicsWorld (btDispatcher *dispatcher, btBroadphaseInterface *pairCache, btConstraintSolver *constraintSolver, btCollisionConfiguration *collisionConfiguration)
| this btDiscreteDynamicsWorld constructor gets created objects from the user, and will not delete those
virtual | ~btDiscreteDynamicsWorld ()
virtual int | stepSimulation (btScalar timeStep, int maxSubSteps=1, btScalar fixedTimeStep=btScalar(1.)/btScalar(60.))
| if maxSubSteps > 0, it will interpolate motion between fixedTimeStep's
virtual void | solveConstraints (btContactSolverInfo &solverInfo)
virtual void | synchronizeMotionStates ()
void | synchronizeSingleMotionState (btRigidBody *body)
| this can be useful to synchronize a single rigid body -> graphics object
virtual void | addConstraint (btTypedConstraint *constraint, bool disableCollisionsBetweenLinkedBodies=false)
virtual void | removeConstraint (btTypedConstraint *constraint)
virtual void | addAction (btActionInterface *)
virtual void | removeAction (btActionInterface *)
btSimulationIslandManager * | getSimulationIslandManager ()
const btSimulationIslandManager * | getSimulationIslandManager () const
btCollisionWorld * | getCollisionWorld ()
virtual void | setGravity (const btVector3 &gravity)
virtual btVector3 | getGravity () const
virtual void | addCollisionObject (btCollisionObject *collisionObject, int collisionFilterGroup=btBroadphaseProxy::StaticFilter, int collisionFilterMask=btBroadphaseProxy::AllFilter ^ btBroadphaseProxy::StaticFilter)
virtual void | addRigidBody (btRigidBody *body)
virtual void | addRigidBody (btRigidBody *body, int group, int mask)
virtual void | removeRigidBody (btRigidBody *body)
virtual void | removeCollisionObject (btCollisionObject *collisionObject)
| removeCollisionObject will first check if it is a rigid body, if so call removeRigidBody otherwise call btCollisionWorld::removeCollisionObject
virtual void | debugDrawConstraint (btTypedConstraint *constraint)
virtual void | debugDrawWorld ()
virtual void | setConstraintSolver (btConstraintSolver *solver)
virtual btConstraintSolver * | getConstraintSolver ()
virtual int | getNumConstraints () const
virtual btTypedConstraint * | getConstraint (int index)
virtual const btTypedConstraint * | getConstraint (int index) const
virtual btDynamicsWorldType | getWorldType () const
virtual void | clearForces ()
| the forces on each rigidbody is accumulating together with gravity. clear this after each timestep.
virtual void | applyGravity ()
| apply gravity, call this once per timestep
virtual void | setNumTasks (int numTasks)
virtual void | updateVehicles (btScalar timeStep)
| obsolete, use updateActions instead
virtual void | addVehicle (btActionInterface *vehicle)
| obsolete, use addAction instead
virtual void | removeVehicle (btActionInterface *vehicle)
| obsolete, use removeAction instead
virtual void | addCharacter (btActionInterface *character)
| obsolete, use addAction instead
virtual void | removeCharacter (btActionInterface *character)
| obsolete, use removeAction instead
void | setSynchronizeAllMotionStates (bool synchronizeAll)
bool | getSynchronizeAllMotionStates () const
void | setApplySpeculativeContactRestitution (bool enable)
bool | getApplySpeculativeContactRestitution () const
virtual void | serialize (btSerializer *serializer)
| Preliminary serialization test for Bullet 2.76. Loading those files requires a separate parser (see Bullet/Demos/SerializeDemo)
void | setLatencyMotionStateInterpolation (bool latencyInterpolation)
| Interpolate motion state between previous and current transform, instead of current and next transform.
bool | getLatencyMotionStateInterpolation () const
btAlignedObjectArray< btRigidBody * > & | getNonStaticRigidBodies ()
const btAlignedObjectArray< btRigidBody * > & | getNonStaticRigidBodies () const
Public Member Functions inherited from btDynamicsWorld
| btDynamicsWorld (btDispatcher *dispatcher, btBroadphaseInterface *broadphase, btCollisionConfiguration *collisionConfiguration)
virtual | ~btDynamicsWorld ()
virtual int | stepSimulation (btScalar timeStep, int maxSubSteps=1, btScalar fixedTimeStep=btScalar(1.)/btScalar(60.))=0
| stepSimulation proceeds the simulation over 'timeStep', units in preferably in seconds.
virtual void | debugDrawWorld ()=0
virtual void | addConstraint (btTypedConstraint *constraint, bool disableCollisionsBetweenLinkedBodies=false)
virtual void | removeConstraint (btTypedConstraint *constraint)
virtual void | addAction (btActionInterface *action)=0
virtual void | removeAction (btActionInterface *action)=0
virtual void | setGravity (const btVector3 &gravity)=0
virtual btVector3 | getGravity () const =0
virtual void | synchronizeMotionStates ()=0
virtual void | addRigidBody (btRigidBody *body)=0
virtual void | addRigidBody (btRigidBody *body, int group, int mask)=0
virtual void | removeRigidBody (btRigidBody *body)=0
virtual void | setConstraintSolver (btConstraintSolver *solver)=0
virtual btConstraintSolver * | getConstraintSolver ()=0
virtual int | getNumConstraints () const
virtual btTypedConstraint * | getConstraint (int index)
virtual const btTypedConstraint * | getConstraint (int index) const
virtual btDynamicsWorldType | getWorldType () const =0
virtual void | clearForces ()=0
void | setInternalTickCallback (btInternalTickCallback cb, void *worldUserInfo=0, bool isPreTick=false)
| Set the callback for when an internal tick (simulation substep) happens, optional user info.
void | setWorldUserInfo (void *worldUserInfo)
void * | getWorldUserInfo () const
btContactSolverInfo & | getSolverInfo ()
const btContactSolverInfo & | getSolverInfo () const
virtual void | addVehicle (btActionInterface *vehicle)
| obsolete, use addAction instead.
virtual void | removeVehicle (btActionInterface *vehicle)
| obsolete, use removeAction instead
virtual void | addCharacter (btActionInterface *character)
| obsolete, use addAction instead.
virtual void | removeCharacter (btActionInterface *character)
| obsolete, use removeAction instead
Public Member Functions inherited from btCollisionWorld
| btCollisionWorld (btDispatcher *dispatcher, btBroadphaseInterface *broadphasePairCache, btCollisionConfiguration *collisionConfiguration)
| for debug drawing
virtual | ~btCollisionWorld ()
void | setBroadphase (btBroadphaseInterface *pairCache)
const btBroadphaseInterface * | getBroadphase () const
btBroadphaseInterface * | getBroadphase ()
btOverlappingPairCache * | getPairCache ()
btDispatcher * | getDispatcher ()
const btDispatcher * | getDispatcher () const
void | updateSingleAabb (btCollisionObject *colObj)
virtual void | updateAabbs ()
virtual void | computeOverlappingPairs ()
| the computeOverlappingPairs is usually already called by performDiscreteCollisionDetection (or stepSimulation) it can be useful to use if you perform ray tests without collision detection/simulation
virtual void | setDebugDrawer (btIDebugDraw *debugDrawer)
virtual btIDebugDraw * | getDebugDrawer ()
virtual void | debugDrawWorld ()
virtual void | debugDrawObject (const btTransform &worldTransform, const btCollisionShape *shape, const btVector3 &color)
int | getNumCollisionObjects () const
virtual void | rayTest (const btVector3 &rayFromWorld, const btVector3 &rayToWorld, RayResultCallback &resultCallback) const
| rayTest performs a raycast on all objects in the btCollisionWorld, and calls the resultCallback This allows for several queries: first hit, all hits, any hit, dependent on the value returned by the callback.
void | convexSweepTest (const btConvexShape *castShape, const btTransform &from, const btTransform &to, ConvexResultCallback &resultCallback, btScalar allowedCcdPenetration=btScalar(0.)) const
| convexTest performs a swept convex cast on all objects in the btCollisionWorld, and calls the resultCallback This allows for several queries: first hit, all hits, any hit, dependent on the value return by the callback.
void | contactTest (btCollisionObject *colObj, ContactResultCallback &resultCallback)
| contactTest performs a discrete collision test between colObj against all objects in the btCollisionWorld, and calls the resultCallback.
void | contactPairTest (btCollisionObject *colObjA, btCollisionObject *colObjB, ContactResultCallback &resultCallback)
| contactTest performs a discrete collision test between two collision objects and calls the resultCallback if overlap if detected.
virtual void | addCollisionObject (btCollisionObject *collisionObject, int collisionFilterGroup=btBroadphaseProxy::DefaultFilter, int collisionFilterMask=btBroadphaseProxy::AllFilter)
virtual void | refreshBroadphaseProxy (btCollisionObject *collisionObject)
btCollisionObjectArray & | getCollisionObjectArray ()
const btCollisionObjectArray & | getCollisionObjectArray () const
virtual void | removeCollisionObject (btCollisionObject *collisionObject)
virtual void | performDiscreteCollisionDetection ()
btDispatcherInfo & | getDispatchInfo ()
const btDispatcherInfo & | getDispatchInfo () const
bool | getForceUpdateAllAabbs () const
void | setForceUpdateAllAabbs (bool forceUpdateAllAabbs)
virtual void | serialize (btSerializer *serializer)
| Preliminary serialization test for Bullet 2.76. Loading those files requires a separate parser (Bullet/Demos/SerializeDemo)

## Protected Member Functions
virtual void | calculateSimulationIslands ()
virtual void | updateActivationState (btScalar timeStep)
virtual void | serializeMultiBodies (btSerializer *serializer)
Protected Member Functions inherited from btDiscreteDynamicsWorld
virtual void | predictUnconstraintMotion (btScalar timeStep)
void | integrateTransformsInternal (btRigidBody **bodies, int numBodies, btScalar timeStep)
virtual void | integrateTransforms (btScalar timeStep)
virtual void | calculateSimulationIslands ()
virtual void | updateActivationState (btScalar timeStep)
void | updateActions (btScalar timeStep)
void | startProfiling (btScalar timeStep)
virtual void | internalSingleStepSimulation (btScalar timeStep)
void | releasePredictiveContacts ()
void | createPredictiveContactsInternal (btRigidBody **bodies, int numBodies, btScalar timeStep)
virtual void | createPredictiveContacts (btScalar timeStep)
virtual void | saveKinematicState (btScalar timeStep)
void | serializeRigidBodies (btSerializer *serializer)
void | serializeDynamicsWorldInfo (btSerializer *serializer)
Protected Member Functions inherited from btCollisionWorld
void | serializeCollisionObjects (btSerializer *serializer)
void | serializeContactManifolds (btSerializer *serializer)

## Protected Attributes
btAlignedObjectArray< btMultiBody * > | m_multiBodies
btAlignedObjectArray< btMultiBodyConstraint * > | m_multiBodyConstraints
btAlignedObjectArray< btMultiBodyConstraint * > | m_sortedMultiBodyConstraints
btMultiBodyConstraintSolver * | m_multiBodyConstraintSolver
MultiBodyInplaceSolverIslandCallback * | m_solverMultiBodyIslandCallback
btAlignedObjectArray< btQuaternion > | m_scratch_world_to_local
btAlignedObjectArray< btVector3 > | m_scratch_local_origin
btAlignedObjectArray< btQuaternion > | m_scratch_world_to_local1
btAlignedObjectArray< btVector3 > | m_scratch_local_origin1
btAlignedObjectArray< btScalar > | m_scratch_r
btAlignedObjectArray< btVector3 > | m_scratch_v
btAlignedObjectArray< btMatrix3x3 > | m_scratch_m
Protected Attributes inherited from btDiscreteDynamicsWorld
btAlignedObjectArray< btTypedConstraint * > | m_sortedConstraints
InplaceSolverIslandCallback * | m_solverIslandCallback
btConstraintSolver * | m_constraintSolver
btSimulationIslandManager * | m_islandManager
btAlignedObjectArray< btTypedConstraint * > | m_constraints
btAlignedObjectArray< btRigidBody * > | m_nonStaticRigidBodies
btVector3 | m_gravity
btScalar | m_localTime
btScalar | m_fixedTimeStep
bool | m_ownsIslandManager
bool | m_ownsConstraintSolver
bool | m_synchronizeAllMotionStates
bool | m_applySpeculativeContactRestitution
btAlignedObjectArray< btActionInterface * > | m_actions
int | m_profileTimings
bool | m_latencyMotionStateInterpolation
btAlignedObjectArray< btPersistentManifold * > | m_predictiveManifolds
btSpinMutex | m_predictiveManifoldsMutex
Protected Attributes inherited from btDynamicsWorld
btInternalTickCallback | m_internalTickCallback
btInternalTickCallback | m_internalPreTickCallback
void * | m_worldUserInfo
btContactSolverInfo | m_solverInfo
Protected Attributes inherited from btCollisionWorld
btAlignedObjectArray< btCollisionObject * > | m_collisionObjects
btDispatcher * | m_dispatcher1
btDispatcherInfo | m_dispatchInfo
btBroadphaseInterface * | m_broadphasePairCache
btIDebugDraw * | m_debugDrawer
bool | m_forceUpdateAllAabbs
| m_forceUpdateAllAabbs can be set to false as an optimization to only update active object AABBs it is true by default, because it is error-prone (setting the position of static objects wouldn't update their AABB)

## Additional Inherited Members
Static Public Member Functions inherited from btCollisionWorld
static void | rayTestSingle (const btTransform &rayFromTrans, const btTransform &rayToTrans, btCollisionObject *collisionObject, const btCollisionShape *collisionShape, const btTransform &colObjWorldTransform, RayResultCallback &resultCallback)
| rayTestSingle performs a raycast call and calls the resultCallback.
static void | rayTestSingleInternal (const btTransform &rayFromTrans, const btTransform &rayToTrans, const btCollisionObjectWrapper *collisionObjectWrap, RayResultCallback &resultCallback)
static void | objectQuerySingle (const btConvexShape *castShape, const btTransform &rayFromTrans, const btTransform &rayToTrans, btCollisionObject *collisionObject, const btCollisionShape *collisionShape, const btTransform &colObjWorldTransform, ConvexResultCallback &resultCallback, btScalar allowedPenetration)
| objectQuerySingle performs a collision detection query and calls the resultCallback. It is used internally by rayTest.
static void | objectQuerySingleInternal (const btConvexShape *castShape, const btTransform &convexFromTrans, const btTransform &convexToTrans, const btCollisionObjectWrapper *colObjWrap, ConvexResultCallback &resultCallback, btScalar allowedPenetration)

## Detailed Description

The btMultiBodyDynamicsWorld adds Featherstone multi body dynamics to Bullet This implementation is still preliminary/experimental.

Definition at line 31 of file btMultiBodyDynamicsWorld.h.

## Constructor & Destructor Documentation

## ◆ btMultiBodyDynamicsWorld()

btMultiBodyDynamicsWorld::btMultiBodyDynamicsWorld | ( | btDispatcher * | dispatcher,
|  | btBroadphaseInterface * | pairCache,
|  | btMultiBodyConstraintSolver * | constraintSolver,
|  | btCollisionConfiguration * | collisionConfiguration
| ) |  |

Definition at line 184 of file btMultiBodyDynamicsWorld.cpp.

## ◆ ~btMultiBodyDynamicsWorld()

btMultiBodyDynamicsWorld::~btMultiBodyDynamicsWorld | ( |  | ) |
| virtual

Definition at line 194 of file btMultiBodyDynamicsWorld.cpp.

## Member Function Documentation

## ◆ addMultiBody()

void btMultiBodyDynamicsWorld::addMultiBody | ( | btMultiBody * | body,
|  | int | group = `btBroadphaseProxy::DefaultFilter`,
|  | int | mask = `btBroadphaseProxy::AllFilter`
| ) |  |
| virtual

Definition at line 26 of file btMultiBodyDynamicsWorld.cpp.

## ◆ addMultiBodyConstraint()

void btMultiBodyDynamicsWorld::addMultiBodyConstraint | ( | btMultiBodyConstraint * | constraint | ) |
| virtual

Definition at line 664 of file btMultiBodyDynamicsWorld.cpp.

## ◆ applyGravity()

void btMultiBodyDynamicsWorld::applyGravity | ( |  | ) |
| virtual

apply gravity, call this once per timestep

Reimplemented from btDiscreteDynamicsWorld.

Definition at line 755 of file btMultiBodyDynamicsWorld.cpp.

## ◆ buildIslands()

void btMultiBodyDynamicsWorld::buildIslands | ( |  | ) |

Definition at line 230 of file btMultiBodyDynamicsWorld.cpp.

## ◆ calculateSimulationIslands()

void btMultiBodyDynamicsWorld::calculateSimulationIslands | ( |  | ) |
| protectedvirtual

Reimplemented from btDiscreteDynamicsWorld.

Definition at line 42 of file btMultiBodyDynamicsWorld.cpp.

## ◆ clearForces()

void btMultiBodyDynamicsWorld::clearForces | ( |  | ) |
| virtual

the forces on each rigidbody is accumulating together with gravity. clear this after each timestep.

Reimplemented from btDiscreteDynamicsWorld.

Definition at line 825 of file btMultiBodyDynamicsWorld.cpp.

## ◆ clearMultiBodyConstraintForces()

void btMultiBodyDynamicsWorld::clearMultiBodyConstraintForces | ( |  | ) |
| virtual

Definition at line 789 of file btMultiBodyDynamicsWorld.cpp.

## ◆ clearMultiBodyForces()

void btMultiBodyDynamicsWorld::clearMultiBodyForces | ( |  | ) |
| virtual

Definition at line 797 of file btMultiBodyDynamicsWorld.cpp.

## ◆ debugDrawMultiBodyConstraint()

void btMultiBodyDynamicsWorld::debugDrawMultiBodyConstraint | ( | btMultiBodyConstraint * | constraint | ) |
| virtual

Definition at line 674 of file btMultiBodyDynamicsWorld.cpp.

## ◆ debugDrawWorld()

void btMultiBodyDynamicsWorld::debugDrawWorld | ( |  | ) |
| virtual

Reimplemented from btDiscreteDynamicsWorld.

Reimplemented in btDeformableMultiBodyDynamicsWorld, and btSoftMultiBodyDynamicsWorld.

Definition at line 679 of file btMultiBodyDynamicsWorld.cpp.

## ◆ forwardKinematics()

void btMultiBodyDynamicsWorld::forwardKinematics | ( |  | ) |

Definition at line 215 of file btMultiBodyDynamicsWorld.cpp.

## ◆ getAnalyticsData()

void btMultiBodyDynamicsWorld::getAnalyticsData | ( | btAlignedObjectArray< struct btSolverAnalyticsData > & | m_islandAnalyticsData | ) | const
| virtual

Definition at line 179 of file btMultiBodyDynamicsWorld.cpp.

## ◆ getMultiBody() [1/2]

btMultiBody * btMultiBodyDynamicsWorld::getMultiBody | ( | int | mbIndex | ) |
| inline

Definition at line 71 of file btMultiBodyDynamicsWorld.h.

## ◆ getMultiBody() [2/2]

const btMultiBody * btMultiBodyDynamicsWorld::getMultiBody | ( | int | mbIndex | ) | const
| inline

Definition at line 76 of file btMultiBodyDynamicsWorld.h.

## ◆ getMultiBodyConstraint() [1/2]

virtual btMultiBodyConstraint * btMultiBodyDynamicsWorld::getMultiBodyConstraint | ( | int | constraintIndex | ) |
| inlinevirtual

Definition at line 88 of file btMultiBodyDynamicsWorld.h.

## ◆ getMultiBodyConstraint() [2/2]

virtual const btMultiBodyConstraint * btMultiBodyDynamicsWorld::getMultiBodyConstraint | ( | int | constraintIndex | ) | const
| inlinevirtual

Definition at line 93 of file btMultiBodyDynamicsWorld.h.

## ◆ getNumMultibodies()

virtual int btMultiBodyDynamicsWorld::getNumMultibodies | ( |  | ) | const
| inlinevirtual

Definition at line 66 of file btMultiBodyDynamicsWorld.h.

## ◆ getNumMultiBodyConstraints()

virtual int btMultiBodyDynamicsWorld::getNumMultiBodyConstraints | ( |  | ) | const
| inlinevirtual

Definition at line 83 of file btMultiBodyDynamicsWorld.h.

## ◆ integrateMultiBodyTransforms()

void btMultiBodyDynamicsWorld::integrateMultiBodyTransforms | ( | btScalar | timeStep | ) |

base + num m_links

Definition at line 581 of file btMultiBodyDynamicsWorld.cpp.

## ◆ integrateTransforms()

void btMultiBodyDynamicsWorld::integrateTransforms | ( | btScalar | timeStep | ) |
| virtual

Reimplemented from btDiscreteDynamicsWorld.

Reimplemented in btDeformableMultiBodyDynamicsWorld.

Definition at line 575 of file btMultiBodyDynamicsWorld.cpp.

## ◆ predictMultiBodyTransforms()

void btMultiBodyDynamicsWorld::predictMultiBodyTransforms | ( | btScalar | timeStep | ) |

Definition at line 630 of file btMultiBodyDynamicsWorld.cpp.

## ◆ predictUnconstraintMotion()

void btMultiBodyDynamicsWorld::predictUnconstraintMotion | ( | btScalar | timeStep | ) |
| virtual

Reimplemented from btDiscreteDynamicsWorld.

Reimplemented in btDeformableMultiBodyDynamicsWorld, and btSoftMultiBodyDynamicsWorld.

Definition at line 36 of file btMultiBodyDynamicsWorld.cpp.

## ◆ removeMultiBody()

void btMultiBodyDynamicsWorld::removeMultiBody | ( | btMultiBody * | body | ) |
| virtual

Definition at line 31 of file btMultiBodyDynamicsWorld.cpp.

## ◆ removeMultiBodyConstraint()

void btMultiBodyDynamicsWorld::removeMultiBodyConstraint | ( | btMultiBodyConstraint * | constraint | ) |
| virtual

Definition at line 669 of file btMultiBodyDynamicsWorld.cpp.

## ◆ saveKinematicState()

void btMultiBodyDynamicsWorld::saveKinematicState | ( | btScalar | timeStep | ) |
| virtual

Reimplemented from btDiscreteDynamicsWorld.

Definition at line 880 of file btMultiBodyDynamicsWorld.cpp.

## ◆ serialize()

void btMultiBodyDynamicsWorld::serialize | ( | btSerializer * | serializer | ) |
| virtual

Preliminary serialization test for Bullet 2.76. Loading those files requires a separate parser (see Bullet/Demos/SerializeDemo)

Reimplemented from btDiscreteDynamicsWorld.

Reimplemented in btSoftMultiBodyDynamicsWorld.

Definition at line 834 of file btMultiBodyDynamicsWorld.cpp.

## ◆ serializeMultiBodies()

void btMultiBodyDynamicsWorld::serializeMultiBodies | ( | btSerializer * | serializer | ) |
| protectedvirtual

Definition at line 851 of file btMultiBodyDynamicsWorld.cpp.

## ◆ setConstraintSolver()

void btMultiBodyDynamicsWorld::setConstraintSolver | ( | btConstraintSolver * | solver | ) |
| virtual

Reimplemented from btDiscreteDynamicsWorld.

Definition at line 206 of file btMultiBodyDynamicsWorld.cpp.

## ◆ setMultiBodyConstraintSolver()

void btMultiBodyDynamicsWorld::setMultiBodyConstraintSolver | ( | btMultiBodyConstraintSolver * | solver | ) |
| virtual

Definition at line 199 of file btMultiBodyDynamicsWorld.cpp.

## ◆ solveConstraints()

void btMultiBodyDynamicsWorld::solveConstraints | ( | btContactSolverInfo & | solverInfo | ) |
| virtual

Reimplemented from btDiscreteDynamicsWorld.

Definition at line 223 of file btMultiBodyDynamicsWorld.cpp.

## ◆ solveExternalForces()

void btMultiBodyDynamicsWorld::solveExternalForces | ( | btContactSolverInfo & | solverInfo | ) |
| virtual

Definition at line 288 of file btMultiBodyDynamicsWorld.cpp.

## ◆ solveInternalConstraints()

void btMultiBodyDynamicsWorld::solveInternalConstraints | ( | btContactSolverInfo & | solverInfo | ) |
| virtual

solve all the constraints for this island

Definition at line 235 of file btMultiBodyDynamicsWorld.cpp.

## ◆ updateActivationState()

void btMultiBodyDynamicsWorld::updateActivationState | ( | btScalar | timeStep | ) |
| protectedvirtual

Reimplemented from btDiscreteDynamicsWorld.

Reimplemented in btDeformableMultiBodyDynamicsWorld.

Definition at line 125 of file btMultiBodyDynamicsWorld.cpp.

## Member Data Documentation

## ◆ m_multiBodies

btAlignedObjectArray<btMultiBody*> btMultiBodyDynamicsWorld::m_multiBodies
| protected

Definition at line 34 of file btMultiBodyDynamicsWorld.h.

## ◆ m_multiBodyConstraints

btAlignedObjectArray<btMultiBodyConstraint*> btMultiBodyDynamicsWorld::m_multiBodyConstraints
| protected

Definition at line 35 of file btMultiBodyDynamicsWorld.h.

## ◆ m_multiBodyConstraintSolver

btMultiBodyConstraintSolver* btMultiBodyDynamicsWorld::m_multiBodyConstraintSolver
| protected

Definition at line 37 of file btMultiBodyDynamicsWorld.h.

## ◆ m_scratch_local_origin

btAlignedObjectArray<btVector3> btMultiBodyDynamicsWorld::m_scratch_local_origin
| protected

Definition at line 42 of file btMultiBodyDynamicsWorld.h.

## ◆ m_scratch_local_origin1

btAlignedObjectArray<btVector3> btMultiBodyDynamicsWorld::m_scratch_local_origin1
| protected

Definition at line 44 of file btMultiBodyDynamicsWorld.h.

## ◆ m_scratch_m

btAlignedObjectArray<btMatrix3x3> btMultiBodyDynamicsWorld::m_scratch_m
| protected

Definition at line 47 of file btMultiBodyDynamicsWorld.h.

## ◆ m_scratch_r

btAlignedObjectArray<btScalar> btMultiBodyDynamicsWorld::m_scratch_r
| protected

Definition at line 45 of file btMultiBodyDynamicsWorld.h.

## ◆ m_scratch_v

btAlignedObjectArray<btVector3> btMultiBodyDynamicsWorld::m_scratch_v
| protected

Definition at line 46 of file btMultiBodyDynamicsWorld.h.

## ◆ m_scratch_world_to_local

btAlignedObjectArray<btQuaternion> btMultiBodyDynamicsWorld::m_scratch_world_to_local
| protected

Definition at line 41 of file btMultiBodyDynamicsWorld.h.

## ◆ m_scratch_world_to_local1

btAlignedObjectArray<btQuaternion> btMultiBodyDynamicsWorld::m_scratch_world_to_local1
| protected

Definition at line 43 of file btMultiBodyDynamicsWorld.h.

## ◆ m_solverMultiBodyIslandCallback

MultiBodyInplaceSolverIslandCallback* btMultiBodyDynamicsWorld::m_solverMultiBodyIslandCallback
| protected

Definition at line 38 of file btMultiBodyDynamicsWorld.h.

## ◆ m_sortedMultiBodyConstraints

btAlignedObjectArray<btMultiBodyConstraint*> btMultiBodyDynamicsWorld::m_sortedMultiBodyConstraints
| protected

Definition at line 36 of file btMultiBodyDynamicsWorld.h.

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

- btMultiBodyDynamicsWorld.h
- btMultiBodyDynamicsWorld.cpp