# Class PulleyJoint

java.lang.Object
com.codename1.gaming.physics.box2d.dynamics.joints.Joint
com.codename1.gaming.physics.box2d.dynamics.joints.PulleyJoint

public class PulleyJoint extends Joint
The pulley joint is connected to two bodies and two fixed ground points. The pulley supports a ratio such that: length1 + ratio * length2 <= constant Yes, the force transmitted is scaled by the ratio. Warning: the pulley joint can get a bit squirrelly by itself. They often work better when combined with prismatic joints. You should also cover the the anchor points with static shapes to prevent one side from going to zero length.

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final float`
  `MIN_PULLEY_LENGTH`

  ### 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`
  `PulleyJoint(IWorldPool argWorldPool, PulleyJointDef 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.
  `float`
  `getCurrentLengthA()`
  `float`
  `getCurrentLengthB()`
  `Vec2`
  `getGroundAnchorA()`
  `Vec2`
  `getGroundAnchorB()`
  `float`
  `getLength1()`
  `float`
  `getLength2()`
  `float`
  `getLengthA()`
  `float`
  `getLengthB()`
  `Vec2`
  `getLocalAnchorA()`
  `Vec2`
  `getLocalAnchorB()`
  `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)`
  `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`

- ## Field Details

  - ### MIN_PULLEY_LENGTH

    public static final float MIN_PULLEY_LENGTH
    See Also:
      - Constant Field Values

- ## Constructor Details

  - ### PulleyJoint

    protected PulleyJoint(IWorldPool argWorldPool, PulleyJointDef def)

- ## Method Details

  - ### getLengthA

    public float getLengthA()

  - ### getLengthB

    public float getLengthB()

  - ### getCurrentLengthA

    public float getCurrentLengthA()

  - ### getCurrentLengthB

    public float getCurrentLengthB()

  - ### getLocalAnchorA

    public Vec2 getLocalAnchorA()

  - ### getLocalAnchorB

    public Vec2 getLocalAnchorB()

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

  - ### getGroundAnchorA

    public Vec2 getGroundAnchorA()

  - ### getGroundAnchorB

    public Vec2 getGroundAnchorB()

  - ### getLength1

    public float getLength1()

  - ### getLength2

    public float getLength2()

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

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