enable btMultiBodyGearConstraint positional error correction

fix multibody debug drawing of joint frames
This commit is contained in:
Erwin Coumans
2018-05-01 17:40:26 -07:00
parent dde3140987
commit 988d78cb61
4 changed files with 23 additions and 13 deletions

View File

@@ -134,6 +134,10 @@ void btMultiBodyGearConstraint::createConstraintRows(btMultiBodyConstraintArray&
if (m_erp!=0)
{
btScalar currentPositionA = m_bodyA->getJointPosMultiDof(m_linkA)[dof];
if (m_gearAuxLink >= 0)
{
currentPositionA -= m_bodyA->getJointPosMultiDof(m_gearAuxLink)[dof];
}
btScalar currentPositionB = m_gearRatio*m_bodyA->getJointPosMultiDof(m_linkB)[dof];
btScalar diff = currentPositionB+currentPositionA;
btScalar desiredPositionDiff = this->m_relativePositionTarget;