Package org.jbox2d.dynamics.joints
Class RevoluteJoint
java.lang.Object
org.jbox2d.dynamics.joints.Joint
org.jbox2d.dynamics.joints.RevoluteJoint
A revolute joint constrains two bodies to share a common point while they are
free to rotate about the point. The relative rotation about the shared point
is the joint angle. You can limit the relative rotation with a joint limit
that specifies a lower and upper angle. You can use a motor to drive the
relative rotation about the shared point. A maximum motor torque is provided
so that infinite forces are not generated.
- Author:
- Daniel Murphy
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidenableLimit(boolean flag) voidenableMotor(boolean flag) voidgetAnchorA(Vec2 argOut) Get the anchor point on bodyA in world coordinates.voidgetAnchorB(Vec2 argOut) Get the anchor point on bodyB in world coordinates.floatfloatfloatfloatfloatfloatgetMotorTorque(float inv_dt) voidgetReactionForce(float invDt, Vec2 argOut) Get the reaction force on body2 at the joint anchor in Newtons.floatgetReactionTorque(float invDt) Get the reaction torque on body2 in N*m.floatfloatvoidInternalbooleanbooleanvoidsetLimits(float lower, float upper) voidsetMaxMotorTorque(float torque) voidsetMotorSpeed(float speed) booleanThis returns true if the position errors are within tolerance.voidInternalMethods inherited from class org.jbox2d.dynamics.joints.Joint
create, destroy, destructor, getBodyA, getBodyB, getCollideConnected, getNext, getType, getUserData, isActive, setUserData
-
Field Details
-
localAnchorA
The local anchor point relative to body1's origin. -
localAnchorB
The local anchor point relative to body2's origin. -
referenceAngle
protected float referenceAngleThe body2 angle minus body1 angle in the reference state (radians).
-
-
Constructor Details
-
RevoluteJoint
-
-
Method Details
-
initVelocityConstraints
Description copied from class:JointInternal- Specified by:
initVelocityConstraintsin classJoint
-
solveVelocityConstraints
Description copied from class:JointInternal- Specified by:
solveVelocityConstraintsin classJoint
-
solvePositionConstraints
Description copied from class:JointThis returns true if the position errors are within tolerance. Internal.- Specified by:
solvePositionConstraintsin classJoint
-
getLocalAnchorA
-
getLocalAnchorB
-
getReferenceAngle
public float getReferenceAngle() -
getAnchorA
Description copied from class:JointGet the anchor point on bodyA in world coordinates.- Specified by:
getAnchorAin classJoint
-
getAnchorB
Description copied from class:JointGet the anchor point on bodyB in world coordinates.- Specified by:
getAnchorBin classJoint
-
getReactionForce
Description copied from class:JointGet the reaction force on body2 at the joint anchor in Newtons.- Specified by:
getReactionForcein classJoint
-
getReactionTorque
public float getReactionTorque(float invDt) Description copied from class:JointGet the reaction torque on body2 in N*m.- Specified by:
getReactionTorquein classJoint
-
getJointAngle
public float getJointAngle() -
getJointSpeed
public float getJointSpeed() -
isMotorEnabled
public boolean isMotorEnabled() -
enableMotor
public void enableMotor(boolean flag) -
getMotorTorque
public float getMotorTorque(float inv_dt) -
setMotorSpeed
public void setMotorSpeed(float speed) -
setMaxMotorTorque
public void setMaxMotorTorque(float torque) -
getMotorSpeed
public float getMotorSpeed() -
getMaxMotorTorque
public float getMaxMotorTorque() -
isLimitEnabled
public boolean isLimitEnabled() -
enableLimit
public void enableLimit(boolean flag) -
getLowerLimit
public float getLowerLimit() -
getUpperLimit
public float getUpperLimit() -
setLimits
public void setLimits(float lower, float upper)
-