Bullet Collision Detection & Physics Library
Classes | Public Member Functions | Protected Member Functions | Private Types | Private Attributes | List of all members
btDeformableMultiBodyDynamicsWorld Class Reference

#include <btDeformableMultiBodyDynamicsWorld.h>

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

Classes

struct  btDeformableSingleRayCallback
 

Public Member Functions

 btDeformableMultiBodyDynamicsWorld (btDispatcher *dispatcher, btBroadphaseInterface *pairCache, btDeformableMultiBodyConstraintSolver *constraintSolver, btCollisionConfiguration *collisionConfiguration, btDeformableBodySolver *deformableBodySolver=0)
 
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 debugDrawWorld ()
 
void setSolverCallback (btSolverCallback cb)
 
virtual ~btDeformableMultiBodyDynamicsWorld ()
 
virtual btMultiBodyDynamicsWorldgetMultiBodyDynamicsWorld ()
 
virtual const btMultiBodyDynamicsWorldgetMultiBodyDynamicsWorld () const
 
virtual btDynamicsWorldType getWorldType () const
 
virtual void predictUnconstraintMotion (btScalar timeStep)
 
virtual void addSoftBody (btSoftBody *body, int collisionFilterGroup=btBroadphaseProxy::DefaultFilter, int collisionFilterMask=btBroadphaseProxy::AllFilter)
 
btSoftBodyArraygetSoftBodyArray ()
 
const btSoftBodyArraygetSoftBodyArray () const
 
btSoftBodyWorldInfogetWorldInfo ()
 
const btSoftBodyWorldInfogetWorldInfo () const
 
virtual void setGravity (const btVector3 &gravity)
 
void reinitialize (btScalar timeStep)
 
void applyRigidBodyGravity (btScalar timeStep)
 
void beforeSolverCallbacks (btScalar timeStep)
 
void afterSolverCallbacks (btScalar timeStep)
 
void addForce (btSoftBody *psb, btDeformableLagrangianForce *force)
 
void removeForce (btSoftBody *psb, btDeformableLagrangianForce *force)
 
void removeSoftBodyForce (btSoftBody *psb)
 
void removeSoftBody (btSoftBody *body)
 
void removeCollisionObject (btCollisionObject *collisionObject)
 removeCollisionObject will first check if it is a rigid body, if so call removeRigidBody otherwise call btCollisionWorld::removeCollisionObject More...
 
int getDrawFlags () const
 
void setDrawFlags (int f)
 
void setupConstraints ()
 
void performDeformableCollisionDetection ()
 
void solveMultiBodyConstraints ()
 
void solveContactConstraints ()
 
void sortConstraints ()
 
void softBodySelfCollision ()
 
void setImplicit (bool implicit)
 
void setLineSearch (bool lineSearch)
 
void setUseProjection (bool useProjection)
 
void applyRepulsionForce (btScalar timeStep)
 
void performGeometricCollisions (btScalar timeStep)
 
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 rayTestSingle (const btTransform &rayFromTrans, const btTransform &rayToTrans, btCollisionObject *collisionObject, const btCollisionShape *collisionShape, const btTransform &colObjWorldTransform, RayResultCallback &resultCallback) const
 
- Public Member Functions inherited from btMultiBodyDynamicsWorld
 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 ()
 the forces on each rigidbody is accumulating together with gravity. clear this after each timestep. More...
 
virtual void clearMultiBodyConstraintForces ()
 
virtual void clearMultiBodyForces ()
 
virtual void applyGravity ()
 apply gravity, call this once per timestep More...
 
virtual void serialize (btSerializer *serializer)
 Preliminary serialization test for Bullet 2.76. Loading those files requires a separate parser (see Bullet/Demos/SerializeDemo) More...
 
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 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 solveConstraints (btContactSolverInfo &solverInfo)
 
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
 
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. More...
 
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 btConstraintSolvergetConstraintSolver ()=0
 
virtual int getNumConstraints () const
 
virtual btTypedConstraintgetConstraint (int index)
 
virtual const btTypedConstraintgetConstraint (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. More...
 
void setWorldUserInfo (void *worldUserInfo)
 
void * getWorldUserInfo () const
 
btContactSolverInfogetSolverInfo ()
 
const btContactSolverInfogetSolverInfo () const
 
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...
 
- 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 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. 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 addCollisionObject (btCollisionObject *collisionObject, int collisionFilterGroup=btBroadphaseProxy::DefaultFilter, int collisionFilterMask=btBroadphaseProxy::AllFilter)
 
virtual void refreshBroadphaseProxy (btCollisionObject *collisionObject)
 
btCollisionObjectArraygetCollisionObjectArray ()
 
const btCollisionObjectArraygetCollisionObjectArray () const
 
virtual void removeCollisionObject (btCollisionObject *collisionObject)
 
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) More...
 

Protected Member Functions

virtual void internalSingleStepSimulation (btScalar timeStep)
 
virtual void integrateTransforms (btScalar timeStep)
 
void positionCorrection (btScalar timeStep)
 
void solveConstraints (btScalar timeStep)
 
void updateActivationState (btScalar timeStep)
 
void clearGravity ()
 
- Protected Member Functions inherited from btMultiBodyDynamicsWorld
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)
 

Private Types

typedef btAlignedObjectArray< btVector3TVStack
 
typedef void(* btSolverCallback) (btScalar time, btDeformableMultiBodyDynamicsWorld *world)
 

Private Attributes

btDeformableBodySolverm_deformableBodySolver
 Solver classes that encapsulate multiple deformable bodies for solving. More...
 
btSoftBodyArray m_softBodies
 
int m_drawFlags
 
bool m_drawNodeTree
 
bool m_drawFaceTree
 
bool m_drawClusterTree
 
btSoftBodyWorldInfo m_sbi
 
btScalar m_internalTime
 
int m_ccdIterations
 
bool m_implicit
 
bool m_lineSearch
 
bool m_useProjection
 
DeformableBodyInplaceSolverIslandCallbackm_solverDeformableBodyIslandCallback
 
btSolverCallback m_solverCallback
 

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)
 
- Protected Attributes inherited from btMultiBodyDynamicsWorld
btAlignedObjectArray< btMultiBody * > m_multiBodies
 
btAlignedObjectArray< btMultiBodyConstraint * > m_multiBodyConstraints
 
btAlignedObjectArray< btMultiBodyConstraint * > m_sortedMultiBodyConstraints
 
btMultiBodyConstraintSolverm_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
 
- Protected Attributes inherited from btDiscreteDynamicsWorld
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...
 

Detailed Description

Definition at line 37 of file btDeformableMultiBodyDynamicsWorld.h.

Member Typedef Documentation

◆ btSolverCallback

typedef void(* btDeformableMultiBodyDynamicsWorld::btSolverCallback) (btScalar time, btDeformableMultiBodyDynamicsWorld *world)
private

Definition at line 55 of file btDeformableMultiBodyDynamicsWorld.h.

◆ TVStack

Definition at line 39 of file btDeformableMultiBodyDynamicsWorld.h.

Constructor & Destructor Documentation

◆ btDeformableMultiBodyDynamicsWorld()

btDeformableMultiBodyDynamicsWorld::btDeformableMultiBodyDynamicsWorld ( btDispatcher dispatcher,
btBroadphaseInterface pairCache,
btDeformableMultiBodyConstraintSolver constraintSolver,
btCollisionConfiguration collisionConfiguration,
btDeformableBodySolver deformableBodySolver = 0 
)

Definition at line 42 of file btDeformableMultiBodyDynamicsWorld.cpp.

◆ ~btDeformableMultiBodyDynamicsWorld()

btDeformableMultiBodyDynamicsWorld::~btDeformableMultiBodyDynamicsWorld ( )
virtual

Definition at line 70 of file btDeformableMultiBodyDynamicsWorld.cpp.

Member Function Documentation

◆ addForce()

void btDeformableMultiBodyDynamicsWorld::addForce ( btSoftBody psb,
btDeformableLagrangianForce force 
)

Definition at line 613 of file btDeformableMultiBodyDynamicsWorld.cpp.

◆ addSoftBody()

void btDeformableMultiBodyDynamicsWorld::addSoftBody ( btSoftBody body,
int  collisionFilterGroup = btBroadphaseProxy::DefaultFilter,
int  collisionFilterMask = btBroadphaseProxy::AllFilter 
)
virtual

Definition at line 426 of file btDeformableMultiBodyDynamicsWorld.cpp.

◆ afterSolverCallbacks()

void btDeformableMultiBodyDynamicsWorld::afterSolverCallbacks ( btScalar  timeStep)

Definition at line 605 of file btDeformableMultiBodyDynamicsWorld.cpp.

◆ applyRepulsionForce()

void btDeformableMultiBodyDynamicsWorld::applyRepulsionForce ( btScalar  timeStep)

Definition at line 163 of file btDeformableMultiBodyDynamicsWorld.cpp.

◆ applyRigidBodyGravity()

void btDeformableMultiBodyDynamicsWorld::applyRigidBodyGravity ( btScalar  timeStep)

Definition at line 491 of file btDeformableMultiBodyDynamicsWorld.cpp.

◆ beforeSolverCallbacks()

void btDeformableMultiBodyDynamicsWorld::beforeSolverCallbacks ( btScalar  timeStep)

Definition at line 592 of file btDeformableMultiBodyDynamicsWorld.cpp.

◆ clearGravity()

void btDeformableMultiBodyDynamicsWorld::clearGravity ( )
protected

Definition at line 551 of file btDeformableMultiBodyDynamicsWorld.cpp.

◆ debugDrawWorld()

void btDeformableMultiBodyDynamicsWorld::debugDrawWorld ( )
virtual

Reimplemented from btMultiBodyDynamicsWorld.

Definition at line 477 of file btDeformableMultiBodyDynamicsWorld.cpp.

◆ getDrawFlags()

int btDeformableMultiBodyDynamicsWorld::getDrawFlags ( ) const
inline

Definition at line 144 of file btDeformableMultiBodyDynamicsWorld.h.

◆ getMultiBodyDynamicsWorld() [1/2]

virtual btMultiBodyDynamicsWorld * btDeformableMultiBodyDynamicsWorld::getMultiBodyDynamicsWorld ( )
inlinevirtual

Definition at line 85 of file btDeformableMultiBodyDynamicsWorld.h.

◆ getMultiBodyDynamicsWorld() [2/2]

virtual const btMultiBodyDynamicsWorld * btDeformableMultiBodyDynamicsWorld::getMultiBodyDynamicsWorld ( ) const
inlinevirtual

Definition at line 90 of file btDeformableMultiBodyDynamicsWorld.h.

◆ getSoftBodyArray() [1/2]

btSoftBodyArray & btDeformableMultiBodyDynamicsWorld::getSoftBodyArray ( )
inline

Definition at line 104 of file btDeformableMultiBodyDynamicsWorld.h.

◆ getSoftBodyArray() [2/2]

const btSoftBodyArray & btDeformableMultiBodyDynamicsWorld::getSoftBodyArray ( ) const
inline

Definition at line 109 of file btDeformableMultiBodyDynamicsWorld.h.

◆ getWorldInfo() [1/2]

btSoftBodyWorldInfo & btDeformableMultiBodyDynamicsWorld::getWorldInfo ( )
inline

Definition at line 114 of file btDeformableMultiBodyDynamicsWorld.h.

◆ getWorldInfo() [2/2]

const btSoftBodyWorldInfo & btDeformableMultiBodyDynamicsWorld::getWorldInfo ( ) const
inline

Definition at line 119 of file btDeformableMultiBodyDynamicsWorld.h.

◆ getWorldType()

virtual btDynamicsWorldType btDeformableMultiBodyDynamicsWorld::getWorldType ( ) const
inlinevirtual

Reimplemented from btDiscreteDynamicsWorld.

Definition at line 95 of file btDeformableMultiBodyDynamicsWorld.h.

◆ integrateTransforms()

void btDeformableMultiBodyDynamicsWorld::integrateTransforms ( btScalar  timeStep)
protectedvirtual

Reimplemented from btMultiBodyDynamicsWorld.

Definition at line 296 of file btDeformableMultiBodyDynamicsWorld.cpp.

◆ internalSingleStepSimulation()

void btDeformableMultiBodyDynamicsWorld::internalSingleStepSimulation ( btScalar  timeStep)
protectedvirtual

apply gravity and explicit force to velocity, predict motion

perform collision detection that involves rigid/multi bodies

update vehicle simulation

Reimplemented from btDiscreteDynamicsWorld.

Definition at line 75 of file btDeformableMultiBodyDynamicsWorld.cpp.

◆ performDeformableCollisionDetection()

void btDeformableMultiBodyDynamicsWorld::performDeformableCollisionDetection ( )

Definition at line 118 of file btDeformableMultiBodyDynamicsWorld.cpp.

◆ performGeometricCollisions()

void btDeformableMultiBodyDynamicsWorld::performGeometricCollisions ( btScalar  timeStep)

Definition at line 176 of file btDeformableMultiBodyDynamicsWorld.cpp.

◆ positionCorrection()

void btDeformableMultiBodyDynamicsWorld::positionCorrection ( btScalar  timeStep)
protected

Definition at line 274 of file btDeformableMultiBodyDynamicsWorld.cpp.

◆ predictUnconstraintMotion()

void btDeformableMultiBodyDynamicsWorld::predictUnconstraintMotion ( btScalar  timeStep)
virtual

Reimplemented from btMultiBodyDynamicsWorld.

Definition at line 439 of file btDeformableMultiBodyDynamicsWorld.cpp.

◆ rayTest()

void btDeformableMultiBodyDynamicsWorld::rayTest ( const btVector3 rayFromWorld,
const btVector3 rayToWorld,
RayResultCallback resultCallback 
) const
inlinevirtual

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.

use the broadphase to accelerate the search for objects, based on their aabb and for each object with ray-aabb overlap, perform an exact ray test

use the broadphase to accelerate the search for objects, based on their aabb and for each object with ray-aabb overlap, perform an exact ray test

Reimplemented from btCollisionWorld.

Definition at line 252 of file btDeformableMultiBodyDynamicsWorld.h.

◆ rayTestSingle()

void btDeformableMultiBodyDynamicsWorld::rayTestSingle ( const btTransform rayFromTrans,
const btTransform rayToTrans,
btCollisionObject collisionObject,
const btCollisionShape collisionShape,
const btTransform colObjWorldTransform,
RayResultCallback resultCallback 
) const
inline

Definition at line 269 of file btDeformableMultiBodyDynamicsWorld.h.

◆ reinitialize()

void btDeformableMultiBodyDynamicsWorld::reinitialize ( btScalar  timeStep)

Definition at line 452 of file btDeformableMultiBodyDynamicsWorld.cpp.

◆ removeCollisionObject()

void btDeformableMultiBodyDynamicsWorld::removeCollisionObject ( btCollisionObject collisionObject)
virtual

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

Reimplemented from btDiscreteDynamicsWorld.

Definition at line 670 of file btDeformableMultiBodyDynamicsWorld.cpp.

◆ removeForce()

void btDeformableMultiBodyDynamicsWorld::removeForce ( btSoftBody psb,
btDeformableLagrangianForce force 
)

Definition at line 634 of file btDeformableMultiBodyDynamicsWorld.cpp.

◆ removeSoftBody()

void btDeformableMultiBodyDynamicsWorld::removeSoftBody ( btSoftBody body)

Definition at line 661 of file btDeformableMultiBodyDynamicsWorld.cpp.

◆ removeSoftBodyForce()

void btDeformableMultiBodyDynamicsWorld::removeSoftBodyForce ( btSoftBody psb)

Definition at line 652 of file btDeformableMultiBodyDynamicsWorld.cpp.

◆ setDrawFlags()

void btDeformableMultiBodyDynamicsWorld::setDrawFlags ( int  f)
inline

Definition at line 145 of file btDeformableMultiBodyDynamicsWorld.h.

◆ setGravity()

void btDeformableMultiBodyDynamicsWorld::setGravity ( const btVector3 gravity)
virtual

Reimplemented from btDiscreteDynamicsWorld.

Definition at line 446 of file btDeformableMultiBodyDynamicsWorld.cpp.

◆ setImplicit()

void btDeformableMultiBodyDynamicsWorld::setImplicit ( bool  implicit)
inline

Definition at line 159 of file btDeformableMultiBodyDynamicsWorld.h.

◆ setLineSearch()

void btDeformableMultiBodyDynamicsWorld::setLineSearch ( bool  lineSearch)
inline

Definition at line 164 of file btDeformableMultiBodyDynamicsWorld.h.

◆ setSolverCallback()

void btDeformableMultiBodyDynamicsWorld::setSolverCallback ( btSolverCallback  cb)
inline

Definition at line 78 of file btDeformableMultiBodyDynamicsWorld.h.

◆ setupConstraints()

void btDeformableMultiBodyDynamicsWorld::setupConstraints ( )

Definition at line 332 of file btDeformableMultiBodyDynamicsWorld.cpp.

◆ setUseProjection()

void btDeformableMultiBodyDynamicsWorld::setUseProjection ( bool  useProjection)
inline

Definition at line 169 of file btDeformableMultiBodyDynamicsWorld.h.

◆ softBodySelfCollision()

void btDeformableMultiBodyDynamicsWorld::softBodySelfCollision ( )

Definition at line 261 of file btDeformableMultiBodyDynamicsWorld.cpp.

◆ solveConstraints()

void btDeformableMultiBodyDynamicsWorld::solveConstraints ( btScalar  timeStep)
protected

Definition at line 304 of file btDeformableMultiBodyDynamicsWorld.cpp.

◆ solveContactConstraints()

void btDeformableMultiBodyDynamicsWorld::solveContactConstraints ( )

Definition at line 368 of file btDeformableMultiBodyDynamicsWorld.cpp.

◆ solveMultiBodyConstraints()

void btDeformableMultiBodyDynamicsWorld::solveMultiBodyConstraints ( )

◆ sortConstraints()

void btDeformableMultiBodyDynamicsWorld::sortConstraints ( )

Definition at line 350 of file btDeformableMultiBodyDynamicsWorld.cpp.

◆ stepSimulation()

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

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

Reimplemented from btDiscreteDynamicsWorld.

Definition at line 679 of file btDeformableMultiBodyDynamicsWorld.cpp.

◆ updateActivationState()

void btDeformableMultiBodyDynamicsWorld::updateActivationState ( btScalar  timeStep)
protectedvirtual

Reimplemented from btMultiBodyDynamicsWorld.

Definition at line 139 of file btDeformableMultiBodyDynamicsWorld.cpp.

Member Data Documentation

◆ m_ccdIterations

int btDeformableMultiBodyDynamicsWorld::m_ccdIterations
private

Definition at line 49 of file btDeformableMultiBodyDynamicsWorld.h.

◆ m_deformableBodySolver

btDeformableBodySolver* btDeformableMultiBodyDynamicsWorld::m_deformableBodySolver
private

Solver classes that encapsulate multiple deformable bodies for solving.

Definition at line 41 of file btDeformableMultiBodyDynamicsWorld.h.

◆ m_drawClusterTree

bool btDeformableMultiBodyDynamicsWorld::m_drawClusterTree
private

Definition at line 46 of file btDeformableMultiBodyDynamicsWorld.h.

◆ m_drawFaceTree

bool btDeformableMultiBodyDynamicsWorld::m_drawFaceTree
private

Definition at line 45 of file btDeformableMultiBodyDynamicsWorld.h.

◆ m_drawFlags

int btDeformableMultiBodyDynamicsWorld::m_drawFlags
private

Definition at line 43 of file btDeformableMultiBodyDynamicsWorld.h.

◆ m_drawNodeTree

bool btDeformableMultiBodyDynamicsWorld::m_drawNodeTree
private

Definition at line 44 of file btDeformableMultiBodyDynamicsWorld.h.

◆ m_implicit

bool btDeformableMultiBodyDynamicsWorld::m_implicit
private

Definition at line 50 of file btDeformableMultiBodyDynamicsWorld.h.

◆ m_internalTime

btScalar btDeformableMultiBodyDynamicsWorld::m_internalTime
private

Definition at line 48 of file btDeformableMultiBodyDynamicsWorld.h.

◆ m_lineSearch

bool btDeformableMultiBodyDynamicsWorld::m_lineSearch
private

Definition at line 51 of file btDeformableMultiBodyDynamicsWorld.h.

◆ m_sbi

btSoftBodyWorldInfo btDeformableMultiBodyDynamicsWorld::m_sbi
private

Definition at line 47 of file btDeformableMultiBodyDynamicsWorld.h.

◆ m_softBodies

btSoftBodyArray btDeformableMultiBodyDynamicsWorld::m_softBodies
private

Definition at line 42 of file btDeformableMultiBodyDynamicsWorld.h.

◆ m_solverCallback

btSolverCallback btDeformableMultiBodyDynamicsWorld::m_solverCallback
private

Definition at line 56 of file btDeformableMultiBodyDynamicsWorld.h.

◆ m_solverDeformableBodyIslandCallback

DeformableBodyInplaceSolverIslandCallback* btDeformableMultiBodyDynamicsWorld::m_solverDeformableBodyIslandCallback
private

Definition at line 53 of file btDeformableMultiBodyDynamicsWorld.h.

◆ m_useProjection

bool btDeformableMultiBodyDynamicsWorld::m_useProjection
private

Definition at line 52 of file btDeformableMultiBodyDynamicsWorld.h.


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