Add a virtual createConstraintRows method, to easier experiment with different kinds of btMultiBodyConstraint

This commit is contained in:
erwin.coumans
2013-10-02 21:38:40 +00:00
parent c2bece5280
commit 75f17509cc
8 changed files with 463 additions and 451 deletions

View File

@@ -21,6 +21,20 @@ subject to the following restrictions:
#include "btMultiBody.h"
class btMultiBody;
struct btSolverInfo;
#include "btMultiBodySolverConstraint.h"
struct btMultiBodyJacobianData
{
btAlignedObjectArray<btScalar> m_jacobians;
btAlignedObjectArray<btScalar> m_deltaVelocitiesUnitImpulse;
btAlignedObjectArray<btScalar> m_deltaVelocities;
btAlignedObjectArray<btScalar> scratch_r;
btAlignedObjectArray<btVector3> scratch_v;
btAlignedObjectArray<btMatrix3x3> scratch_m;
};
class btMultiBodyConstraint
{
@@ -62,7 +76,9 @@ public:
virtual int getIslandIdA() const =0;
virtual int getIslandIdB() const =0;
virtual void update()=0;
virtual void createConstraintRows(btMultiBodyConstraintArray& constraintRows,
btMultiBodyJacobianData& data,
const btContactSolverInfo& infoGlobal)=0;
int getNumRows() const
{