Blender  V3.3
Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
btSoftRigidDynamicsWorld Class Reference

#include <btSoftRigidDynamicsWorld.h>

Inheritance diagram for btSoftRigidDynamicsWorld:

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 More...
 
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 ( btDispatcher dispatcher,
btBroadphaseInterface pairCache,
btConstraintSolver constraintSolver,
btCollisionConfiguration collisionConfiguration,
btSoftBodySolver softBodySolver = 0 
)

◆ ~btSoftRigidDynamicsWorld()

btSoftRigidDynamicsWorld::~btSoftRigidDynamicsWorld ( )
virtual

Member Function Documentation

◆ addSoftBody()

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

◆ debugDrawWorld()

void btSoftRigidDynamicsWorld::debugDrawWorld ( )
virtual

◆ 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

◆ 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 btVector3, btSoftBody::eFeature::Face, btSoftBody::sRayCast::feature, btSoftBody::sRayCast::fraction, btSoftBody::sRayCast::index, btSoftBody::m_faces, btCollisionWorld::LocalShapeInfo::m_shapePart, btCollisionWorld::LocalShapeInfo::m_triangleIndex, normal, 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 removeCollisionObject(), 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: