Bullet Collision Detection & Physics Library
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
btDiscreteDynamicsWorld Class Reference

btDiscreteDynamicsWorld provides discrete rigid body simulation those classes replace the obsolete CcdPhysicsEnvironment/CcdPhysicsController More...

#include <btDiscreteDynamicsWorld.h>

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

Public Member Functions

 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 More...
 
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 More...
 
virtual void synchronizeMotionStates ()
 
void synchronizeSingleMotionState (btRigidBody *body)
 this can be useful to synchronize a single rigid body -> graphics object More...
 
virtual void addConstraint (btTypedConstraint *constraint, bool disableCollisionsBetweenLinkedBodies=false)
 
virtual void removeConstraint (btTypedConstraint *constraint)
 
virtual void addAction (btActionInterface *)
 
virtual void removeAction (btActionInterface *)
 
btSimulationIslandManagergetSimulationIslandManager ()
 
const btSimulationIslandManagergetSimulationIslandManager () const
 
btCollisionWorldgetCollisionWorld ()
 
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 More...
 
virtual void debugDrawConstraint (btTypedConstraint *constraint)
 
virtual void debugDrawWorld ()
 
virtual void setConstraintSolver (btConstraintSolver *solver)
 
virtual btConstraintSolvergetConstraintSolver ()
 
virtual int getNumConstraints () const
 
virtual btTypedConstraintgetConstraint (int index)
 
virtual const btTypedConstraintgetConstraint (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. More...
 
virtual void applyGravity ()
 apply gravity, call this once per timestep More...
 
virtual void setNumTasks (int numTasks)
 
virtual void updateVehicles (btScalar timeStep)
 obsolete, use updateActions instead More...
 
virtual void addVehicle (btActionInterface *vehicle)
 obsolete, use addAction instead More...
 
virtual void removeVehicle (btActionInterface *vehicle)
 obsolete, use removeAction instead More...
 
virtual void addCharacter (btActionInterface *character)
 obsolete, use addAction instead More...
 
virtual void removeCharacter (btActionInterface *character)
 obsolete, use removeAction instead More...
 
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) More...
 
void setLatencyMotionStateInterpolation (bool latencyInterpolation)
 Interpolate motion state between previous and current transform, instead of current and next transform. More...
 
bool getLatencyMotionStateInterpolation () const
 
- Public Member Functions inherited from btDynamicsWorld
 btDynamicsWorld (btDispatcher *dispatcher, btBroadphaseInterface *broadphase, btCollisionConfiguration *collisionConfiguration)
 
virtual ~btDynamicsWorld ()
 
void setInternalTickCallback (btInternalTickCallback cb, void *worldUserInfo=0, bool isPreTick=false)
 Set the callback for when an internal tick (simulation substep) happens, optional user info. More...
 
void setWorldUserInfo (void *worldUserInfo)
 
void * getWorldUserInfo () const
 
btContactSolverInfogetSolverInfo ()
 
const btContactSolverInfogetSolverInfo () const
 
- Public Member Functions inherited from btCollisionWorld
 btCollisionWorld (btDispatcher *dispatcher, btBroadphaseInterface *broadphasePairCache, btCollisionConfiguration *collisionConfiguration)
 for debug drawing More...
 
virtual ~btCollisionWorld ()
 
void setBroadphase (btBroadphaseInterface *pairCache)
 
const btBroadphaseInterfacegetBroadphase () const
 
btBroadphaseInterfacegetBroadphase ()
 
btOverlappingPairCachegetPairCache ()
 
btDispatchergetDispatcher ()
 
const btDispatchergetDispatcher () 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 More...
 
virtual void setDebugDrawer (btIDebugDraw *debugDrawer)
 
virtual btIDebugDrawgetDebugDrawer ()
 
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. More...
 
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. More...
 
void contactTest (btCollisionObject *colObj, ContactResultCallback &resultCallback)
 contactTest performs a discrete collision test between colObj against all objects in the btCollisionWorld, and calls the resultCallback. More...
 
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. More...
 
virtual void refreshBroadphaseProxy (btCollisionObject *collisionObject)
 
btCollisionObjectArraygetCollisionObjectArray ()
 
const btCollisionObjectArraygetCollisionObjectArray () const
 
virtual void performDiscreteCollisionDetection ()
 
btDispatcherInfogetDispatchInfo ()
 
const btDispatcherInfogetDispatchInfo () const
 
bool getForceUpdateAllAabbs () const
 
void setForceUpdateAllAabbs (bool forceUpdateAllAabbs)
 

Protected Member Functions

virtual void predictUnconstraintMotion (btScalar timeStep)
 
void integrateTransformsInternal (btRigidBody **bodies, int numBodies, btScalar timeStep)
 
virtual void integrateTransforms (btScalar timeStep)
 
virtual void calculateSimulationIslands ()
 
virtual void solveConstraints (btContactSolverInfo &solverInfo)
 
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< btTypedConstraint * > m_sortedConstraints
 
InplaceSolverIslandCallbackm_solverIslandCallback
 
btConstraintSolverm_constraintSolver
 
btSimulationIslandManagerm_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
 
btDispatcherm_dispatcher1
 
btDispatcherInfo m_dispatchInfo
 
btBroadphaseInterfacem_broadphasePairCache
 
btIDebugDrawm_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) More...
 

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. More...
 
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. More...
 
static void objectQuerySingleInternal (const btConvexShape *castShape, const btTransform &convexFromTrans, const btTransform &convexToTrans, const btCollisionObjectWrapper *colObjWrap, ConvexResultCallback &resultCallback, btScalar allowedPenetration)
 

Detailed Description

btDiscreteDynamicsWorld provides discrete rigid body simulation those classes replace the obsolete CcdPhysicsEnvironment/CcdPhysicsController

Definition at line 38 of file btDiscreteDynamicsWorld.h.

Constructor & Destructor Documentation

btDiscreteDynamicsWorld::btDiscreteDynamicsWorld ( btDispatcher dispatcher,
btBroadphaseInterface pairCache,
btConstraintSolver constraintSolver,
btCollisionConfiguration collisionConfiguration 
)

this btDiscreteDynamicsWorld constructor gets created objects from the user, and will not delete those

Definition at line 203 of file btDiscreteDynamicsWorld.cpp.

btDiscreteDynamicsWorld::~btDiscreteDynamicsWorld ( )
virtual

Definition at line 241 of file btDiscreteDynamicsWorld.cpp.

Member Function Documentation

void btDiscreteDynamicsWorld::addAction ( btActionInterface action)
virtual

Implements btDynamicsWorld.

Definition at line 676 of file btDiscreteDynamicsWorld.cpp.

void btDiscreteDynamicsWorld::addCharacter ( btActionInterface character)
virtual

obsolete, use addAction instead

Reimplemented from btDynamicsWorld.

Definition at line 697 of file btDiscreteDynamicsWorld.cpp.

void btDiscreteDynamicsWorld::addCollisionObject ( btCollisionObject collisionObject,
int  collisionFilterGroup = btBroadphaseProxy::StaticFilter,
int  collisionFilterMask = btBroadphaseProxy::AllFilter ^ btBroadphaseProxy::StaticFilter 
)
virtual

Reimplemented from btCollisionWorld.

Definition at line 541 of file btDiscreteDynamicsWorld.cpp.

void btDiscreteDynamicsWorld::addConstraint ( btTypedConstraint constraint,
bool  disableCollisionsBetweenLinkedBodies = false 
)
virtual

Reimplemented from btDynamicsWorld.

Definition at line 656 of file btDiscreteDynamicsWorld.cpp.

void btDiscreteDynamicsWorld::addRigidBody ( btRigidBody body)
virtual

Implements btDynamicsWorld.

Definition at line 562 of file btDiscreteDynamicsWorld.cpp.

void btDiscreteDynamicsWorld::addRigidBody ( btRigidBody body,
int  group,
int  mask 
)
virtual

Implements btDynamicsWorld.

Definition at line 587 of file btDiscreteDynamicsWorld.cpp.

void btDiscreteDynamicsWorld::addVehicle ( btActionInterface vehicle)
virtual

obsolete, use addAction instead

Reimplemented from btDynamicsWorld.

Definition at line 687 of file btDiscreteDynamicsWorld.cpp.

void btDiscreteDynamicsWorld::applyGravity ( )
virtual

apply gravity, call this once per timestep

Reimplemented in btMultiBodyDynamicsWorld.

Definition at line 339 of file btDiscreteDynamicsWorld.cpp.

btDiscreteDynamicsWorld::BT_DECLARE_ALIGNED_ALLOCATOR ( )
void btDiscreteDynamicsWorld::calculateSimulationIslands ( )
protectedvirtual

Reimplemented in btMultiBodyDynamicsWorld.

Definition at line 741 of file btDiscreteDynamicsWorld.cpp.

void btDiscreteDynamicsWorld::clearForces ( )
virtual

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

Implements btDynamicsWorld.

Reimplemented in btMultiBodyDynamicsWorld.

Definition at line 326 of file btDiscreteDynamicsWorld.cpp.

void btDiscreteDynamicsWorld::createPredictiveContacts ( btScalar  timeStep)
protectedvirtual

Reimplemented in btDiscreteDynamicsWorldMt.

Definition at line 981 of file btDiscreteDynamicsWorld.cpp.

void btDiscreteDynamicsWorld::createPredictiveContactsInternal ( btRigidBody **  bodies,
int  numBodies,
btScalar  timeStep 
)
protected

Definition at line 883 of file btDiscreteDynamicsWorld.cpp.

void btDiscreteDynamicsWorld::debugDrawConstraint ( btTypedConstraint constraint)
virtual

note: the code for D6_SPRING_2_CONSTRAINT_TYPE is identical to D6_CONSTRAINT_TYPE, the D6_CONSTRAINT_TYPE+D6_SPRING_CONSTRAINT_TYPE will likely become obsolete/deprecated at some stage

Definition at line 1179 of file btDiscreteDynamicsWorld.cpp.

void btDiscreteDynamicsWorld::debugDrawWorld ( )
virtual
bool btDiscreteDynamicsWorld::getApplySpeculativeContactRestitution ( ) const
inline

Definition at line 219 of file btDiscreteDynamicsWorld.h.

btCollisionWorld* btDiscreteDynamicsWorld::getCollisionWorld ( )
inline

Definition at line 138 of file btDiscreteDynamicsWorld.h.

btTypedConstraint * btDiscreteDynamicsWorld::getConstraint ( int  index)
virtual

Reimplemented from btDynamicsWorld.

Definition at line 1438 of file btDiscreteDynamicsWorld.cpp.

const btTypedConstraint * btDiscreteDynamicsWorld::getConstraint ( int  index) const
virtual

Reimplemented from btDynamicsWorld.

Definition at line 1442 of file btDiscreteDynamicsWorld.cpp.

btConstraintSolver * btDiscreteDynamicsWorld::getConstraintSolver ( )
virtual

Implements btDynamicsWorld.

Definition at line 1428 of file btDiscreteDynamicsWorld.cpp.

btVector3 btDiscreteDynamicsWorld::getGravity ( ) const
virtual

Implements btDynamicsWorld.

Definition at line 536 of file btDiscreteDynamicsWorld.cpp.

bool btDiscreteDynamicsWorld::getLatencyMotionStateInterpolation ( ) const
inline

Definition at line 233 of file btDiscreteDynamicsWorld.h.

int btDiscreteDynamicsWorld::getNumConstraints ( ) const
virtual

Reimplemented from btDynamicsWorld.

Definition at line 1434 of file btDiscreteDynamicsWorld.cpp.

btSimulationIslandManager* btDiscreteDynamicsWorld::getSimulationIslandManager ( )
inline

Definition at line 128 of file btDiscreteDynamicsWorld.h.

const btSimulationIslandManager* btDiscreteDynamicsWorld::getSimulationIslandManager ( ) const
inline

Definition at line 133 of file btDiscreteDynamicsWorld.h.

bool btDiscreteDynamicsWorld::getSynchronizeAllMotionStates ( ) const
inline

Definition at line 209 of file btDiscreteDynamicsWorld.h.

virtual btDynamicsWorldType btDiscreteDynamicsWorld::getWorldType ( ) const
inlinevirtual

Implements btDynamicsWorld.

Reimplemented in btSoftMultiBodyDynamicsWorld, and btSoftRigidDynamicsWorld.

Definition at line 174 of file btDiscreteDynamicsWorld.h.

void btDiscreteDynamicsWorld::integrateTransforms ( btScalar  timeStep)
protectedvirtual

this should probably be switched on by default, but it is not well tested yet

Reimplemented in btDiscreteDynamicsWorldMt, and btMultiBodyDynamicsWorld.

Definition at line 1098 of file btDiscreteDynamicsWorld.cpp.

void btDiscreteDynamicsWorld::integrateTransformsInternal ( btRigidBody **  bodies,
int  numBodies,
btScalar  timeStep 
)
protected

Definition at line 991 of file btDiscreteDynamicsWorld.cpp.

void btDiscreteDynamicsWorld::internalSingleStepSimulation ( btScalar  timeStep)
protectedvirtual

apply gravity, predict motion

perform collision detection

solve contact and other joint constraints

CallbackTriggers();

integrate transforms

update vehicle simulation

Reimplemented in btSoftMultiBodyDynamicsWorld, and btSoftRigidDynamicsWorld.

Definition at line 473 of file btDiscreteDynamicsWorld.cpp.

void btDiscreteDynamicsWorld::predictUnconstraintMotion ( btScalar  timeStep)
protectedvirtual
void btDiscreteDynamicsWorld::releasePredictiveContacts ( )
protected

Definition at line 969 of file btDiscreteDynamicsWorld.cpp.

void btDiscreteDynamicsWorld::removeAction ( btActionInterface action)
virtual

Implements btDynamicsWorld.

Definition at line 681 of file btDiscreteDynamicsWorld.cpp.

void btDiscreteDynamicsWorld::removeCharacter ( btActionInterface character)
virtual

obsolete, use removeAction instead

Reimplemented from btDynamicsWorld.

Definition at line 702 of file btDiscreteDynamicsWorld.cpp.

void btDiscreteDynamicsWorld::removeCollisionObject ( btCollisionObject collisionObject)
virtual

removeCollisionObject will first check if it is a rigid body, if so call removeRigidBody otherwise call btCollisionWorld::removeCollisionObject

Reimplemented from btCollisionWorld.

Reimplemented in btSoftMultiBodyDynamicsWorld, and btSoftRigidDynamicsWorld.

Definition at line 546 of file btDiscreteDynamicsWorld.cpp.

void btDiscreteDynamicsWorld::removeConstraint ( btTypedConstraint constraint)
virtual

Reimplemented from btDynamicsWorld.

Definition at line 669 of file btDiscreteDynamicsWorld.cpp.

void btDiscreteDynamicsWorld::removeRigidBody ( btRigidBody body)
virtual

Implements btDynamicsWorld.

Definition at line 555 of file btDiscreteDynamicsWorld.cpp.

void btDiscreteDynamicsWorld::removeVehicle ( btActionInterface vehicle)
virtual

obsolete, use removeAction instead

Reimplemented from btDynamicsWorld.

Definition at line 692 of file btDiscreteDynamicsWorld.cpp.

void btDiscreteDynamicsWorld::saveKinematicState ( btScalar  timeStep)
protectedvirtual

would like to iterate over m_nonStaticRigidBodies, but unfortunately old API allows to switch status after adding kinematic objects to the world fix it for Bullet 3.x release

Definition at line 262 of file btDiscreteDynamicsWorld.cpp.

void btDiscreteDynamicsWorld::serialize ( btSerializer serializer)
virtual

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

Reimplemented from btCollisionWorld.

Reimplemented in btMultiBodyDynamicsWorld, btSoftMultiBodyDynamicsWorld, and btSoftRigidDynamicsWorld.

Definition at line 1531 of file btDiscreteDynamicsWorld.cpp.

void btDiscreteDynamicsWorld::serializeDynamicsWorldInfo ( btSerializer serializer)
protected

Definition at line 1478 of file btDiscreteDynamicsWorld.cpp.

void btDiscreteDynamicsWorld::serializeRigidBodies ( btSerializer serializer)
protected

Definition at line 1449 of file btDiscreteDynamicsWorld.cpp.

void btDiscreteDynamicsWorld::setApplySpeculativeContactRestitution ( bool  enable)
inline

Definition at line 214 of file btDiscreteDynamicsWorld.h.

void btDiscreteDynamicsWorld::setConstraintSolver ( btConstraintSolver solver)
virtual

Implements btDynamicsWorld.

Reimplemented in btMultiBodyDynamicsWorld.

Definition at line 1417 of file btDiscreteDynamicsWorld.cpp.

void btDiscreteDynamicsWorld::setGravity ( const btVector3 gravity)
virtual

Implements btDynamicsWorld.

Definition at line 523 of file btDiscreteDynamicsWorld.cpp.

void btDiscreteDynamicsWorld::setLatencyMotionStateInterpolation ( bool  latencyInterpolation)
inline

Interpolate motion state between previous and current transform, instead of current and next transform.

This can relieve discontinuities in the rendering, due to penetrations

Definition at line 229 of file btDiscreteDynamicsWorld.h.

virtual void btDiscreteDynamicsWorld::setNumTasks ( int  numTasks)
inlinevirtual

Definition at line 185 of file btDiscreteDynamicsWorld.h.

void btDiscreteDynamicsWorld::setSynchronizeAllMotionStates ( bool  synchronizeAll)
inline

Definition at line 205 of file btDiscreteDynamicsWorld.h.

void btDiscreteDynamicsWorld::solveConstraints ( btContactSolverInfo solverInfo)
protectedvirtual

solve all the constraints for this island

Reimplemented in btDiscreteDynamicsWorldMt, and btMultiBodyDynamicsWorld.

Definition at line 710 of file btDiscreteDynamicsWorld.cpp.

void btDiscreteDynamicsWorld::startProfiling ( btScalar  timeStep)
protected

Definition at line 1164 of file btDiscreteDynamicsWorld.cpp.

int btDiscreteDynamicsWorld::stepSimulation ( btScalar  timeStep,
int  maxSubSteps = 1,
btScalar  fixedTimeStep = btScalar(1.)/btScalar(60.) 
)
virtual

if maxSubSteps > 0, it will interpolate motion between fixedTimeStep's

Implements btDynamicsWorld.

Reimplemented in btDiscreteDynamicsWorldMt.

Definition at line 401 of file btDiscreteDynamicsWorld.cpp.

void btDiscreteDynamicsWorld::synchronizeMotionStates ( )
virtual

Implements btDynamicsWorld.

Definition at line 375 of file btDiscreteDynamicsWorld.cpp.

void btDiscreteDynamicsWorld::synchronizeSingleMotionState ( btRigidBody body)

this can be useful to synchronize a single rigid body -> graphics object

Definition at line 353 of file btDiscreteDynamicsWorld.cpp.

void btDiscreteDynamicsWorld::updateActions ( btScalar  timeStep)
protected

Definition at line 609 of file btDiscreteDynamicsWorld.cpp.

void btDiscreteDynamicsWorld::updateActivationState ( btScalar  timeStep)
protectedvirtual

Reimplemented in btMultiBodyDynamicsWorld.

Definition at line 620 of file btDiscreteDynamicsWorld.cpp.

virtual void btDiscreteDynamicsWorld::updateVehicles ( btScalar  timeStep)
inlinevirtual

obsolete, use updateActions instead

Definition at line 191 of file btDiscreteDynamicsWorld.h.

Member Data Documentation

btAlignedObjectArray<btActionInterface*> btDiscreteDynamicsWorld::m_actions
protected

Definition at line 65 of file btDiscreteDynamicsWorld.h.

bool btDiscreteDynamicsWorld::m_applySpeculativeContactRestitution
protected

Definition at line 63 of file btDiscreteDynamicsWorld.h.

btAlignedObjectArray<btTypedConstraint*> btDiscreteDynamicsWorld::m_constraints
protected

Definition at line 49 of file btDiscreteDynamicsWorld.h.

btConstraintSolver* btDiscreteDynamicsWorld::m_constraintSolver
protected

Definition at line 45 of file btDiscreteDynamicsWorld.h.

btScalar btDiscreteDynamicsWorld::m_fixedTimeStep
protected

Definition at line 57 of file btDiscreteDynamicsWorld.h.

btVector3 btDiscreteDynamicsWorld::m_gravity
protected

Definition at line 53 of file btDiscreteDynamicsWorld.h.

btSimulationIslandManager* btDiscreteDynamicsWorld::m_islandManager
protected

Definition at line 47 of file btDiscreteDynamicsWorld.h.

bool btDiscreteDynamicsWorld::m_latencyMotionStateInterpolation
protected

Definition at line 69 of file btDiscreteDynamicsWorld.h.

btScalar btDiscreteDynamicsWorld::m_localTime
protected

Definition at line 56 of file btDiscreteDynamicsWorld.h.

btAlignedObjectArray<btRigidBody*> btDiscreteDynamicsWorld::m_nonStaticRigidBodies
protected

Definition at line 51 of file btDiscreteDynamicsWorld.h.

bool btDiscreteDynamicsWorld::m_ownsConstraintSolver
protected

Definition at line 61 of file btDiscreteDynamicsWorld.h.

bool btDiscreteDynamicsWorld::m_ownsIslandManager
protected

Definition at line 60 of file btDiscreteDynamicsWorld.h.

btAlignedObjectArray<btPersistentManifold*> btDiscreteDynamicsWorld::m_predictiveManifolds
protected

Definition at line 71 of file btDiscreteDynamicsWorld.h.

btSpinMutex btDiscreteDynamicsWorld::m_predictiveManifoldsMutex
protected

Definition at line 72 of file btDiscreteDynamicsWorld.h.

int btDiscreteDynamicsWorld::m_profileTimings
protected

Definition at line 67 of file btDiscreteDynamicsWorld.h.

InplaceSolverIslandCallback* btDiscreteDynamicsWorld::m_solverIslandCallback
protected

Definition at line 43 of file btDiscreteDynamicsWorld.h.

btAlignedObjectArray<btTypedConstraint*> btDiscreteDynamicsWorld::m_sortedConstraints
protected

Definition at line 42 of file btDiscreteDynamicsWorld.h.

bool btDiscreteDynamicsWorld::m_synchronizeAllMotionStates
protected

Definition at line 62 of file btDiscreteDynamicsWorld.h.


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