Package org.jbox2d.dynamics.joints
Class RopeJoint
- java.lang.Object
-
- org.jbox2d.dynamics.joints.Joint
-
- org.jbox2d.dynamics.joints.RopeJoint
-
public class RopeJoint extends Joint
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
Fields Modifier and Type Field Description private floatm_impulseprivate intm_indexAprivate intm_indexBprivate floatm_invIAprivate floatm_invIBprivate floatm_invMassAprivate floatm_invMassBprivate floatm_lengthprivate Vec2m_localAnchorAprivate Vec2m_localAnchorBprivate Vec2m_localCenterAprivate Vec2m_localCenterBprivate floatm_massprivate floatm_maxLengthprivate Vec2m_rAprivate Vec2m_rBprivate LimitStatem_stateprivate Vec2m_u-
Fields inherited from class org.jbox2d.dynamics.joints.Joint
m_bodyA, m_bodyB, m_edgeA, m_edgeB, m_islandFlag, m_next, m_prev, m_userData, pool
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedRopeJoint(IWorldPool worldPool, RopeJointDef def)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidgetAnchorA(Vec2 argOut)get the anchor point on bodyA in world coordinates.voidgetAnchorB(Vec2 argOut)get the anchor point on bodyB in world coordinates.LimitStategetLimitState()Vec2getLocalAnchorA()Vec2getLocalAnchorB()floatgetMaxLength()voidgetReactionForce(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.voidinitVelocityConstraints(SolverData data)voidsetMaxLength(float maxLength)booleansolvePositionConstraints(SolverData data)This returns true if the position errors are within tolerance.voidsolveVelocityConstraints(SolverData data)-
Methods inherited from class org.jbox2d.dynamics.joints.Joint
create, destroy, destructor, getBodyA, getBodyB, getCollideConnected, getNext, getType, getUserData, isActive, setUserData
-
-
-
-
Field Detail
-
m_localAnchorA
private final Vec2 m_localAnchorA
-
m_localAnchorB
private final Vec2 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
private final Vec2 m_u
-
m_rA
private final Vec2 m_rA
-
m_rB
private final Vec2 m_rB
-
m_localCenterA
private final Vec2 m_localCenterA
-
m_localCenterB
private final Vec2 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
private LimitState m_state
-
-
Constructor Detail
-
RopeJoint
protected RopeJoint(IWorldPool worldPool, RopeJointDef def)
-
-
Method Detail
-
initVelocityConstraints
public void initVelocityConstraints(SolverData data)
- Specified by:
initVelocityConstraintsin classJoint
-
solveVelocityConstraints
public void solveVelocityConstraints(SolverData data)
- Specified by:
solveVelocityConstraintsin classJoint
-
solvePositionConstraints
public boolean solvePositionConstraints(SolverData data)
Description copied from class:JointThis returns true if the position errors are within tolerance.- Specified by:
solvePositionConstraintsin classJoint- Returns:
-
getAnchorA
public void getAnchorA(Vec2 argOut)
Description copied from class:Jointget the anchor point on bodyA in world coordinates.- Specified by:
getAnchorAin classJoint
-
getAnchorB
public void getAnchorB(Vec2 argOut)
Description copied from class:Jointget the anchor point on bodyB in world coordinates.- Specified by:
getAnchorBin classJoint
-
getReactionForce
public void getReactionForce(float inv_dt, Vec2 argOut)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 inv_dt)
Description copied from class:Jointget the reaction torque on body2 in N*m.- Specified by:
getReactionTorquein classJoint- Returns:
-
getLocalAnchorA
public Vec2 getLocalAnchorA()
-
getLocalAnchorB
public Vec2 getLocalAnchorB()
-
getMaxLength
public float getMaxLength()
-
setMaxLength
public void setMaxLength(float maxLength)
-
getLimitState
public LimitState getLimitState()
-
-