Class PrismaticJoint
java.lang.Object
org.jbox2d.dynamics.joints.Joint
org.jbox2d.dynamics.joints.PrismaticJoint
A prismatic joint. This joint provides one degree of freedom: translation along an axis fixed in
bodyA. Relative rotation is prevented. You can use a joint limit to restrict the range of motion
and a joint motor to drive the motion or to model joint friction.
- Author:
- Daniel
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final Vec2protected final Vec2protected final Vec2protected final Vec2protected floatFields inherited from class Joint
m_bodyA, m_bodyB, m_edgeA, m_edgeB, m_islandFlag, m_next, m_prev, m_userData, pool -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedPrismaticJoint(IWorldPool argWorld, PrismaticJointDef def) -
Method Summary
Modifier and TypeMethodDescriptionvoidenableLimit(boolean flag) Enable/disable the joint limit.voidenableMotor(boolean flag) Enable/disable the joint motor.voidgetAnchorA(Vec2 argOut) get the anchor point on bodyA in world coordinates.voidgetAnchorB(Vec2 argOut) get the anchor point on bodyB in world coordinates.floatGet the current joint translation, usually in meters.floatfloatGet the lower joint limit, usually in meters.floatfloatgetMotorForce(float inv_dt) Get the current motor force, usually in N.floatGet the motor speed, usually in meters per second.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.floatfloatGet the upper joint limit, usually in meters.voidbooleanIs the joint limit enabled?booleanIs the joint motor enabled?voidsetLimits(float lower, float upper) Set the joint limits, usually in meters.voidsetMaxMotorForce(float force) Set the maximum motor force, usually in N.voidsetMotorSpeed(float speed) Set the motor speed, usually in meters per second.booleanThis returns true if the position errors are within tolerance.voidMethods inherited from class Joint
create, destroy, destructor, getBodyA, getBodyB, getCollideConnected, getNext, getType, getUserData, isActive, setUserData
-
Field Details
-
m_localAnchorA
-
m_localAnchorB
-
m_localXAxisA
-
m_localYAxisA
-
m_referenceAngle
protected float m_referenceAngle
-
-
Constructor Details
-
PrismaticJoint
-
-
Method Details
-
getLocalAnchorA
-
getLocalAnchorB
-
getAnchorA
Description copied from class:Jointget the anchor point on bodyA in world coordinates.- Specified by:
getAnchorAin classJoint
-
getAnchorB
Description copied from class:Jointget the anchor point on bodyB in world coordinates.- Specified by:
getAnchorBin classJoint
-
getReactionForce
Description copied from class:Jointget the reaction force on body2 at the joint anchor in Newtons.- Specified by:
getReactionForcein classJoint- Parameters:
inv_dt-
-
getReactionTorque
public float getReactionTorque(float inv_dt) Description copied from class:Jointget the reaction torque on body2 in N*m.- Specified by:
getReactionTorquein classJoint- Parameters:
inv_dt-- Returns:
-
getJointSpeed
public float getJointSpeed()Get the current joint translation, usually in meters. -
getJointTranslation
public float getJointTranslation() -
isLimitEnabled
public boolean isLimitEnabled()Is the joint limit enabled?- Returns:
-
enableLimit
public void enableLimit(boolean flag) Enable/disable the joint limit.- Parameters:
flag-
-
getLowerLimit
public float getLowerLimit()Get the lower joint limit, usually in meters.- Returns:
-
getUpperLimit
public float getUpperLimit()Get the upper joint limit, usually in meters.- Returns:
-
setLimits
public void setLimits(float lower, float upper) Set the joint limits, usually in meters.- Parameters:
lower-upper-
-
isMotorEnabled
public boolean isMotorEnabled()Is the joint motor enabled?- Returns:
-
enableMotor
public void enableMotor(boolean flag) Enable/disable the joint motor.- Parameters:
flag-
-
setMotorSpeed
public void setMotorSpeed(float speed) Set the motor speed, usually in meters per second.- Parameters:
speed-
-
getMotorSpeed
public float getMotorSpeed()Get the motor speed, usually in meters per second.- Returns:
-
setMaxMotorForce
public void setMaxMotorForce(float force) Set the maximum motor force, usually in N.- Parameters:
force-
-
getMotorForce
public float getMotorForce(float inv_dt) Get the current motor force, usually in N.- Parameters:
inv_dt-- Returns:
-
getMaxMotorForce
public float getMaxMotorForce() -
getReferenceAngle
public float getReferenceAngle() -
getLocalAxisA
-
initVelocityConstraints
- Specified by:
initVelocityConstraintsin classJoint
-
solveVelocityConstraints
- Specified by:
solveVelocityConstraintsin classJoint
-
solvePositionConstraints
Description copied from class:JointThis returns true if the position errors are within tolerance.- Specified by:
solvePositionConstraintsin classJoint- Returns:
-