Package org.jbox2d.dynamics.joints
Class DistanceJoint
- java.lang.Object
-
- org.jbox2d.dynamics.joints.Joint
-
- org.jbox2d.dynamics.joints.DistanceJoint
-
public class DistanceJoint extends Joint
A distance joint constrains two points on two bodies to remain at a fixed distance from each other. You can view this as a massless, rigid rod.
-
-
Field Summary
Fields Modifier and Type Field Description private float
m_bias
private float
m_dampingRatio
private float
m_frequencyHz
private float
m_gamma
private float
m_impulse
private int
m_indexA
private int
m_indexB
private float
m_invIA
private float
m_invIB
private float
m_invMassA
private float
m_invMassB
private float
m_length
private Vec2
m_localAnchorA
private Vec2
m_localAnchorB
private Vec2
m_localCenterA
private Vec2
m_localCenterB
private float
m_mass
private Vec2
m_rA
private Vec2
m_rB
private Vec2
m_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 protected
DistanceJoint(IWorldPool argWorld, DistanceJointDef def)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description 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
getDampingRatio()
float
getFrequency()
float
getLength()
Vec2
getLocalAnchorA()
Vec2
getLocalAnchorB()
void
getReactionForce(float inv_dt, Vec2 argOut)
Get the reaction force given the inverse time step.float
getReactionTorque(float inv_dt)
Get the reaction torque given the inverse time step.void
initVelocityConstraints(SolverData data)
void
setDampingRatio(float damp)
void
setFrequency(float hz)
void
setLength(float argLength)
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
-
-
-
-
Field Detail
-
m_frequencyHz
private float m_frequencyHz
-
m_dampingRatio
private float m_dampingRatio
-
m_bias
private float m_bias
-
m_localAnchorA
private final Vec2 m_localAnchorA
-
m_localAnchorB
private final Vec2 m_localAnchorB
-
m_gamma
private float m_gamma
-
m_impulse
private float m_impulse
-
m_length
private float m_length
-
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
-
-
Constructor Detail
-
DistanceJoint
protected DistanceJoint(IWorldPool argWorld, DistanceJointDef def)
-
-
Method Detail
-
setFrequency
public void setFrequency(float hz)
-
getFrequency
public float getFrequency()
-
getLength
public float getLength()
-
setLength
public void setLength(float argLength)
-
setDampingRatio
public void setDampingRatio(float damp)
-
getDampingRatio
public float getDampingRatio()
-
getAnchorA
public void getAnchorA(Vec2 argOut)
Description copied from class:Joint
get the anchor point on bodyA in world coordinates.- Specified by:
getAnchorA
in classJoint
-
getAnchorB
public void getAnchorB(Vec2 argOut)
Description copied from class:Joint
get the anchor point on bodyB in world coordinates.- Specified by:
getAnchorB
in classJoint
-
getLocalAnchorA
public Vec2 getLocalAnchorA()
-
getLocalAnchorB
public Vec2 getLocalAnchorB()
-
getReactionForce
public void getReactionForce(float inv_dt, Vec2 argOut)
Get the reaction force given the inverse time step. Unit is N.- Specified by:
getReactionForce
in classJoint
-
getReactionTorque
public float getReactionTorque(float inv_dt)
Get the reaction torque given the inverse time step. Unit is N*m. This is always zero for a distance joint.- Specified by:
getReactionTorque
in classJoint
- Returns:
-
initVelocityConstraints
public void initVelocityConstraints(SolverData data)
- Specified by:
initVelocityConstraints
in classJoint
-
solveVelocityConstraints
public void solveVelocityConstraints(SolverData data)
- Specified by:
solveVelocityConstraints
in classJoint
-
solvePositionConstraints
public boolean solvePositionConstraints(SolverData data)
Description copied from class:Joint
This returns true if the position errors are within tolerance.- Specified by:
solvePositionConstraints
in classJoint
- Returns:
-
-