Class Joint

java.lang.Object
org.jbox2d.dynamics.joints.Joint
Direct Known Subclasses:
ConstantVolumeJoint, DistanceJoint, FrictionJoint, GearJoint, MouseJoint, PrismaticJoint, PulleyJoint, RevoluteJoint, RopeJoint, WeldJoint, WheelJoint

public abstract class Joint extends java.lang.Object
The base joint class. Joints are used to constrain two bodies together in various fashions. Some joints also feature limits and motors.
  • Field Details

    • m_type

      private final JointType m_type
    • 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_collideConnected

      private boolean m_collideConnected
    • m_userData

      public java.lang.Object m_userData
    • pool

      protected IWorldPool pool
  • Constructor Details

  • Method Details

    • create

      public static Joint create(World world, JointDef def)
    • destroy

      public static void destroy(Joint joint)
    • getType

      public JointType getType()
      get the type of the concrete joint.
      Returns:
    • getBodyA

      public final Body getBodyA()
      get the first body attached to this joint.
    • getBodyB

      public final Body getBodyB()
      get the second body attached to this joint.
      Returns:
    • getAnchorA

      public abstract void getAnchorA(Vec2 out)
      get the anchor point on bodyA in world coordinates.
    • getAnchorB

      public abstract void getAnchorB(Vec2 out)
      get the anchor point on bodyB in world coordinates.
    • getReactionForce

      public abstract void getReactionForce(float inv_dt, Vec2 out)
      get the reaction force on body2 at the joint anchor in Newtons.
      Parameters:
      inv_dt -
    • getReactionTorque

      public abstract float getReactionTorque(float inv_dt)
      get the reaction torque on body2 in N*m.
      Parameters:
      inv_dt -
      Returns:
    • getNext

      public Joint getNext()
      get the next joint the world joint list.
    • getUserData

      public java.lang.Object getUserData()
      get the user data pointer.
    • setUserData

      public void setUserData(java.lang.Object data)
      Set the user data pointer.
    • getCollideConnected

      public final boolean getCollideConnected()
    • isActive

      public boolean isActive()
      Short-cut function to determine if either body is inactive.
      Returns:
    • initVelocityConstraints

      public abstract void initVelocityConstraints(SolverData data)
    • solveVelocityConstraints

      public abstract void solveVelocityConstraints(SolverData data)
    • solvePositionConstraints

      public abstract boolean solvePositionConstraints(SolverData data)
      This returns true if the position errors are within tolerance.
      Parameters:
      baumgarte -
      Returns:
    • destructor

      public void destructor()
      Override to handle destruction of joint