34 info->m_numConstraintRows = 1;
40 btVector3 globalAxisA, globalAxisB;
42 globalAxisA =
m_rbA.getWorldTransform().getBasis() * this->
m_axisInA;
43 globalAxisB =
m_rbB.getWorldTransform().getBasis() * this->
m_axisInB;
46 info->m_J1angularAxis[1] = globalAxisA[1];
47 info->m_J1angularAxis[2] = globalAxisA[2];
49 info->m_J2angularAxis[0] =
m_ratio * globalAxisB[0];
50 info->m_J2angularAxis[1] =
m_ratio * globalAxisB[1];
51 info->m_J2angularAxis[2] =
m_ratio * globalAxisB[2];
btFixedConstraint btRigidBody & rbB
float btScalar
The btScalar type abstracts floating point numbers, to easily switch between double and single floati...
virtual ~btGearConstraint()
virtual void getInfo2(btConstraintInfo2 *info)
internal method used by the constraint solver, don't use them directly
virtual void getInfo1(btConstraintInfo1 *info)
internal method used by the constraint solver, don't use them directly
btGearConstraint(btRigidBody &rbA, btRigidBody &rbB, const btVector3 &axisInA, const btVector3 &axisInB, btScalar ratio=1.f)
Implemented by Erwin Coumans. The idea for the constraint comes from Dimitris Papavasiliou.
btScalar * m_J1angularAxis