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 Body
m_bodyC
private Body
m_bodyD
private float
m_constant
private float
m_iA
private float
m_iB
private float
m_iC
private float
m_iD
private float
m_impulse
private int
m_indexA
private int
m_indexB
private int
m_indexC
private int
m_indexD
private Joint
m_joint1
private Joint
m_joint2
private Vec2
m_JvAC
private Vec2
m_JvBD
private float
m_JwA
private float
m_JwB
private float
m_JwC
private float
m_JwD
private Vec2
m_lcA
private Vec2
m_lcB
private Vec2
m_lcC
private Vec2
m_lcD
private Vec2
m_localAnchorA
private Vec2
m_localAnchorB
private Vec2
m_localAnchorC
private Vec2
m_localAnchorD
private Vec2
m_localAxisC
private Vec2
m_localAxisD
private float
m_mA
private float
m_mass
private float
m_mB
private float
m_mC
private float
m_mD
private float
m_ratio
private float
m_referenceAngleA
private float
m_referenceAngleB
private JointType
m_typeA
private JointType
m_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 protected
GearJoint(IWorldPool argWorldPool, GearJointDef 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.Joint
getJoint1()
Joint
getJoint2()
float
getRatio()
void
getReactionForce(float inv_dt, Vec2 argOut)
get the reaction force on body2 at the joint anchor in Newtons.float
getReactionTorque(float inv_dt)
get the reaction torque on body2 in N*m.void
initVelocityConstraints(SolverData data)
void
setRatio(float argRatio)
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_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: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 inv_dt, 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 inv_dt)
Description copied from class:Joint
get the reaction torque on body2 in N*m.- Specified by:
getReactionTorque
in classJoint
- Returns:
-
setRatio
public void setRatio(float argRatio)
-
getRatio
public float getRatio()
-
initVelocityConstraints
public void initVelocityConstraints(SolverData data)
- Specified by:
initVelocityConstraints
in classJoint
-
solveVelocityConstraints
public void solveVelocityConstraints(SolverData data)
- Specified by:
solveVelocityConstraints
in classJoint
-
getJoint1
public Joint getJoint1()
-
getJoint2
public Joint getJoint2()
-
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:
-
-