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)
 
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 ( 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: