public class RevoluteJointDef

  1. Object
  2. JointDef
  3. RevoluteJointDef

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.

Fields

public Vec2 localAnchorAThe local anchor point relative to body1’s origin.
public Vec2 localAnchorBThe local anchor point relative to body2’s origin.
public float referenceAngleThe body2 angle minus body1 angle in the reference state (radians).
public boolean enableLimitA flag to enable joint limits.
public float lowerAngleThe lower angle for the joint limit (radians).
public float upperAngleThe upper angle for the joint limit (radians).
public boolean enableMotorA flag to enable the joint motor.
public float motorSpeedThe desired motor speed.
public float maxMotorTorqueThe maximum motor torque used to achieve the desired motor speed.

Constructors

public RevoluteJointDef()

Methods

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

Inherited fields

Inherited methods

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.