Class GearJoint


  • public class GearJoint
    extends Joint
    A gear joint is used to connect two joints together. Either joint can be a revolute or prismatic joint. You specify a gear ratio to bind the motions together: coordinate1 + ratio * coordinate2 = constant The ratio can be negative or positive. If one joint is a revolute joint and the other joint is a prismatic joint, then the ratio will have units of length or units of 1/length.
    • Field Detail

      • m_joint1

        private final Joint m_joint1
      • m_joint2

        private final Joint m_joint2
      • m_bodyC

        private final Body m_bodyC
      • m_bodyD

        private final Body m_bodyD
      • m_localAnchorA

        private final Vec2 m_localAnchorA
      • m_localAnchorB

        private final Vec2 m_localAnchorB
      • m_localAnchorC

        private final Vec2 m_localAnchorC
      • m_localAnchorD

        private final Vec2 m_localAnchorD
      • m_localAxisC

        private final Vec2 m_localAxisC
      • m_localAxisD

        private final Vec2 m_localAxisD
      • m_referenceAngleA

        private float m_referenceAngleA
      • m_referenceAngleB

        private float m_referenceAngleB
      • m_constant

        private float m_constant
      • m_ratio

        private float m_ratio
      • m_impulse

        private float m_impulse
      • m_indexA

        private int m_indexA
      • m_indexB

        private int m_indexB
      • m_indexC

        private int m_indexC
      • m_indexD

        private int m_indexD
      • m_lcA

        private final Vec2 m_lcA
      • m_lcB

        private final Vec2 m_lcB
      • m_lcC

        private final Vec2 m_lcC
      • m_lcD

        private final Vec2 m_lcD
      • m_mA

        private float m_mA
      • m_mB

        private float m_mB
      • m_mC

        private float m_mC
      • m_mD

        private float m_mD
      • m_iA

        private float m_iA
      • m_iB

        private float m_iB
      • m_iC

        private float m_iC
      • m_iD

        private float m_iD
      • m_JvAC

        private final Vec2 m_JvAC
      • m_JvBD

        private final Vec2 m_JvBD
      • m_JwA

        private float m_JwA
      • m_JwB

        private float m_JwB
      • m_JwC

        private float m_JwC
      • m_JwD

        private float m_JwD
      • m_mass

        private float m_mass
    • Method Detail

      • getAnchorA

        public void getAnchorA​(Vec2 argOut)
        Description copied from class: Joint
        get the anchor point on bodyA in world coordinates.
        Specified by:
        getAnchorA in class Joint
      • getAnchorB

        public void getAnchorB​(Vec2 argOut)
        Description copied from class: Joint
        get the anchor point on bodyB in world coordinates.
        Specified by:
        getAnchorB in class Joint
      • getReactionForce

        public void getReactionForce​(float inv_dt,
                                     Vec2 argOut)
        Description copied from class: Joint
        get the reaction force on body2 at the joint anchor in Newtons.
        Specified by:
        getReactionForce in class Joint
      • getReactionTorque

        public float getReactionTorque​(float inv_dt)
        Description copied from class: Joint
        get the reaction torque on body2 in N*m.
        Specified by:
        getReactionTorque in class Joint
        Returns:
      • setRatio

        public void setRatio​(float argRatio)
      • getRatio

        public float getRatio()
      • getJoint1

        public Joint getJoint1()
      • getJoint2

        public Joint getJoint2()
      • solvePositionConstraints

        public boolean solvePositionConstraints​(SolverData data)
        Description copied from class: Joint
        This returns true if the position errors are within tolerance.
        Specified by:
        solvePositionConstraints in class Joint
        Returns: