16#ifndef BT_SOFT_MULTIBODY_DYNAMICS_WORLD_H
17#define BT_SOFT_MULTIBODY_DYNAMICS_WORLD_H
23#ifndef BT_SOFT_RIGID_DYNAMICS_WORLD_H
35 bool m_drawClusterTree;
57 void addSoftBody(
btSoftBody* body,
int collisionFilterGroup = btBroadphaseProxy::DefaultFilter,
int collisionFilterMask = btBroadphaseProxy::AllFilter);
91 virtual void rayTest(
const btVector3& rayFromWorld,
const btVector3& rayToWorld, RayResultCallback& resultCallback)
const;
100 RayResultCallback& resultCallback);
btCollisionShape
The btCollisionShape class provides an interface for collision shapes that can be shared among btColl...
btAlignedObjectArray< btSoftBody * > btSoftBodyArray
@ BT_SOFT_MULTIBODY_DYNAMICS_WORLD
void rayTest(const btVector3 &rayFromWorld, const btVector3 &rayToWorld, btCollisionWorld::RayResultCallback &resultCallback) const
virtual bool serialize(void *o_alignedDataBuffer, unsigned i_dataBufferSize, bool i_swapEndian) const
Data buffer MUST be 16 byte aligned.
float btScalar
The btScalar type abstracts floating point numbers, to easily switch between double and single floati...
btAlignedObjectArray< btSoftBody * > btSoftBodyArray
btVector3
btVector3 can be used to represent 3D points and vectors. It has an un-used w component to suit 16-by...
btMultiBodyDynamicsWorld(btDispatcher *dispatcher, btBroadphaseInterface *pairCache, btMultiBodyConstraintSolver *constraintSolver, btCollisionConfiguration *collisionConfiguration)
btSoftBodyArray & getSoftBodyArray()
virtual void predictUnconstraintMotion(btScalar timeStep)
static void rayTestSingle(const btTransform &rayFromTrans, const btTransform &rayToTrans, btCollisionObject *collisionObject, const btCollisionShape *collisionShape, const btTransform &colObjWorldTransform, RayResultCallback &resultCallback)
const btSoftBodyArray & getSoftBodyArray() const
const btSoftBodyWorldInfo & getWorldInfo() const
void removeSoftBody(btSoftBody *body)
virtual void internalSingleStepSimulation(btScalar timeStep)
virtual void debugDrawWorld()
virtual btDynamicsWorldType getWorldType() const
void solveSoftBodiesConstraints(btScalar timeStep)
virtual void removeCollisionObject(btCollisionObject *collisionObject)
removeCollisionObject will first check if it is a rigid body, if so call removeRigidBody otherwise ca...
btSoftBodyWorldInfo & getWorldInfo()
void addSoftBody(btSoftBody *body, int collisionFilterGroup=btBroadphaseProxy::DefaultFilter, int collisionFilterMask=btBroadphaseProxy::AllFilter)
btSoftMultiBodyDynamicsWorld(btDispatcher *dispatcher, btBroadphaseInterface *pairCache, btMultiBodyConstraintSolver *constraintSolver, btCollisionConfiguration *collisionConfiguration, btSoftBodySolver *softBodySolver=0)
void serializeSoftBodies(btSerializer *serializer)