Blender V5.0
btSimpleDynamicsWorld Class Reference

#include <btSimpleDynamicsWorld.h>

Inherits btDynamicsWorld.

Public Member Functions

 btSimpleDynamicsWorld (btDispatcher *dispatcher, btBroadphaseInterface *pairCache, btConstraintSolver *constraintSolver, btCollisionConfiguration *collisionConfiguration)
 this btSimpleDynamicsWorld constructor creates dispatcher, broadphase pairCache and constraintSolver
virtual ~btSimpleDynamicsWorld ()
virtual int stepSimulation (btScalar timeStep, int maxSubSteps=1, btScalar fixedTimeStep=btScalar(1.)/btScalar(60.))
 maxSubSteps/fixedTimeStep for interpolation is currently ignored for btSimpleDynamicsWorld, use btDiscreteDynamicsWorld instead
virtual void setGravity (const btVector3 &gravity)
virtual btVector3 getGravity () const
virtual void addRigidBody (btRigidBody *body)
virtual void addRigidBody (btRigidBody *body, int group, int mask)
virtual void removeRigidBody (btRigidBody *body)
virtual void debugDrawWorld ()
virtual void addAction (btActionInterface *action)
virtual void removeAction (btActionInterface *action)
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 updateAabbs ()
virtual void synchronizeMotionStates ()
virtual void setConstraintSolver (btConstraintSolver *solver)
virtual btConstraintSolvergetConstraintSolver ()
virtual btDynamicsWorldType getWorldType () const
virtual void clearForces ()
Public Member Functions inherited from btDynamicsWorld
 btDynamicsWorld (btDispatcher *dispatcher, btBroadphaseInterface *broadphase, btCollisionConfiguration *collisionConfiguration)
virtual ~btDynamicsWorld ()
virtual void addConstraint (btTypedConstraint *constraint, bool disableCollisionsBetweenLinkedBodies=false)
virtual void removeConstraint (btTypedConstraint *constraint)
virtual int getNumConstraints () const
virtual btTypedConstraintgetConstraint (int index)
virtual const btTypedConstraintgetConstraint (int index) const
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
btContactSolverInfogetSolverInfo ()
const btContactSolverInfogetSolverInfo () 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 btBroadphaseInterfacegetBroadphase () const
btBroadphaseInterfacegetBroadphase ()
btOverlappingPairCachegetPairCache ()
btDispatchergetDispatcher ()
const btDispatchergetDispatcher () const
void updateSingleAabb (btCollisionObject *colObj)
virtual void computeOverlappingPairs ()
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
void convexSweepTest (const btConvexShape *castShape, const btTransform &from, const btTransform &to, ConvexResultCallback &resultCallback, btScalar allowedCcdPenetration=btScalar(0.)) const
void contactTest (btCollisionObject *colObj, ContactResultCallback &resultCallback)
void contactPairTest (btCollisionObject *colObjA, btCollisionObject *colObjB, ContactResultCallback &resultCallback)
virtual void addCollisionObject (btCollisionObject *collisionObject, int collisionFilterGroup=btBroadphaseProxy::DefaultFilter, int collisionFilterMask=btBroadphaseProxy::AllFilter)
virtual void refreshBroadphaseProxy (btCollisionObject *collisionObject)
btCollisionObjectArraygetCollisionObjectArray ()
const btCollisionObjectArraygetCollisionObjectArray () const
virtual void performDiscreteCollisionDetection ()
btDispatcherInfogetDispatchInfo ()
const btDispatcherInfogetDispatchInfo () 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

void predictUnconstraintMotion (btScalar timeStep)
void integrateTransforms (btScalar timeStep)
Protected Member Functions inherited from btCollisionWorld
void serializeCollisionObjects (btSerializer *serializer)
void serializeContactManifolds (btSerializer *serializer)

Protected Attributes

btConstraintSolverm_constraintSolver
bool m_ownsConstraintSolver
btVector3 m_gravity
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

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)
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 btSimpleDynamicsWorld serves as unit-test and to verify more complicated and optimized dynamics worlds. Please use btDiscreteDynamicsWorld instead

Definition at line 27 of file btSimpleDynamicsWorld.h.

Constructor & Destructor Documentation

◆ btSimpleDynamicsWorld()

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

this btSimpleDynamicsWorld constructor creates dispatcher, broadphase pairCache and constraintSolver

Definition at line 35 of file btSimpleDynamicsWorld.cpp.

References btDynamicsWorld::btDynamicsWorld(), false, m_constraintSolver, m_gravity, and m_ownsConstraintSolver.

◆ ~btSimpleDynamicsWorld()

btSimpleDynamicsWorld::~btSimpleDynamicsWorld ( )
virtual

Member Function Documentation

◆ addAction()

void btSimpleDynamicsWorld::addAction ( btActionInterface * action)
virtual

Implements btDynamicsWorld.

Definition at line 162 of file btSimpleDynamicsWorld.cpp.

◆ addRigidBody() [1/2]

void btSimpleDynamicsWorld::addRigidBody ( btRigidBody * body)
virtual

◆ addRigidBody() [2/2]

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

◆ clearForces()

void btSimpleDynamicsWorld::clearForces ( )
virtual
Todo
: iterate over awake simulation islands!

Implements btDynamicsWorld.

Definition at line 90 of file btSimpleDynamicsWorld.cpp.

References btCollisionObject, btRigidBody::clearForces(), i, btCollisionWorld::m_collisionObjects, and btRigidBody::upcast().

Referenced by stepSimulation().

◆ debugDrawWorld()

void btSimpleDynamicsWorld::debugDrawWorld ( )
virtual

Implements btDynamicsWorld.

Definition at line 158 of file btSimpleDynamicsWorld.cpp.

◆ getConstraintSolver()

btConstraintSolver * btSimpleDynamicsWorld::getConstraintSolver ( )
virtual

Implements btDynamicsWorld.

Definition at line 257 of file btSimpleDynamicsWorld.cpp.

References m_constraintSolver.

◆ getGravity()

btVector3 btSimpleDynamicsWorld::getGravity ( ) const
virtual

Implements btDynamicsWorld.

Definition at line 119 of file btSimpleDynamicsWorld.cpp.

References btVector3, and m_gravity.

◆ getWorldType()

virtual btDynamicsWorldType btSimpleDynamicsWorld::getWorldType ( ) const
inlinevirtual

Implements btDynamicsWorld.

Definition at line 76 of file btSimpleDynamicsWorld.h.

References BT_SIMPLE_DYNAMICS_WORLD.

◆ integrateTransforms()

void btSimpleDynamicsWorld::integrateTransforms ( btScalar timeStep)
protected

◆ predictUnconstraintMotion()

◆ removeAction()

void btSimpleDynamicsWorld::removeAction ( btActionInterface * action)
virtual

Implements btDynamicsWorld.

Definition at line 166 of file btSimpleDynamicsWorld.cpp.

◆ removeCollisionObject()

void btSimpleDynamicsWorld::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.

Definition at line 129 of file btSimpleDynamicsWorld.cpp.

References btCollisionObject, btCollisionWorld::removeCollisionObject(), removeRigidBody(), and btRigidBody::upcast().

◆ removeRigidBody()

void btSimpleDynamicsWorld::removeRigidBody ( btRigidBody * body)
virtual

Implements btDynamicsWorld.

Definition at line 124 of file btSimpleDynamicsWorld.cpp.

References btCollisionWorld::removeCollisionObject().

Referenced by removeCollisionObject().

◆ setConstraintSolver()

void btSimpleDynamicsWorld::setConstraintSolver ( btConstraintSolver * solver)
virtual

Implements btDynamicsWorld.

Definition at line 247 of file btSimpleDynamicsWorld.cpp.

References btAlignedFree, m_constraintSolver, and m_ownsConstraintSolver.

◆ setGravity()

void btSimpleDynamicsWorld::setGravity ( const btVector3 & gravity)
virtual

◆ stepSimulation()

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

◆ synchronizeMotionStates()

void btSimpleDynamicsWorld::synchronizeMotionStates ( )
virtual

◆ updateAabbs()

Member Data Documentation

◆ m_constraintSolver

btConstraintSolver* btSimpleDynamicsWorld::m_constraintSolver
protected

◆ m_gravity

btVector3 btSimpleDynamicsWorld::m_gravity
protected

◆ m_ownsConstraintSolver

bool btSimpleDynamicsWorld::m_ownsConstraintSolver
protected

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