Class RevoluteJointDef

java.lang.Object
org.jbox2d.dynamics.joints.JointDef
org.jbox2d.dynamics.joints.RevoluteJointDef

public class RevoluteJointDef extends JointDef
Revolute joint definition. This requires defining an anchor point where the bodies are joined. The definition uses local anchor points so that the initial configuration can violate the constraint slightly. You also need to specify the initial relative angle for joint limits. This helps when saving and loading a game. The local anchor points are measured from the body's origin rather than the center of mass because:
  • you might not know where the center of mass will be.
  • if you add/remove shapes from a body and recompute the mass, the joints will be broken.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    boolean
    A flag to enable joint limits.
    boolean
    A flag to enable the joint motor.
    The local anchor point relative to body1's origin.
    The local anchor point relative to body2's origin.
    float
    The lower angle for the joint limit (radians).
    float
    The maximum motor torque used to achieve the desired motor speed.
    float
    The desired motor speed.
    float
    The body2 angle minus body1 angle in the reference state (radians).
    float
    The upper angle for the joint limit (radians).

    Fields inherited from class org.jbox2d.dynamics.joints.JointDef

    bodyA, bodyB, collideConnected, type, userData
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    initialize(Body b1, Body b2, Vec2 anchor)
    Initialize the bodies, anchors, and reference angle using the world anchor.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • localAnchorA

      public Vec2 localAnchorA
      The local anchor point relative to body1's origin.
    • localAnchorB

      public Vec2 localAnchorB
      The local anchor point relative to body2's origin.
    • referenceAngle

      public float referenceAngle
      The body2 angle minus body1 angle in the reference state (radians).
    • enableLimit

      public boolean enableLimit
      A flag to enable joint limits.
    • lowerAngle

      public float lowerAngle
      The lower angle for the joint limit (radians).
    • upperAngle

      public float upperAngle
      The upper angle for the joint limit (radians).
    • enableMotor

      public boolean enableMotor
      A flag to enable the joint motor.
    • motorSpeed

      public float motorSpeed
      The desired motor speed. Usually in radians per second.
    • maxMotorTorque

      public float maxMotorTorque
      The maximum motor torque used to achieve the desired motor speed. Usually in N-m.
  • Constructor Details

    • RevoluteJointDef

      public RevoluteJointDef()
  • Method Details

    • initialize

      public void initialize(Body b1, Body b2, Vec2 anchor)
      Initialize the bodies, anchors, and reference angle using the world anchor.
      Parameters:
      b1 -
      b2 -
      anchor -