|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.jbox2d.dynamics.joints.Joint
org.jbox2d.dynamics.joints.RevoluteJoint
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.
Field Summary | |
---|---|
boolean |
m_enableLimit
|
boolean |
m_enableMotor
|
Vec3 |
m_impulse
|
int |
m_indexA
|
int |
m_indexB
|
float |
m_invIA
|
float |
m_invIB
|
float |
m_invMassA
|
float |
m_invMassB
|
LimitState |
m_limitState
|
Vec2 |
m_localAnchorA
|
Vec2 |
m_localAnchorB
|
Vec2 |
m_localCenterA
|
Vec2 |
m_localCenterB
|
float |
m_lowerAngle
|
Mat33 |
m_mass
|
float |
m_maxMotorTorque
|
float |
m_motorImpulse
|
float |
m_motorMass
|
float |
m_motorSpeed
|
Vec2 |
m_rA
|
Vec2 |
m_rB
|
float |
m_referenceAngle
|
float |
m_upperAngle
|
Fields inherited from class org.jbox2d.dynamics.joints.Joint |
---|
m_bodyA, m_bodyB, m_collideConnected, m_edgeA, m_edgeB, m_index, m_islandFlag, m_next, m_prev, m_type, m_userData, pool |
Constructor Summary | |
---|---|
RevoluteJoint(IWorldPool argWorld,
RevoluteJointDef def)
|
Method Summary | |
---|---|
void |
enableLimit(boolean flag)
|
void |
enableMotor(boolean flag)
|
void |
getAnchorA(Vec2 argOut)
get the anchor point on bodyA in world coordinates. |
void |
getAnchorB(Vec2 argOut)
get the anchor point on bodyB in world coordinates. |
float |
getJointAngle()
|
float |
getJointSpeed()
|
float |
getLowerLimit()
|
float |
getMotorTorque(float inv_dt)
|
void |
getReactionForce(float inv_dt,
Vec2 argOut)
get the reaction force on body2 at the joint anchor in Newtons. |
float |
getReactionTorque(float inv_dt)
get the reaction torque on body2 in N*m. |
float |
getUpperLimit()
|
void |
initVelocityConstraints(SolverData data)
|
boolean |
isLimitEnabled()
|
boolean |
isMotorEnabled()
|
void |
setLimits(float lower,
float upper)
|
void |
setMaxMotorTorque(float torque)
|
void |
setMotorSpeed(float speed)
|
boolean |
solvePositionConstraints(SolverData data)
This returns true if the position errors are within tolerance. |
void |
solveVelocityConstraints(SolverData data)
|
Methods inherited from class org.jbox2d.dynamics.joints.Joint |
---|
create, destroy, destructor, getBodyA, getBodyB, getCollideConnected, getNext, getType, getUserData, IsActive, setUserData |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public final Vec2 m_localAnchorA
public final Vec2 m_localAnchorB
public final Vec3 m_impulse
public float m_motorImpulse
public boolean m_enableMotor
public float m_maxMotorTorque
public float m_motorSpeed
public boolean m_enableLimit
public float m_referenceAngle
public float m_lowerAngle
public float m_upperAngle
public int m_indexA
public int m_indexB
public final Vec2 m_rA
public final Vec2 m_rB
public final Vec2 m_localCenterA
public final Vec2 m_localCenterB
public float m_invMassA
public float m_invMassB
public float m_invIA
public float m_invIB
public final Mat33 m_mass
public float m_motorMass
public LimitState m_limitState
Constructor Detail |
---|
public RevoluteJoint(IWorldPool argWorld, RevoluteJointDef def)
Method Detail |
---|
public void initVelocityConstraints(SolverData data)
initVelocityConstraints
in class Joint
public void solveVelocityConstraints(SolverData data)
solveVelocityConstraints
in class Joint
public boolean solvePositionConstraints(SolverData data)
Joint
solvePositionConstraints
in class Joint
public void getAnchorA(Vec2 argOut)
Joint
getAnchorA
in class Joint
public void getAnchorB(Vec2 argOut)
Joint
getAnchorB
in class Joint
public void getReactionForce(float inv_dt, Vec2 argOut)
Joint
getReactionForce
in class Joint
public float getReactionTorque(float inv_dt)
Joint
getReactionTorque
in class Joint
public float getJointAngle()
public float getJointSpeed()
public boolean isMotorEnabled()
public void enableMotor(boolean flag)
public float getMotorTorque(float inv_dt)
public void setMotorSpeed(float speed)
public void setMaxMotorTorque(float torque)
public boolean isLimitEnabled()
public void enableLimit(boolean flag)
public float getLowerLimit()
public float getUpperLimit()
public void setLimits(float lower, float upper)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |