Blender V4.3
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)
 
btSoftBodyWorldInfogetWorldInfo ()
 
const btSoftBodyWorldInfogetWorldInfo () const
 
virtual btDynamicsWorldType getWorldType () const
 
btSoftBodyArraygetSoftBodyArray ()
 
const btSoftBodyArraygetSoftBodyArray () 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: