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 floatm_betaprivate Vec2m_Cprivate floatm_dampingRatioprivate floatm_frequencyHzprivate floatm_gammaprivate Vec2m_impulseprivate intm_indexBprivate floatm_invIBprivate floatm_invMassBprivate Vec2m_localAnchorBprivate Vec2m_localCenterBprivate Mat22m_massprivate floatm_maxForceprivate Vec2m_rBprivate Vec2m_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 protectedMouseJoint(IWorldPool argWorld, MouseJointDef 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.floatgetDampingRatio()floatgetFrequency()floatgetMaxForce()voidgetReactionForce(float invDt, Vec2 argOut)get the reaction force on body2 at the joint anchor in Newtons.floatgetReactionTorque(float invDt)get the reaction torque on body2 in N*m.Vec2getTarget()voidinitVelocityConstraints(SolverData data)voidsetDampingRatio(float ratio)voidsetFrequency(float hz)voidsetMaxForce(float force)voidsetTarget(Vec2 target)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_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: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 invDt, 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 invDt)
Description copied from class:Jointget the reaction torque on body2 in N*m.- Specified by:
getReactionTorquein 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:
initVelocityConstraintsin 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:
-
solveVelocityConstraints
public void solveVelocityConstraints(SolverData data)
- Specified by:
solveVelocityConstraintsin classJoint
-
-