Bullet Collision Detection & Physics Library
|
Go to the documentation of this file.
37 m_constraintSolver(constraintSolver),
38 m_ownsConstraintSolver(false),
btIDebugDraw * m_debugDrawer
virtual void setAabb(btBroadphaseProxy *proxy, const btVector3 &aabbMin, const btVector3 &aabbMax, btDispatcher *dispatcher)=0
btCollisionObject can be used to manage collision detection objects.
The btRigidBody is the main class for rigid body objects.
virtual int stepSimulation(btScalar timeStep, int maxSubSteps=1, btScalar fixedTimeStep=btScalar(1.)/btScalar(60.))
maxSubSteps/fixedTimeStep for interpolation is currently ignored for btSimpleDynamicsWorld,...
virtual btVector3 getGravity() const
#define btAlignedFree(ptr)
void predictIntegratedTransform(btScalar step, btTransform &predictedTransform)
continuous collision detection needs prediction
virtual btIDebugDraw * getDebugDrawer()
virtual void addAction(btActionInterface *action)
btConstraintSolver * m_constraintSolver
float btScalar
The btScalar type abstracts floating point numbers, to easily switch between double and single floati...
The btDispatcher interface class can be used in combination with broadphase to dispatch calculations ...
void setGravity(const btVector3 &acceleration)
virtual ~btSimpleDynamicsWorld()
btAlignedObjectArray< btCollisionObject * > m_collisionObjects
virtual int getNumManifolds() const =0
void integrateVelocities(btScalar step)
int getActivationState() const
class btIDebugDraw * m_debugDraw
The btDynamicsWorld is the interface class for several dynamics implementation, basic,...
virtual void updateAabbs()
virtual void addRigidBody(btRigidBody *body)
virtual btConstraintSolver * getConstraintSolver()
const btBroadphaseInterface * getBroadphase() const
btCollisionDispatcher supports algorithms that handle ConvexConvex and ConvexConcave collision pairs.
void integrateTransforms(btScalar timeStep)
virtual void performDiscreteCollisionDetection()
btTransform & getWorldTransform()
virtual btScalar solveGroup(btCollisionObject **bodies, int numBodies, btPersistentManifold **manifold, int numManifolds, btTypedConstraint **constraints, int numConstraints, const btContactSolverInfo &info, class btIDebugDraw *debugDrawer, btDispatcher *dispatcher)=0
solve a group of constraints
const btCollisionShape * getCollisionShape() const
void proceedToTransform(const btTransform &newTrans)
virtual void setWorldTransform(const btTransform &worldTrans)=0
virtual void removeRigidBody(btRigidBody *body)
btBroadphaseProxy * getBroadphaseHandle()
virtual void getAabb(const btTransform &t, btVector3 &aabbMin, btVector3 &aabbMax) const =0
getAabb returns the axis aligned bounding box in the coordinate frame of the given transform t.
const btTransform & getInterpolationWorldTransform() const
virtual void allSolved(const btContactSolverInfo &, class btIDebugDraw *)
int getNumCollisionObjects() const
bool m_ownsConstraintSolver
bool isStaticObject() const
virtual void removeCollisionObject(btCollisionObject *collisionObject)
removeCollisionObject will first check if it is a rigid body, if so call removeRigidBody otherwise ca...
virtual void setConstraintSolver(btConstraintSolver *solver)
Basic interface to allow actions such as vehicles and characters to be updated inside a btDynamicsWor...
void btBulletDynamicsProbe()
btVector3 can be used to represent 3D points and vectors.
btSimpleDynamicsWorld(btDispatcher *dispatcher, btBroadphaseInterface *pairCache, btConstraintSolver *constraintSolver, btCollisionConfiguration *collisionConfiguration)
this btSimpleDynamicsWorld constructor creates dispatcher, broadphase pairCache and constraintSolver
btPersistentManifold is a contact point cache, it stays persistent as long as objects are overlapping...
virtual void clearForces()
void applyDamping(btScalar timeStep)
applyDamping damps the velocity, using the given m_linearDamping and m_angularDamping
virtual void removeCollisionObject(btCollisionObject *collisionObject)
btDispatcher * m_dispatcher1
virtual void synchronizeMotionStates()
The btBroadphaseInterface class provides an interface to detect aabb-overlapping object pairs.
virtual void removeAction(btActionInterface *action)
btCollisionObjectArray & getCollisionObjectArray()
virtual void addCollisionObject(btCollisionObject *collisionObject, int collisionFilterGroup=btBroadphaseProxy::DefaultFilter, int collisionFilterMask=btBroadphaseProxy::AllFilter)
virtual void prepareSolve(int, int)
btCollisionConfiguration allows to configure Bullet collision detection stack allocator size,...
void predictUnconstraintMotion(btScalar timeStep)
btDispatcherInfo & getDispatchInfo()
virtual void debugDrawWorld()
static const btRigidBody * upcast(const btCollisionObject *colObj)
to keep collision detection and dynamics separate we don't store a rigidbody pointer but a rigidbody ...
virtual void setGravity(const btVector3 &gravity)
btMotionState * getMotionState()
int size() const
return the number of elements in the array
const btCollisionShape * getCollisionShape() const