void btMultiBodyGearConstraint::finalizeMultiDof() { allocateJacobiansMultiDof(); m_numDofsFinalized = m_jacSizeBoth; }
void btMultiBodyJointMotor::finalizeMultiDof() { allocateJacobiansMultiDof(); // note: we rely on the fact that data.m_jacobians are // always initialized to zero by the Constraint ctor int linkDoF = 0; unsigned int offset = 6 + (m_bodyA->isMultiDof() ? m_bodyA->getLink(m_linkA).m_dofOffset + linkDoF : m_linkA); // row 0: the lower bound // row 0: the lower bound jacobianA(0)[offset] = 1; m_numDofsFinalized = m_jacSizeBoth; }
void btMultiBodyJointLimitConstraint::finalizeMultiDof() { // the data.m_jacobians never change, so may as well // initialize them here allocateJacobiansMultiDof(); unsigned int offset = 6 + m_bodyA->getLink(m_linkA).m_dofOffset; // row 0: the lower bound jacobianA(0)[offset] = 1; // row 1: the upper bound //jacobianA(1)[offset] = -1; jacobianB(1)[offset] = -1; m_numDofsFinalized = m_jacSizeBoth; }