Package org.jbox2d.dynamics.joints
Class WheelJoint
- java.lang.Object
-
- org.jbox2d.dynamics.joints.Joint
-
- org.jbox2d.dynamics.joints.WheelJoint
-
public class WheelJoint extends Joint
A wheel joint. This joint provides two degrees of freedom: translation along an axis fixed in bodyA and rotation in the plane. You can use a joint limit to restrict the range of motion and a joint motor to drive the rotation or to model rotational friction. This joint is designed for vehicle suspensions.
-
-
Field Summary
Fields Modifier and Type Field Description private Vec2
d
private Vec2
m_ax
private Vec2
m_ay
private float
m_bias
private float
m_dampingRatio
private boolean
m_enableMotor
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 Vec2
m_localAnchorA
private Vec2
m_localAnchorB
private Vec2
m_localCenterA
private Vec2
m_localCenterB
private Vec2
m_localXAxisA
private Vec2
m_localYAxisA
private float
m_mass
private float
m_maxMotorTorque
private float
m_motorImpulse
private float
m_motorMass
private float
m_motorSpeed
private float
m_sAx
private float
m_sAy
private float
m_sBx
private float
m_sBy
private float
m_springImpulse
private float
m_springMass
private Vec2
rA
private Vec2
rB
-
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
WheelJoint(IWorldPool argPool, WheelJointDef def)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
enableMotor(boolean flag)
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
getJointSpeed()
float
getJointTranslation()
Vec2
getLocalAnchorA()
Vec2
getLocalAnchorB()
Vec2
getLocalAxisA()
For serializationfloat
getMaxMotorTorque()
float
getMotorSpeed()
float
getMotorTorque(float inv_dt)
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.float
getSpringDampingRatio()
float
getSpringFrequencyHz()
void
initVelocityConstraints(SolverData data)
boolean
isMotorEnabled()
void
setMaxMotorTorque(float torque)
void
setMotorSpeed(float speed)
void
setSpringDampingRatio(float ratio)
void
setSpringFrequencyHz(float hz)
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_localAnchorA
private final Vec2 m_localAnchorA
-
m_localAnchorB
private final Vec2 m_localAnchorB
-
m_localXAxisA
private final Vec2 m_localXAxisA
-
m_localYAxisA
private final Vec2 m_localYAxisA
-
m_impulse
private float m_impulse
-
m_motorImpulse
private float m_motorImpulse
-
m_springImpulse
private float m_springImpulse
-
m_maxMotorTorque
private float m_maxMotorTorque
-
m_motorSpeed
private float m_motorSpeed
-
m_enableMotor
private boolean m_enableMotor
-
m_indexA
private int m_indexA
-
m_indexB
private int m_indexB
-
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_ax
private final Vec2 m_ax
-
m_ay
private final Vec2 m_ay
-
m_sAx
private float m_sAx
-
m_sBx
private float m_sBx
-
m_sAy
private float m_sAy
-
m_sBy
private float m_sBy
-
m_mass
private float m_mass
-
m_motorMass
private float m_motorMass
-
m_springMass
private float m_springMass
-
m_bias
private float m_bias
-
m_gamma
private float m_gamma
-
rA
private final Vec2 rA
-
rB
private final Vec2 rB
-
d
private final Vec2 d
-
-
Constructor Detail
-
WheelJoint
protected WheelJoint(IWorldPool argPool, WheelJointDef def)
-
-
Method Detail
-
getLocalAnchorA
public Vec2 getLocalAnchorA()
-
getLocalAnchorB
public Vec2 getLocalAnchorB()
-
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:
-
getJointTranslation
public float getJointTranslation()
-
getLocalAxisA
public Vec2 getLocalAxisA()
For serialization
-
getJointSpeed
public float getJointSpeed()
-
isMotorEnabled
public boolean isMotorEnabled()
-
enableMotor
public void enableMotor(boolean flag)
-
setMotorSpeed
public void setMotorSpeed(float speed)
-
getMotorSpeed
public float getMotorSpeed()
-
getMaxMotorTorque
public float getMaxMotorTorque()
-
setMaxMotorTorque
public void setMaxMotorTorque(float torque)
-
getMotorTorque
public float getMotorTorque(float inv_dt)
-
setSpringFrequencyHz
public void setSpringFrequencyHz(float hz)
-
getSpringFrequencyHz
public float getSpringFrequencyHz()
-
setSpringDampingRatio
public void setSpringDampingRatio(float ratio)
-
getSpringDampingRatio
public float getSpringDampingRatio()
-
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:
-
-