#include <btDiscreteDynamicsWorld.h>
Public Member Functions | |
virtual void | addAction (btActionInterface *) |
virtual void | addCharacter (btActionInterface *character) |
obsolete, use addAction instead | |
virtual void | addCollisionObject (btCollisionObject *collisionObject, short int collisionFilterGroup=btBroadphaseProxy::StaticFilter, short int collisionFilterMask=btBroadphaseProxy::AllFilter^btBroadphaseProxy::StaticFilter) |
virtual void | addConstraint (btTypedConstraint *constraint, bool disableCollisionsBetweenLinkedBodies=false) |
virtual void | addRigidBody (btRigidBody *body) |
virtual void | addRigidBody (btRigidBody *body, short group, short mask) |
virtual void | addVehicle (btActionInterface *vehicle) |
obsolete, use addAction instead | |
virtual void | applyGravity () |
apply gravity, call this once per timestep | |
btDiscreteDynamicsWorld (btDispatcher *dispatcher, btBroadphaseInterface *pairCache, btConstraintSolver *constraintSolver, btCollisionConfiguration *collisionConfiguration) | |
this btDiscreteDynamicsWorld constructor gets created objects from the user, and will not delete those | |
virtual void | clearForces () |
the forces on each rigidbody is accumulating together with gravity. clear this after each timestep. | |
void | debugDrawConstraint (btTypedConstraint *constraint) |
virtual void | debugDrawWorld () |
btCollisionWorld * | getCollisionWorld () |
virtual btTypedConstraint * | getConstraint (int index) |
virtual const btTypedConstraint * | getConstraint (int index) const |
virtual btConstraintSolver * | getConstraintSolver () |
virtual btVector3 | getGravity () const |
virtual int | getNumConstraints () const |
btSimulationIslandManager * | getSimulationIslandManager () |
const btSimulationIslandManager * | getSimulationIslandManager () const |
bool | getSynchronizeAllMotionStates () const |
virtual btDynamicsWorldType | getWorldType () const |
virtual void | removeAction (btActionInterface *) |
virtual void | removeCharacter (btActionInterface *character) |
obsolete, use removeAction instead | |
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 | removeConstraint (btTypedConstraint *constraint) |
virtual void | removeRigidBody (btRigidBody *body) |
virtual void | removeVehicle (btActionInterface *vehicle) |
obsolete, use removeAction instead | |
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 | setConstraintSolver (btConstraintSolver *solver) |
virtual void | setGravity (const btVector3 &gravity) |
virtual void | setNumTasks (int numTasks) |
void | setSynchronizeAllMotionStates (bool synchronizeAll) |
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 | synchronizeMotionStates () |
void | synchronizeSingleMotionState (btRigidBody *body) |
this can be useful to synchronize a single rigid body -> graphics object | |
virtual void | updateVehicles (btScalar timeStep) |
obsolete, use updateActions instead | |
virtual | ~btDiscreteDynamicsWorld () |
Protected Member Functions | |
virtual void | calculateSimulationIslands () |
virtual void | integrateTransforms (btScalar timeStep) |
virtual void | internalSingleStepSimulation (btScalar timeStep) |
virtual void | predictUnconstraintMotion (btScalar timeStep) |
virtual void | saveKinematicState (btScalar timeStep) |
void | serializeRigidBodies (btSerializer *serializer) |
virtual void | solveConstraints (btContactSolverInfo &solverInfo) |
void | startProfiling (btScalar timeStep) |
void | updateActions (btScalar timeStep) |
void | updateActivationState (btScalar timeStep) |
Protected Attributes | |
btAlignedObjectArray < btActionInterface * > | m_actions |
btAlignedObjectArray < btTypedConstraint * > | m_constraints |
btConstraintSolver * | m_constraintSolver |
btVector3 | m_gravity |
btSimulationIslandManager * | m_islandManager |
btScalar | m_localTime |
btAlignedObjectArray < btRigidBody * > | m_nonStaticRigidBodies |
bool | m_ownsConstraintSolver |
bool | m_ownsIslandManager |
int | m_profileTimings |
bool | m_synchronizeAllMotionStates |
btDiscreteDynamicsWorld provides discrete rigid body simulation those classes replace the obsolete CcdPhysicsEnvironment/CcdPhysicsController
Definition at line 35 of file btDiscreteDynamicsWorld.h.
btDiscreteDynamicsWorld::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::~btDiscreteDynamicsWorld | ( | ) | [virtual] |
virtual void btDiscreteDynamicsWorld::addAction | ( | btActionInterface * | ) | [virtual] |
Implements btDynamicsWorld.
virtual void btDiscreteDynamicsWorld::addCharacter | ( | btActionInterface * | character | ) | [virtual] |
obsolete, use addAction instead
Reimplemented from btDynamicsWorld.
virtual void btDiscreteDynamicsWorld::addCollisionObject | ( | btCollisionObject * | collisionObject, |
short int | collisionFilterGroup = btBroadphaseProxy::StaticFilter , |
||
short int | collisionFilterMask = btBroadphaseProxy::AllFilter^btBroadphaseProxy::StaticFilter |
||
) | [virtual] |
Reimplemented from btCollisionWorld.
virtual void btDiscreteDynamicsWorld::addConstraint | ( | btTypedConstraint * | constraint, |
bool | disableCollisionsBetweenLinkedBodies = false |
||
) | [virtual] |
Reimplemented from btDynamicsWorld.
virtual void btDiscreteDynamicsWorld::addRigidBody | ( | btRigidBody * | body | ) | [virtual] |
Implements btDynamicsWorld.
virtual void btDiscreteDynamicsWorld::addRigidBody | ( | btRigidBody * | body, |
short | group, | ||
short | mask | ||
) | [virtual] |
Implements btDynamicsWorld.
virtual void btDiscreteDynamicsWorld::addVehicle | ( | btActionInterface * | vehicle | ) | [virtual] |
obsolete, use addAction instead
Reimplemented from btDynamicsWorld.
virtual void btDiscreteDynamicsWorld::applyGravity | ( | ) | [virtual] |
apply gravity, call this once per timestep
virtual void btDiscreteDynamicsWorld::calculateSimulationIslands | ( | ) | [protected, virtual] |
virtual void btDiscreteDynamicsWorld::clearForces | ( | ) | [virtual] |
the forces on each rigidbody is accumulating together with gravity. clear this after each timestep.
Implements btDynamicsWorld.
void btDiscreteDynamicsWorld::debugDrawConstraint | ( | btTypedConstraint * | constraint | ) |
virtual void btDiscreteDynamicsWorld::debugDrawWorld | ( | ) | [virtual] |
Implements btDynamicsWorld.
Reimplemented in btSoftRigidDynamicsWorld.
btCollisionWorld* btDiscreteDynamicsWorld::getCollisionWorld | ( | ) | [inline] |
Definition at line 117 of file btDiscreteDynamicsWorld.h.
virtual btTypedConstraint* btDiscreteDynamicsWorld::getConstraint | ( | int | index | ) | [virtual] |
Reimplemented from btDynamicsWorld.
virtual const btTypedConstraint* btDiscreteDynamicsWorld::getConstraint | ( | int | index | ) | const [virtual] |
Reimplemented from btDynamicsWorld.
virtual btConstraintSolver* btDiscreteDynamicsWorld::getConstraintSolver | ( | ) | [virtual] |
Implements btDynamicsWorld.
virtual btVector3 btDiscreteDynamicsWorld::getGravity | ( | ) | const [virtual] |
Implements btDynamicsWorld.
virtual int btDiscreteDynamicsWorld::getNumConstraints | ( | ) | const [virtual] |
Reimplemented from btDynamicsWorld.
Definition at line 107 of file btDiscreteDynamicsWorld.h.
const btSimulationIslandManager* btDiscreteDynamicsWorld::getSimulationIslandManager | ( | ) | const [inline] |
Definition at line 112 of file btDiscreteDynamicsWorld.h.
bool btDiscreteDynamicsWorld::getSynchronizeAllMotionStates | ( | ) | const [inline] |
Definition at line 188 of file btDiscreteDynamicsWorld.h.
virtual btDynamicsWorldType btDiscreteDynamicsWorld::getWorldType | ( | ) | const [inline, virtual] |
Implements btDynamicsWorld.
Reimplemented in btSoftRigidDynamicsWorld.
Definition at line 153 of file btDiscreteDynamicsWorld.h.
virtual void btDiscreteDynamicsWorld::integrateTransforms | ( | btScalar | timeStep | ) | [protected, virtual] |
virtual void btDiscreteDynamicsWorld::internalSingleStepSimulation | ( | btScalar | timeStep | ) | [protected, virtual] |
Reimplemented in btSoftRigidDynamicsWorld.
virtual void btDiscreteDynamicsWorld::predictUnconstraintMotion | ( | btScalar | timeStep | ) | [protected, virtual] |
Reimplemented in btSoftRigidDynamicsWorld.
virtual void btDiscreteDynamicsWorld::removeAction | ( | btActionInterface * | ) | [virtual] |
Implements btDynamicsWorld.
virtual void btDiscreteDynamicsWorld::removeCharacter | ( | btActionInterface * | character | ) | [virtual] |
obsolete, use removeAction instead
Reimplemented from btDynamicsWorld.
virtual 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 btSoftRigidDynamicsWorld.
virtual void btDiscreteDynamicsWorld::removeConstraint | ( | btTypedConstraint * | constraint | ) | [virtual] |
Reimplemented from btDynamicsWorld.
virtual void btDiscreteDynamicsWorld::removeRigidBody | ( | btRigidBody * | body | ) | [virtual] |
Implements btDynamicsWorld.
virtual void btDiscreteDynamicsWorld::removeVehicle | ( | btActionInterface * | vehicle | ) | [virtual] |
obsolete, use removeAction instead
Reimplemented from btDynamicsWorld.
virtual void btDiscreteDynamicsWorld::saveKinematicState | ( | btScalar | timeStep | ) | [protected, virtual] |
virtual 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 btSoftRigidDynamicsWorld.
void btDiscreteDynamicsWorld::serializeRigidBodies | ( | btSerializer * | serializer | ) | [protected] |
virtual void btDiscreteDynamicsWorld::setConstraintSolver | ( | btConstraintSolver * | solver | ) | [virtual] |
Implements btDynamicsWorld.
virtual void btDiscreteDynamicsWorld::setGravity | ( | const btVector3 & | gravity | ) | [virtual] |
Implements btDynamicsWorld.
virtual void btDiscreteDynamicsWorld::setNumTasks | ( | int | numTasks | ) | [inline, virtual] |
Definition at line 164 of file btDiscreteDynamicsWorld.h.
void btDiscreteDynamicsWorld::setSynchronizeAllMotionStates | ( | bool | synchronizeAll | ) | [inline] |
Definition at line 184 of file btDiscreteDynamicsWorld.h.
virtual void btDiscreteDynamicsWorld::solveConstraints | ( | btContactSolverInfo & | solverInfo | ) | [protected, virtual] |
void btDiscreteDynamicsWorld::startProfiling | ( | btScalar | timeStep | ) | [protected] |
virtual 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.
virtual void btDiscreteDynamicsWorld::synchronizeMotionStates | ( | ) | [virtual] |
Implements btDynamicsWorld.
void btDiscreteDynamicsWorld::synchronizeSingleMotionState | ( | btRigidBody * | body | ) |
this can be useful to synchronize a single rigid body -> graphics object
void btDiscreteDynamicsWorld::updateActions | ( | btScalar | timeStep | ) | [protected] |
void btDiscreteDynamicsWorld::updateActivationState | ( | btScalar | timeStep | ) | [protected] |
virtual void btDiscreteDynamicsWorld::updateVehicles | ( | btScalar | timeStep | ) | [inline, virtual] |
obsolete, use updateActions instead
Definition at line 170 of file btDiscreteDynamicsWorld.h.
Definition at line 57 of file btDiscreteDynamicsWorld.h.
Definition at line 43 of file btDiscreteDynamicsWorld.h.
Definition at line 39 of file btDiscreteDynamicsWorld.h.
btVector3 btDiscreteDynamicsWorld::m_gravity [protected] |
Definition at line 47 of file btDiscreteDynamicsWorld.h.
Definition at line 41 of file btDiscreteDynamicsWorld.h.
btScalar btDiscreteDynamicsWorld::m_localTime [protected] |
Definition at line 50 of file btDiscreteDynamicsWorld.h.
Definition at line 45 of file btDiscreteDynamicsWorld.h.
bool btDiscreteDynamicsWorld::m_ownsConstraintSolver [protected] |
Definition at line 54 of file btDiscreteDynamicsWorld.h.
bool btDiscreteDynamicsWorld::m_ownsIslandManager [protected] |
Definition at line 53 of file btDiscreteDynamicsWorld.h.
int btDiscreteDynamicsWorld::m_profileTimings [protected] |
Definition at line 59 of file btDiscreteDynamicsWorld.h.
bool btDiscreteDynamicsWorld::m_synchronizeAllMotionStates [protected] |
Definition at line 55 of file btDiscreteDynamicsWorld.h.