# Class GearJoint

java.lang.Object
com.codename1.gaming.physics.box2d.dynamics.joints.Joint
com.codename1.gaming.physics.box2d.dynamics.joints.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 Summary

  ### Fields inherited from class Joint

  `m_bodyA, m_bodyB, m_edgeA, m_edgeB, m_islandFlag, m_next, m_prev, m_userData, pool`

- ## Constructor Summary

  Constructors
  Modifier
  Constructor
  Description
  `protected`
  `GearJoint(IWorldPool argWorldPool, GearJointDef def)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `getAnchorA(Vec2 argOut)`
  get the anchor point on bodyA in world coordinates.
  `void`
  `getAnchorB(Vec2 argOut)`
  get the anchor point on bodyB in world coordinates.
  `Joint`
  `getJoint1()`
  `Joint`
  `getJoint2()`
  `float`
  `getRatio()`
  `void`
  `getReactionForce(float inv_dt, Vec2 argOut)`
  get the reaction force on body2 at the joint anchor in Newtons.
  `float`
  `getReactionTorque(float inv_dt)`
  get the reaction torque on body2 in N*m.
  `void`
  `initVelocityConstraints(SolverData data)`
  `void`
  `setRatio(float argRatio)`
  `boolean`
  `solvePositionConstraints(SolverData data)`
  This returns true if the position errors are within tolerance.
  `void`
  `solveVelocityConstraints(SolverData data)`

  ### Methods inherited from class Joint

  `create, destroy, destructor, getBodyA, getBodyB, getCollideConnected, getNext, getType, getUserData, isActive, setUserData`

  ### Methods inherited from class Object

  `clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### GearJoint

    protected GearJoint(IWorldPool argWorldPool, GearJointDef def)

- ## Method Details

  - ### 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`
    Parameters:
      `inv_dt` -

  - ### 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`
    Parameters:
      `inv_dt` -
    Returns:

  - ### setRatio

    public void setRatio(float argRatio)

  - ### getRatio

    public float getRatio()

  - ### initVelocityConstraints

    public void initVelocityConstraints(SolverData data)
    Specified by:
      `initVelocityConstraints` in class `Joint`

  - ### solveVelocityConstraints

    public void solveVelocityConstraints(SolverData data)
    Specified by:
      `solveVelocityConstraints` in class `Joint`

  - ### 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: