Package org.jbox2d.dynamics.joints
Class GearJoint
- java.lang.Object
-
- org.jbox2d.dynamics.joints.Joint
-
- org.jbox2d.dynamics.joints.GearJoint
-
public class GearJoint extends Joint
A gear joint is used to connect two joints together. Either joint can be a revolute or prismatic joint. You specify a gear ratio to bind the motions together: coordinate1 + ratio * coordinate2 = constant The ratio can be negative or positive. If one joint is a revolute joint and the other joint is a prismatic joint, then the ratio will have units of length or units of 1/length.
-
-
Field Summary
Fields Modifier and Type Field Description private Bodym_bodyCprivate Bodym_bodyDprivate floatm_constantprivate floatm_iAprivate floatm_iBprivate floatm_iCprivate floatm_iDprivate floatm_impulseprivate intm_indexAprivate intm_indexBprivate intm_indexCprivate intm_indexDprivate Jointm_joint1private Jointm_joint2private Vec2m_JvACprivate Vec2m_JvBDprivate floatm_JwAprivate floatm_JwBprivate floatm_JwCprivate floatm_JwDprivate Vec2m_lcAprivate Vec2m_lcBprivate Vec2m_lcCprivate Vec2m_lcDprivate Vec2m_localAnchorAprivate Vec2m_localAnchorBprivate Vec2m_localAnchorCprivate Vec2m_localAnchorDprivate Vec2m_localAxisCprivate Vec2m_localAxisDprivate floatm_mAprivate floatm_massprivate floatm_mBprivate floatm_mCprivate floatm_mDprivate floatm_ratioprivate floatm_referenceAngleAprivate floatm_referenceAngleBprivate JointTypem_typeAprivate JointTypem_typeB-
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 protectedGearJoint(IWorldPool argWorldPool, GearJointDef 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.JointgetJoint1()JointgetJoint2()floatgetRatio()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)voidsetRatio(float argRatio)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_joint1
private final Joint m_joint1
-
m_joint2
private final Joint m_joint2
-
m_typeA
private final JointType m_typeA
-
m_typeB
private final JointType m_typeB
-
m_bodyC
private final Body m_bodyC
-
m_bodyD
private final Body m_bodyD
-
m_localAnchorA
private final Vec2 m_localAnchorA
-
m_localAnchorB
private final Vec2 m_localAnchorB
-
m_localAnchorC
private final Vec2 m_localAnchorC
-
m_localAnchorD
private final Vec2 m_localAnchorD
-
m_localAxisC
private final Vec2 m_localAxisC
-
m_localAxisD
private final Vec2 m_localAxisD
-
m_referenceAngleA
private float m_referenceAngleA
-
m_referenceAngleB
private float m_referenceAngleB
-
m_constant
private float m_constant
-
m_ratio
private float m_ratio
-
m_impulse
private float m_impulse
-
m_indexA
private int m_indexA
-
m_indexB
private int m_indexB
-
m_indexC
private int m_indexC
-
m_indexD
private int m_indexD
-
m_lcA
private final Vec2 m_lcA
-
m_lcB
private final Vec2 m_lcB
-
m_lcC
private final Vec2 m_lcC
-
m_lcD
private final Vec2 m_lcD
-
m_mA
private float m_mA
-
m_mB
private float m_mB
-
m_mC
private float m_mC
-
m_mD
private float m_mD
-
m_iA
private float m_iA
-
m_iB
private float m_iB
-
m_iC
private float m_iC
-
m_iD
private float m_iD
-
m_JvAC
private final Vec2 m_JvAC
-
m_JvBD
private final Vec2 m_JvBD
-
m_JwA
private float m_JwA
-
m_JwB
private float m_JwB
-
m_JwC
private float m_JwC
-
m_JwD
private float m_JwD
-
m_mass
private float m_mass
-
-
Constructor Detail
-
GearJoint
protected GearJoint(IWorldPool argWorldPool, GearJointDef 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 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:
-
setRatio
public void setRatio(float argRatio)
-
getRatio
public float getRatio()
-
initVelocityConstraints
public void initVelocityConstraints(SolverData data)
- Specified by:
initVelocityConstraintsin classJoint
-
solveVelocityConstraints
public void solveVelocityConstraints(SolverData data)
- Specified by:
solveVelocityConstraintsin classJoint
-
getJoint1
public Joint getJoint1()
-
getJoint2
public Joint getJoint2()
-
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:
-
-