Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #ifndef BT_CONSTRAINT_SOLVER_H
00017 #define BT_CONSTRAINT_SOLVER_H
00018
00019 #include "LinearMath/btScalar.h"
00020
00021 class btPersistentManifold;
00022 class btRigidBody;
00023 class btCollisionObject;
00024 class btTypedConstraint;
00025 struct btContactSolverInfo;
00026 struct btBroadphaseProxy;
00027 class btIDebugDraw;
00028 class btStackAlloc;
00029 class btDispatcher;
00031 class btConstraintSolver
00032 {
00033
00034 public:
00035
00036 virtual ~btConstraintSolver() {}
00037
00038 virtual void prepareSolve (int , int ) {;}
00039
00041 virtual btScalar solveGroup(btCollisionObject** bodies,int numBodies,btPersistentManifold** manifold,int numManifolds,btTypedConstraint** constraints,int numConstraints, const btContactSolverInfo& info,class btIDebugDraw* debugDrawer, btStackAlloc* stackAlloc,btDispatcher* dispatcher) = 0;
00042
00043 virtual void allSolved (const btContactSolverInfo& ,class btIDebugDraw* , btStackAlloc* ) {;}
00044
00046 virtual void reset() = 0;
00047 };
00048
00049
00050
00051
00052 #endif //BT_CONSTRAINT_SOLVER_H