Blender V4.5
btSoftRigidDynamicsWorld Class Reference

#include <btSoftRigidDynamicsWorld.h>

Inherits btDiscreteDynamicsWorld.

Public Member Functions

 btSoftRigidDynamicsWorld (btDispatcher *dispatcher, btBroadphaseInterface *pairCache, btConstraintSolver *constraintSolver, btCollisionConfiguration *collisionConfiguration, btSoftBodySolver *softBodySolver=0)
 
virtual ~btSoftRigidDynamicsWorld ()
 
virtual void debugDrawWorld ()
 
void addSoftBody (btSoftBody *body, int collisionFilterGroup=btBroadphaseProxy::DefaultFilter, int collisionFilterMask=btBroadphaseProxy::AllFilter)
 
void removeSoftBody (btSoftBody *body)
 
virtual void removeCollisionObject (btCollisionObject *collisionObject)
 removeCollisionObject will first check if it is a rigid body, if so call removeRigidBody otherwise call btDiscreteDynamicsWorld::removeCollisionObject
 
int getDrawFlags () const
 
void setDrawFlags (int f)
 
btSoftBodyWorldInfo & getWorldInfo ()
 
const btSoftBodyWorldInfo & getWorldInfo () const
 
virtual btDynamicsWorldType getWorldType () const
 
btSoftBodyArray & getSoftBodyArray ()
 
const btSoftBodyArray & getSoftBodyArray () const
 
virtual void rayTest (const btVector3 &rayFromWorld, const btVector3 &rayToWorld, RayResultCallback &resultCallback) const
 
virtual void serialize (btSerializer *serializer)
 

Static Public Member Functions

static void rayTestSingle (const btTransform &rayFromTrans, const btTransform &rayToTrans, btCollisionObject *collisionObject, const btCollisionShape *collisionShape, const btTransform &colObjWorldTransform, RayResultCallback &resultCallback)
 

Protected Member Functions

virtual void predictUnconstraintMotion (btScalar timeStep)
 
virtual void internalSingleStepSimulation (btScalar timeStep)
 
void solveSoftBodiesConstraints (btScalar timeStep)
 
void serializeSoftBodies (btSerializer *serializer)
 

Detailed Description

Definition at line 26 of file btSoftRigidDynamicsWorld.h.

Constructor & Destructor Documentation

◆ btSoftRigidDynamicsWorld()

◆ ~btSoftRigidDynamicsWorld()

btSoftRigidDynamicsWorld::~btSoftRigidDynamicsWorld ( )
virtual

Member Function Documentation

◆ addSoftBody()

void btSoftRigidDynamicsWorld::addSoftBody ( btSoftBody * body,
int collisionFilterGroup = btBroadphaseProxy::DefaultFilter,
int collisionFilterMask = btBroadphaseProxy::AllFilter )

◆ debugDrawWorld()

◆ getDrawFlags()

int btSoftRigidDynamicsWorld::getDrawFlags ( ) const
inline

Definition at line 61 of file btSoftRigidDynamicsWorld.h.

◆ getSoftBodyArray() [1/2]

btSoftBodyArray & btSoftRigidDynamicsWorld::getSoftBodyArray ( )
inline

Definition at line 78 of file btSoftRigidDynamicsWorld.h.

Referenced by internalSingleStepSimulation().

◆ getSoftBodyArray() [2/2]

const btSoftBodyArray & btSoftRigidDynamicsWorld::getSoftBodyArray ( ) const
inline

Definition at line 83 of file btSoftRigidDynamicsWorld.h.

◆ getWorldInfo() [1/2]

btSoftBodyWorldInfo & btSoftRigidDynamicsWorld::getWorldInfo ( )
inline

Definition at line 64 of file btSoftRigidDynamicsWorld.h.

◆ getWorldInfo() [2/2]

const btSoftBodyWorldInfo & btSoftRigidDynamicsWorld::getWorldInfo ( ) const
inline

Definition at line 68 of file btSoftRigidDynamicsWorld.h.

◆ getWorldType()

virtual btDynamicsWorldType btSoftRigidDynamicsWorld::getWorldType ( ) const
inlinevirtual

Definition at line 73 of file btSoftRigidDynamicsWorld.h.

References BT_SOFT_RIGID_DYNAMICS_WORLD.

◆ internalSingleStepSimulation()

void btSoftRigidDynamicsWorld::internalSingleStepSimulation ( btScalar timeStep)
protectedvirtual

◆ predictUnconstraintMotion()

void btSoftRigidDynamicsWorld::predictUnconstraintMotion ( btScalar timeStep)
protectedvirtual

Definition at line 69 of file btSoftRigidDynamicsWorld.cpp.

References BT_PROFILE, and btSoftBodySolver::predictMotion().

◆ rayTest()

void btSoftRigidDynamicsWorld::rayTest ( const btVector3 & rayFromWorld,
const btVector3 & rayToWorld,
RayResultCallback & resultCallback ) const
virtual

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

Definition at line 249 of file btSoftRigidDynamicsWorld.cpp.

References BT_PROFILE, getBroadphaseHandle(), and btSoftSingleRayCallback::process().

◆ rayTestSingle()

void btSoftRigidDynamicsWorld::rayTestSingle ( const btTransform & rayFromTrans,
const btTransform & rayToTrans,
btCollisionObject * collisionObject,
const btCollisionShape * collisionShape,
const btTransform & colObjWorldTransform,
RayResultCallback & resultCallback )
static

rayTestSingle performs a raycast call and calls the resultCallback. It is used internally by rayTest. In a future implementation, we consider moving the ray test as a virtual method in btCollisionShape. This allows more customization.

Definition at line 266 of file btSoftRigidDynamicsWorld.cpp.

References btSoftBody::eFeature::Face, btSoftBody::sRayCast::feature, btSoftBody::sRayCast::fraction, btSoftBody::sRayCast::index, btSoftBody::m_faces, btCollisionWorld::LocalShapeInfo::m_shapePart, btCollisionWorld::LocalShapeInfo::m_triangleIndex, btSoftBody::rayTest(), btCollisionWorld::rayTestSingle(), and btSoftBody::upcast().

◆ removeCollisionObject()

void btSoftRigidDynamicsWorld::removeCollisionObject ( btCollisionObject * collisionObject)
virtual

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

Definition at line 140 of file btSoftRigidDynamicsWorld.cpp.

References removeSoftBody(), and btSoftBody::upcast().

◆ removeSoftBody()

void btSoftRigidDynamicsWorld::removeSoftBody ( btSoftBody * body)

◆ serialize()

void btSoftRigidDynamicsWorld::serialize ( btSerializer * serializer)
virtual

◆ serializeSoftBodies()

void btSoftRigidDynamicsWorld::serializeSoftBodies ( btSerializer * serializer)
protected

◆ setDrawFlags()

void btSoftRigidDynamicsWorld::setDrawFlags ( int f)
inline

Definition at line 62 of file btSoftRigidDynamicsWorld.h.

◆ solveSoftBodiesConstraints()

void btSoftRigidDynamicsWorld::solveSoftBodiesConstraints ( btScalar timeStep)
protected

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