# Class Joint

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

Direct Known Subclasses:
  `ConstantVolumeJoint, DistanceJoint, FrictionJoint, GearJoint, MouseJoint, PrismaticJoint, PulleyJoint, RevoluteJoint, RopeJoint, WeldJoint, WheelJoint`

public abstract class Joint extends Object

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected Body`
  `m_bodyA`
  `protected Body`
  `m_bodyB`
  `JointEdge`
  `m_edgeA`
  `JointEdge`
  `m_edgeB`
  `boolean`
  `m_islandFlag`
  `Joint`
  `m_next`
  `Joint`
  `m_prev`
  `Object`
  `m_userData`
  `protected IWorldPool`
  `pool`

- ## Constructor Summary

  Constructors
  Modifier
  Constructor
  Description
  `protected`
  `Joint(IWorldPool worldPool, JointDef def)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static Joint`
  `create(World world, JointDef def)`
  `static void`
  `destroy(Joint joint)`
  `void`
  `destructor()`
  `abstract void`
  `getAnchorA(Vec2 out)`
  `abstract void`
  `getAnchorB(Vec2 out)`
  `final Body`
  `getBodyA()`
  `final Body`
  `getBodyB()`
  `final boolean`
  `getCollideConnected()`
  `Joint`
  `getNext()`
  `abstract void`
  `getReactionForce(float inv_dt, Vec2 out)`
  `abstract float`
  `getReactionTorque(float inv_dt)`
  `JointType`
  `getType()`
  `Object`
  `getUserData()`
  `abstract void`
  `initVelocityConstraints(SolverData data)`
  `boolean`
  `isActive()`
  `void`
  `setUserData(Object data)`
  `abstract boolean`
  `solvePositionConstraints(SolverData data)`
  `abstract void`
  `solveVelocityConstraints(SolverData data)`

  ### Methods inherited from class Object

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

- ## Field Details

  - ### m_prev

    public Joint m_prev

  - ### m_next

    public Joint m_next

  - ### m_edgeA

    public JointEdge m_edgeA

  - ### m_edgeB

    public JointEdge m_edgeB

  - ### m_bodyA

    protected Body m_bodyA

  - ### m_bodyB

    protected Body m_bodyB

  - ### m_islandFlag

    public boolean m_islandFlag

  - ### m_userData

    public Object m_userData

  - ### pool

    protected IWorldPool pool

- ## Constructor Details

  - ### Joint

    protected Joint(IWorldPool worldPool, JointDef def)

- ## Method Details

  - ### create

    public static Joint create(World world, JointDef def)

  - ### destroy

    public static void destroy(Joint joint)

  - ### getType

    public JointType getType()

  - ### getBodyA

    public final Body getBodyA()

  - ### getBodyB

    public final Body getBodyB()

  - ### getAnchorA

    public abstract void getAnchorA(Vec2 out)

  - ### getAnchorB

    public abstract void getAnchorB(Vec2 out)

  - ### getReactionForce

    public abstract void getReactionForce(float inv_dt, Vec2 out)

  - ### getReactionTorque

    public abstract float getReactionTorque(float inv_dt)

  - ### getNext

    public Joint getNext()

  - ### getUserData

    public Object getUserData()

  - ### setUserData

    public void setUserData(Object data)

  - ### getCollideConnected

    public final boolean getCollideConnected()

  - ### isActive

    public boolean isActive()

  - ### initVelocityConstraints

    public abstract void initVelocityConstraints(SolverData data)

  - ### solveVelocityConstraints

    public abstract void solveVelocityConstraints(SolverData data)

  - ### solvePositionConstraints

    public abstract boolean solvePositionConstraints(SolverData data)

  - ### destructor

    public void destructor()