Class RopeJoint
java.lang.Object
org.jbox2d.dynamics.joints.Joint
org.jbox2d.dynamics.joints.RopeJoint
A rope joint enforces a maximum distance between two points on two bodies. It has no other
effect. Warning: if you attempt to change the maximum length during the simulation you will get
some non-physical behavior. A model that would allow you to dynamically modify the length would
have some sponginess, so I chose not to implement it that way. See DistanceJoint if you want to
dynamically control length.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate floatprivate intprivate intprivate floatprivate floatprivate floatprivate floatprivate floatprivate final Vec2private final Vec2private final Vec2private final Vec2private floatprivate floatprivate final Vec2private final Vec2private LimitStateprivate final Vec2Fields inherited from class Joint
m_bodyA, m_bodyB, m_edgeA, m_edgeB, m_islandFlag, m_next, m_prev, m_userData, pool -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidgetAnchorA(Vec2 argOut) get the anchor point on bodyA in world coordinates.voidgetAnchorB(Vec2 argOut) get the anchor point on bodyB in world coordinates.floatvoidgetReactionForce(float inv_dt, Vec2 argOut) get the reaction force on body2 at the joint anchor in Newtons.floatgetReactionTorque(float inv_dt) get the reaction torque on body2 in N*m.voidvoidsetMaxLength(float maxLength) booleanThis returns true if the position errors are within tolerance.voidMethods inherited from class Joint
create, destroy, destructor, getBodyA, getBodyB, getCollideConnected, getNext, getType, getUserData, isActive, setUserDataMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Field Details
-
m_localAnchorA
-
m_localAnchorB
-
m_maxLength
private float m_maxLength -
m_length
private float m_length -
m_impulse
private float m_impulse -
m_indexA
private int m_indexA -
m_indexB
private int m_indexB -
m_u
-
m_rA
-
m_rB
-
m_localCenterA
-
m_localCenterB
-
m_invMassA
private float m_invMassA -
m_invMassB
private float m_invMassB -
m_invIA
private float m_invIA -
m_invIB
private float m_invIB -
m_mass
private float m_mass -
m_state
-
-
Constructor Details
-
RopeJoint
-
-
Method Details
-
initVelocityConstraints
- Specified by:
initVelocityConstraintsin classJoint
-
solveVelocityConstraints
- Specified by:
solveVelocityConstraintsin classJoint
-
solvePositionConstraints
Description copied from class:JointThis returns true if the position errors are within tolerance.- Specified by:
solvePositionConstraintsin classJoint- Returns:
-
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- Parameters:
inv_dt-
-
getReactionTorque
public float getReactionTorque(float inv_dt) Description copied from class:Jointget the reaction torque on body2 in N*m.- Specified by:
getReactionTorquein classJoint- Parameters:
inv_dt-- Returns:
-
getLocalAnchorA
-
getLocalAnchorB
-
getMaxLength
public float getMaxLength() -
setMaxLength
public void setMaxLength(float maxLength) -
getLimitState
-