summaryrefslogtreecommitdiff
path: root/examples/BlockSolver/btBlockSolver.h
blob: 7cb5dd3c2fea412c7b7223b921105c3640da0d46 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#ifndef BT_BLOCK_SOLVER_H
#define BT_BLOCK_SOLVER_H

#include "BulletDynamics/Featherstone/btMultiBodyConstraintSolver.h"

class btBlockSolver : public btMultiBodyConstraintSolver
{
	struct btBlockSolverInternalData* m_data2;

public:
	btBlockSolver();
	virtual ~btBlockSolver();

	//btRigidBody
	virtual btScalar solveGroup(btCollisionObject** bodies, int numBodies, btPersistentManifold** manifoldPtr, int numManifolds, btTypedConstraint** constraints, int numConstraints, const btContactSolverInfo& info, class btIDebugDraw* debugDrawer, btDispatcher* dispatcher);

	//btMultibody
	virtual void solveMultiBodyGroup(btCollisionObject * *bodies, int numBodies, btPersistentManifold** manifold, int numManifolds, btTypedConstraint** constraints, int numConstraints, btMultiBodyConstraint** multiBodyConstraints, int numMultiBodyConstraints, const btContactSolverInfo& info, btIDebugDraw* debugDrawer, btDispatcher* dispatcher);

	///clear internal cached data and reset random seed
	virtual void reset();

	virtual btConstraintSolverType getSolverType() const
	{
		return BT_BLOCK_SOLVER;
	}
};

#endif //BT_BLOCK_SOLVER_H