Blender V4.3
btMultiBodyDynamicsWorld Class Reference

#include <btMultiBodyDynamicsWorld.h>

Inherits btDiscreteDynamicsWorld.

Inherited by btDeformableMultiBodyDynamicsWorld, and btSoftMultiBodyDynamicsWorld.

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
 
btMultiBodygetMultiBody (int mbIndex)
 
const btMultiBodygetMultiBody (int mbIndex) const
 
virtual void addMultiBodyConstraint (btMultiBodyConstraint *constraint)
 
virtual int getNumMultiBodyConstraints () const
 
virtual btMultiBodyConstraintgetMultiBodyConstraint (int constraintIndex)
 
virtual const btMultiBodyConstraintgetMultiBodyConstraint (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 ()
 
virtual void clearMultiBodyConstraintForces ()
 
virtual void clearMultiBodyForces ()
 
virtual void applyGravity ()
 
virtual void serialize (btSerializer *serializer)
 
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 ()
 

Protected Member Functions

virtual void calculateSimulationIslands ()
 
virtual void updateActivationState (btScalar timeStep)
 
virtual void serializeMultiBodies (btSerializer *serializer)
 

Protected Attributes

btAlignedObjectArray< btMultiBody * > m_multiBodies
 
btAlignedObjectArray< btMultiBodyConstraint * > m_multiBodyConstraints
 
btAlignedObjectArray< btMultiBodyConstraint * > m_sortedMultiBodyConstraints
 
btMultiBodyConstraintSolver * m_multiBodyConstraintSolver
 
MultiBodyInplaceSolverIslandCallbackm_solverMultiBodyIslandCallback
 
btAlignedObjectArray< btQuaternionm_scratch_world_to_local
 
btAlignedObjectArray< btVector3m_scratch_local_origin
 
btAlignedObjectArray< btQuaternionm_scratch_world_to_local1
 
btAlignedObjectArray< btVector3m_scratch_local_origin1
 
btAlignedObjectArray< btScalarm_scratch_r
 
btAlignedObjectArray< btVector3m_scratch_v
 
btAlignedObjectArray< btMatrix3x3m_scratch_m
 

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 )

◆ ~btMultiBodyDynamicsWorld()

btMultiBodyDynamicsWorld::~btMultiBodyDynamicsWorld ( )
virtual

Definition at line 187 of file btMultiBodyDynamicsWorld.cpp.

References m_solverMultiBodyIslandCallback.

Member Function Documentation

◆ addMultiBody()

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

◆ addMultiBodyConstraint()

void btMultiBodyDynamicsWorld::addMultiBodyConstraint ( btMultiBodyConstraint * constraint)
virtual

◆ applyGravity()

void btMultiBodyDynamicsWorld::applyGravity ( )
virtual

◆ buildIslands()

void btMultiBodyDynamicsWorld::buildIslands ( )

◆ calculateSimulationIslands()

◆ clearForces()

void btMultiBodyDynamicsWorld::clearForces ( )
virtual

◆ clearMultiBodyConstraintForces()

void btMultiBodyDynamicsWorld::clearMultiBodyConstraintForces ( )
virtual

◆ clearMultiBodyForces()

void btMultiBodyDynamicsWorld::clearMultiBodyForces ( )
virtual

◆ debugDrawMultiBodyConstraint()

void btMultiBodyDynamicsWorld::debugDrawMultiBodyConstraint ( btMultiBodyConstraint * constraint)
virtual

Definition at line 667 of file btMultiBodyDynamicsWorld.cpp.

Referenced by debugDrawWorld().

◆ debugDrawWorld()

◆ forwardKinematics()

◆ getAnalyticsData()

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

◆ getMultiBody() [1/2]

btMultiBody * btMultiBodyDynamicsWorld::getMultiBody ( int mbIndex)
inline

Definition at line 71 of file btMultiBodyDynamicsWorld.h.

References m_multiBodies.

◆ getMultiBody() [2/2]

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

Definition at line 76 of file btMultiBodyDynamicsWorld.h.

References m_multiBodies.

◆ getMultiBodyConstraint() [1/2]

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

Definition at line 88 of file btMultiBodyDynamicsWorld.h.

References m_multiBodyConstraints.

◆ getMultiBodyConstraint() [2/2]

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

Definition at line 93 of file btMultiBodyDynamicsWorld.h.

References m_multiBodyConstraints.

◆ getNumMultibodies()

virtual int btMultiBodyDynamicsWorld::getNumMultibodies ( ) const
inlinevirtual

Definition at line 66 of file btMultiBodyDynamicsWorld.h.

References m_multiBodies, and btAlignedObjectArray< T >::size().

◆ getNumMultiBodyConstraints()

virtual int btMultiBodyDynamicsWorld::getNumMultiBodyConstraints ( ) const
inlinevirtual

◆ integrateMultiBodyTransforms()

void btMultiBodyDynamicsWorld::integrateMultiBodyTransforms ( btScalar timeStep)

◆ integrateTransforms()

void btMultiBodyDynamicsWorld::integrateTransforms ( btScalar timeStep)
virtual

◆ predictMultiBodyTransforms()

◆ predictUnconstraintMotion()

void btMultiBodyDynamicsWorld::predictUnconstraintMotion ( btScalar timeStep)
virtual

◆ removeMultiBody()

void btMultiBodyDynamicsWorld::removeMultiBody ( btMultiBody * body)
virtual

◆ removeMultiBodyConstraint()

void btMultiBodyDynamicsWorld::removeMultiBodyConstraint ( btMultiBodyConstraint * constraint)
virtual

◆ serialize()

◆ serializeMultiBodies()

◆ setConstraintSolver()

void btMultiBodyDynamicsWorld::setConstraintSolver ( btConstraintSolver * solver)
virtual

◆ setMultiBodyConstraintSolver()

void btMultiBodyDynamicsWorld::setMultiBodyConstraintSolver ( btMultiBodyConstraintSolver * solver)
virtual

◆ solveConstraints()

void btMultiBodyDynamicsWorld::solveConstraints ( btContactSolverInfo & solverInfo)
virtual

◆ solveExternalForces()

◆ solveInternalConstraints()

◆ updateActivationState()

void btMultiBodyDynamicsWorld::updateActivationState ( btScalar timeStep)
protectedvirtual

Member Data Documentation

◆ m_multiBodies

◆ m_multiBodyConstraints

◆ m_multiBodyConstraintSolver

btMultiBodyConstraintSolver* btMultiBodyDynamicsWorld::m_multiBodyConstraintSolver
protected

Definition at line 37 of file btMultiBodyDynamicsWorld.h.

Referenced by setConstraintSolver(), and setMultiBodyConstraintSolver().

◆ m_scratch_local_origin

btAlignedObjectArray<btVector3> btMultiBodyDynamicsWorld::m_scratch_local_origin
protected

◆ m_scratch_local_origin1

btAlignedObjectArray<btVector3> btMultiBodyDynamicsWorld::m_scratch_local_origin1
protected

Definition at line 44 of file btMultiBodyDynamicsWorld.h.

Referenced by debugDrawWorld().

◆ m_scratch_m

◆ m_scratch_r

◆ m_scratch_v

◆ m_scratch_world_to_local

btAlignedObjectArray<btQuaternion> btMultiBodyDynamicsWorld::m_scratch_world_to_local
protected

◆ m_scratch_world_to_local1

btAlignedObjectArray<btQuaternion> btMultiBodyDynamicsWorld::m_scratch_world_to_local1
protected

Definition at line 43 of file btMultiBodyDynamicsWorld.h.

Referenced by debugDrawWorld().

◆ m_solverMultiBodyIslandCallback

◆ m_sortedMultiBodyConstraints


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