Client API. The Codename One framework your app is built on: this runs on the device, not in a backend.
public class 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.
Fields
protected final Vec2 m_localAnchorA | |
protected final Vec2 m_localAnchorB | |
protected float m_referenceAngle |
Constructors
protected RevoluteJoint(IWorldPool argWorld, RevoluteJointDef def) |
Methods
Inherited fields
From Joint
m_prev, m_next, m_edgeA, m_edgeB, m_bodyA, m_bodyB, m_islandFlag, m_userData, pool
Inherited methods
Field details
m_localAnchorA
protected final Vec2 m_localAnchorAm_localAnchorB
protected final Vec2 m_localAnchorBm_referenceAngle
protected float m_referenceAngleConstructor details
RevoluteJoint
protected RevoluteJoint(IWorldPool argWorld, RevoluteJointDef def)Method details
initVelocityConstraints
public void initVelocityConstraints(SolverData data)solveVelocityConstraints
public void solveVelocityConstraints(SolverData data)solvePositionConstraints
public boolean solvePositionConstraints(SolverData data)This returns true if the position errors are within tolerance.
Parameters
dataSolverData- the solver state for this step
Returns
true if the position errors are within tolerance
getLocalAnchorA
public Vec2 getLocalAnchorA()getLocalAnchorB
public Vec2 getLocalAnchorB()getReferenceAngle
public float getReferenceAngle()getAnchorA
public void getAnchorA(Vec2 argOut)get the anchor point on bodyA in world coordinates.
Parameters
argOutVec2- receives the anchor point
getAnchorB
public void getAnchorB(Vec2 argOut)get the anchor point on bodyB in world coordinates.
Parameters
argOutVec2- receives the anchor point
getReactionForce
public void getReactionForce(float inv_dt, Vec2 argOut)get the reaction force on body2 at the joint anchor in Newtons.
Parameters
inv_dtfloat- the inverse of the time step
argOutVec2- receives the reaction force
getReactionTorque
public float getReactionTorque(float inv_dt)get the reaction torque on body2 in N*m.
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)