Package org.jbox2d.dynamics.joints
Class MouseJoint
- java.lang.Object
-
- org.jbox2d.dynamics.joints.Joint
-
- org.jbox2d.dynamics.joints.MouseJoint
-
public class MouseJoint extends Joint
A mouse joint is used to make a point on a body track a specified world point. This a soft constraint with a maximum force. This allows the constraint to stretch and without applying huge forces. NOTE: this joint is not documented in the manual because it was developed to be used in the testbed. If you want to learn how to use the mouse joint, look at the testbed.
-
-
Field Summary
Fields Modifier and Type Field Description private float
m_beta
private Vec2
m_C
private float
m_dampingRatio
private float
m_frequencyHz
private float
m_gamma
private Vec2
m_impulse
private int
m_indexB
private float
m_invIB
private float
m_invMassB
private Vec2
m_localAnchorB
private Vec2
m_localCenterB
private Mat22
m_mass
private float
m_maxForce
private Vec2
m_rB
private Vec2
m_targetA
-
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
MouseJoint(IWorldPool argWorld, MouseJointDef 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
getMaxForce()
void
getReactionForce(float invDt, Vec2 argOut)
get the reaction force on body2 at the joint anchor in Newtons.float
getReactionTorque(float invDt)
get the reaction torque on body2 in N*m.Vec2
getTarget()
void
initVelocityConstraints(SolverData data)
void
setDampingRatio(float ratio)
void
setFrequency(float hz)
void
setMaxForce(float force)
void
setTarget(Vec2 target)
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_localAnchorB
private final Vec2 m_localAnchorB
-
m_targetA
private final Vec2 m_targetA
-
m_frequencyHz
private float m_frequencyHz
-
m_dampingRatio
private float m_dampingRatio
-
m_beta
private float m_beta
-
m_impulse
private final Vec2 m_impulse
-
m_maxForce
private float m_maxForce
-
m_gamma
private float m_gamma
-
m_indexB
private int m_indexB
-
m_rB
private final Vec2 m_rB
-
m_localCenterB
private final Vec2 m_localCenterB
-
m_invMassB
private float m_invMassB
-
m_invIB
private float m_invIB
-
m_mass
private final Mat22 m_mass
-
m_C
private final Vec2 m_C
-
-
Constructor Detail
-
MouseJoint
protected MouseJoint(IWorldPool argWorld, MouseJointDef def)
-
-
Method Detail
-
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
-
getReactionForce
public void getReactionForce(float invDt, Vec2 argOut)
Description copied from class:Joint
get the reaction force on body2 at the joint anchor in Newtons.- Specified by:
getReactionForce
in classJoint
-
getReactionTorque
public float getReactionTorque(float invDt)
Description copied from class:Joint
get the reaction torque on body2 in N*m.- Specified by:
getReactionTorque
in classJoint
- Returns:
-
setTarget
public void setTarget(Vec2 target)
-
getTarget
public Vec2 getTarget()
-
setMaxForce
public void setMaxForce(float force)
-
getMaxForce
public float getMaxForce()
-
setFrequency
public void setFrequency(float hz)
-
getFrequency
public float getFrequency()
-
setDampingRatio
public void setDampingRatio(float ratio)
-
getDampingRatio
public float getDampingRatio()
-
initVelocityConstraints
public void initVelocityConstraints(SolverData data)
- Specified by:
initVelocityConstraints
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:
-
solveVelocityConstraints
public void solveVelocityConstraints(SolverData data)
- Specified by:
solveVelocityConstraints
in classJoint
-
-