btScalar fillMultiBodyConstraint(btMultiBodySolverConstraint &solverConstraint, btMultiBodyJacobianData &data, btScalar *jacOrgA, btScalar *jacOrgB, const btVector3 &contactNormalOnB, const btVector3 &posAworld, const btVector3 &posBworld, btScalar posError, const btContactSolverInfo &infoGlobal, btScalar lowerLimit, btScalar upperLimit, btScalar relaxation=1.f, bool isFriction=false, btScalar desiredVelocity=0, btScalar cfmSlip=0)
btScalar getMaxAppliedImpulse() const
btScalar * jacobianB(int row)
btMultiBody * getMultiBodyA()
1D constraint along a normal axis between bodyA and bodyB. It can be combined to solve contact and fr...
btAlignedObjectArray< btScalar > scratch_r
btAlignedObjectArray< btScalar > m_deltaVelocities
virtual void createConstraintRows(btMultiBodyConstraintArray &constraintRows, btMultiBodyJacobianData &data, const btContactSolverInfo &infoGlobal)=0
btAlignedObjectArray< btSolverBody > * m_solverBodyPool
btScalar m_maxAppliedImpulse
btScalar getAppliedImpulse(int dof)
void internalSetAppliedImpulse(int dof, btScalar appliedImpulse)
btScalar * jacobianA(int row)
virtual ~btMultiBodyConstraint()
virtual void debugDraw(class btIDebugDraw *drawer)=0
btAlignedObjectArray< btMatrix3x3 > scratch_m
virtual int getIslandIdB() const =0
btAlignedObjectArray< btScalar > m_deltaVelocitiesUnitImpulse
bool isUnilateral() const
virtual void finalizeMultiDof()=0
btScalar getPosition(int row) const
btAlignedObjectArray< btScalar > m_data
btAlignedObjectArray< btScalar > m_jacobians
virtual int getIslandIdA() const =0
const btScalar * jacobianA(int row) const
btAlignedObjectArray< btVector3 > scratch_v
void setPosition(int row, btScalar pos)
void setMaxAppliedImpulse(btScalar maxImp)
void allocateJacobiansMultiDof()
btMultiBodyConstraint(btMultiBody *bodyA, btMultiBody *bodyB, int linkA, int linkB, int numRows, bool isUnilateral)
const btScalar * jacobianB(int row) const
btMultiBody * getMultiBodyB()
void updateJacobianSizes()
void applyDeltaVee(btMultiBodyJacobianData &data, btScalar *delta_vee, btScalar impulse, int velocityIndex, int ndof)