27 m_desiredVelocity(0, 0, 0),
28 m_desiredPosition(0,0,0,1),
@ MULTIBODY_CONSTRAINT_SPHERICAL_MOTOR
btScalar * jacobianA(int row)
btScalar m_maxAppliedImpulse
void allocateJacobiansMultiDof()
btScalar fillMultiBodyConstraint(btMultiBodySolverConstraint &solverConstraint, btMultiBodyJacobianData &data, btScalar *jacOrgA, btScalar *jacOrgB, const btVector3 &constraintNormalAng, const btVector3 &constraintNormalLin, const btVector3 &posAworld, const btVector3 &posBworld, btScalar posError, const btContactSolverInfo &infoGlobal, btScalar lowerLimit, btScalar upperLimit, bool angConstraint=false, btScalar relaxation=1.f, bool isFriction=false, btScalar desiredVelocity=0, btScalar cfmSlip=0, btScalar damping=1.0)
virtual int getIslandIdA() const
btVector3 m_desiredVelocity
btVector3 m_maxAppliedImpulseMultiDof
btMultiBodySphericalJointMotor(btMultiBody *body, int link, btScalar maxMotorImpulse)
This file was written by Erwin Coumans.
virtual void finalizeMultiDof()
virtual void createConstraintRows(btMultiBodyConstraintArray &constraintRows, btMultiBodyJacobianData &data, const btContactSolverInfo &infoGlobal)
virtual int getIslandIdB() const
btQuaternion m_desiredPosition
virtual ~btMultiBodySphericalJointMotor()
btMatrix3x3 localFrameToWorld(int i, const btMatrix3x3 &local_frame) const
btScalar * getJointPosMultiDof(int i)
const btMultibodyLink & getLink(int index) const
const btMultiBodyLinkCollider * getBaseCollider() const
btScalar * getJointVelMultiDof(int i)
1D constraint along a normal axis between bodyA and bodyB. It can be combined to solve contact and fr...
class btMultiBodyLinkCollider * m_collider
eFeatherstoneJointType m_jointType