- Object
-
- AbstractJoint<T>
-
- AbstractPairedBodyJoint<T>
-
- WheelJoint<T>
-
- Type Parameters:
T
- thePhysicsBody
type
- All Implemented Interfaces:
DataContainer
,AngularMotorJoint
,Joint<T>
,LinearLimitsJoint
,LinearSpringJoint
,PairedBodyJoint<T>
,Shiftable
,Ownable
public class WheelJoint<T extends PhysicsBody> extends AbstractPairedBodyJoint<T> implements LinearLimitsJoint, LinearSpringJoint, AngularMotorJoint, PairedBodyJoint<T>, Joint<T>, Shiftable, DataContainer, Ownable
Implementation of a wheel joint.A wheel joint is used to simulate a vehicle's wheel and suspension. The wheel is allowed to rotate freely about the given anchor point. The suspension is allowed to translate freely along the given axis. The whole system can translate and rotate freely.
The given axis fixed to the first body (frame) given. So as the first body rotates, the axis will rotate with it. The given anchor point represents the center of rotation of the second body (wheel), typically the wheel's world space center of mass.
By default the frequency and damping ratio are set to 8.0 and 0.0 respectively. Unlike other joints, the spring-damper for this joint is enabled by default. You can enable/disable the various spring-damper features using
setSpringEnabled(boolean)
,setSpringDamperEnabled(boolean)
,setMaximumSpringForceEnabled(boolean)
methods. As with all spring -damper enabled joints, the spring must be enabled for the damper to be applied. Also note that when the damper is disabled, the spring still experiences "damping" aka energy loss - this is a side effect of the solver and intended behavior.This joint has an added spring feature called the rest offset. Similar to the rest distance in the distance joint, but only applied when the spring is enabled. When you build the joint, the default distance between the two bodies is their initial distance. You can use the
setSpringRestOffset(double)
to raise or lower the distance between the bodies when the spring is active.This joint also supports a motor. The motor is an angular motor about the anchor point. The motor speed can be positive or negative to indicate a clockwise or counter-clockwise rotation. The maximum motor torque must be greater than zero for the motor to apply any motion. The motor must be enabled using
setMotorEnabled(boolean)
.The joint also supports upper and lower limits. The limits represent the maximum displacement from the anchor point along the given axis. This means that the limits are typically negative for the lower limit and positive for the upper limit. The limits are solved relative to the given axis's direction. The limits can be enabled separately using
setLowerLimitEnabled(boolean)
andsetUpperLimitEnabled(boolean)
. This also means that the limits are relative to the initial starting position of the bodies.NOTE: In versions of dyn4j before 5.0.0, the body arguments in the constructor were reversed, you would specify the wheel first, then frame. It was changed to accept the frame first, then the wheel to make things more natural.
- Since:
- 3.0.0
- Version:
- 5.0.0
- Author:
- William Bittle
- See Also:
- Documentation
-
-
Field Summary
Fields Modifier and Type Field Description protected Vector2
localAnchor1
The local anchor point on the firstPhysicsBody
protected Vector2
localAnchor2
The local anchor point on the secondPhysicsBody
protected double
lowerLimit
the lower limit in metersprotected boolean
lowerLimitEnabled
True if the lower limit is enabledprotected boolean
motorEnabled
Whether the motor is enabled or notprotected double
motorMaximumTorque
The maximum torque the motor can apply in newton-metersprotected boolean
motorMaximumTorqueEnabled
True if the motor maximum torque is enabledprotected double
motorSpeed
The target velocity in radians / secondprotected boolean
springDamperEnabled
True if the spring-damper is enabledprotected double
springDampingRatio
The damping ratioprotected boolean
springEnabled
True if the spring is enabledprotected double
springFrequency
The oscillation frequency in hzprotected double
springMaximumForce
The maximum force the spring will applyprotected boolean
springMaximumForceEnabled
True if the spring maximum force is enabledprotected int
springMode
The spring mode (frequency or stiffness)protected double
springRestOffset
The rest offset of the springprotected double
springStiffness
The stiffness of the springprotected double
upperLimit
the upper limit in metersprotected boolean
upperLimitEnabled
True if the upper limit is enabledprotected Vector2
xAxis
The local space x axis representing the allowed linear motionprotected Vector2
yAxis
The local space y axis representing the constrained linear motion-
Fields inherited from class AbstractPairedBodyJoint
body1, body2
-
Fields inherited from class AbstractJoint
bodies, collisionAllowed, owner, userData
-
Fields inherited from interface Joint
SPRING_MODE_FREQUENCY, SPRING_MODE_STIFFNESS
-
-
Constructor Summary
Constructors Constructor Description WheelJoint(T frame, T wheel, Vector2 anchor, Vector2 axis)
Minimal constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Vector2
getAnchor1()
The anchor point in world coordinates for the frame (body1).Vector2
getAnchor2()
The anchor point in world coordinates for the wheel (body2).double
getAngularSpeed()
Returns the current angular speed between the two joined bodies.double
getAngularTranslation()
Returns the current angular translation between the joined bodies.Vector2
getAxis()
Returns the axis in world coordinates for the frame (body1).double
getLinearSpeed()
Returns the linear speed along the axis between the two joined bodiesdouble
getLinearTranslation()
Returns the current linear translation along the joint axis.double
getLowerLimit()
Returns the lower limit in meters.double
getMaximumMotorTorque()
Returns the maximum torque the motor can apply to the joint to achieve the target speed.double
getMaximumSpringForce()
Returns the maximum spring force that will be applied.double
getMotorSpeed()
Returns the target motor speed in radians / second.double
getMotorTorque(double invdt)
Returns the applied motor torque.Vector2
getReactionForce(double invdt)
Returns the force applied to thePhysicsBody
s in order to satisfy the constraint in newtons.double
getReactionTorque(double invdt)
Returns the torque applied to thePhysicsBody
s in order to satisfy the constraint in newton-meters.double
getSpringDampingRatio()
Returns the damping ratio for the spring's damper.double
getSpringForce(double invdt)
Returns the force in netwons applied by the spring in the last timestep.double
getSpringFrequency()
Returns the spring frequency.int
getSpringMode()
Returns the current spring mode.double
getSpringRestOffset()
Returns the spring's rest offset.double
getSpringStiffness()
Returns the spring stiffness.double
getUpperLimit()
Returns the upper limit in meters.void
initializeConstraints(TimeStep step, Settings settings)
Performs any initialization of the velocity and position constraints.boolean
isLowerLimitEnabled()
Returns true if the lower limit is enabled.boolean
isMaximumMotorTorqueEnabled()
Returns true if the maximum motor torque is enabled.boolean
isMaximumSpringForceEnabled()
Returns true if the spring force is limited to the maximum.boolean
isMotorEnabled()
Returns true if the motor is enabled.boolean
isSpringDamperEnabled()
Returns true if the damper is enabled for the spring.boolean
isSpringEnabled()
Returns true if the spring is enabled.boolean
isUpperLimitEnabled()
Returns true if the upper limit is enabled.void
setLimits(double limit)
Sets both the lower and upper limits to the given limit.void
setLimits(double lowerLimit, double upperLimit)
Sets both the lower and upper limits.void
setLimitsEnabled(boolean flag)
Enables or disables both the lower and upper limits.void
setLimitsEnabled(double limit)
Sets both the lower and upper limits to the given limit and enables both.void
setLimitsEnabled(double lowerLimit, double upperLimit)
Sets both the lower and upper limits and enables both.void
setLowerLimit(double lowerLimit)
Sets the lower limit in meters.void
setLowerLimitEnabled(boolean flag)
Sets whether the lower limit is enabled.void
setMaximumMotorTorque(double maximumMotorTorque)
Sets the maximum torque the motor can apply to the joint to achieve the target speed.void
setMaximumMotorTorqueEnabled(boolean enabled)
Sets whether the maximum motor torque is enabled.void
setMaximumSpringForce(double maximum)
Sets the maximum force the spring can apply.void
setMaximumSpringForceEnabled(boolean enabled)
Sets whether the spring force is limited to the maximum.void
setMotorEnabled(boolean motorEnabled)
Enables or disables the motor.void
setMotorSpeed(double motorSpeed)
Sets the target motor speed.void
setSpringDamperEnabled(boolean enabled)
Sets whether the spring's damper is enabled or not.void
setSpringDampingRatio(double dampingRatio)
Sets the damping ratio.void
setSpringEnabled(boolean enabled)
Sets whether the spring is enabled or not.void
setSpringFrequency(double frequency)
Sets the spring frequency.void
setSpringRestOffset(double offset)
Set's the spring rest offset.void
setSpringStiffness(double stiffness)
Sets the spring stiffness.void
setUpperLimit(double upperLimit)
Sets the upper limit in meters.void
setUpperLimitEnabled(boolean flag)
Sets whether the upper limit is enabled.void
shift(Vector2 shift)
Translates the object to match the given coordinate shift.boolean
solvePositionConstraints(TimeStep step, Settings settings)
Solves the position constraints.void
solveVelocityConstraints(TimeStep step, Settings settings)
Solves the velocity constraints.String
toString()
protected void
updateSpringCoefficients()
Computes the spring coefficients from the current state of the joint.-
Methods inherited from class AbstractPairedBodyJoint
getBody, getBody1, getBody2, getBodyCount, getOtherBody, getReducedInertia, getReducedMass, isEnabled, isMember, setCollisionAllowed
-
Methods inherited from class AbstractJoint
getBodies, getBodyIterator, getConstraintImpulseMixing, getErrorReductionParameter, getFrequency, getNaturalFrequency, getNaturalFrequency, getOwner, getSpringDampingCoefficient, getSpringStiffness, getUserData, isCollisionAllowed, setOwner, setUserData
-
Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface DataContainer
getUserData, setUserData
-
Methods inherited from interface Joint
getBodies, getBody, getBodyCount, getBodyIterator, isCollisionAllowed, isEnabled, isMember, setCollisionAllowed
-
Methods inherited from interface PairedBodyJoint
getBody1, getBody2, getOtherBody
-
-
-
-
Field Detail
-
localAnchor1
protected final Vector2 localAnchor1
The local anchor point on the firstPhysicsBody
-
localAnchor2
protected final Vector2 localAnchor2
The local anchor point on the secondPhysicsBody
-
xAxis
protected final Vector2 xAxis
The local space x axis representing the allowed linear motion
-
yAxis
protected final Vector2 yAxis
The local space y axis representing the constrained linear motion
-
upperLimitEnabled
protected boolean upperLimitEnabled
True if the upper limit is enabled
-
lowerLimitEnabled
protected boolean lowerLimitEnabled
True if the lower limit is enabled
-
upperLimit
protected double upperLimit
the upper limit in meters
-
lowerLimit
protected double lowerLimit
the lower limit in meters
-
motorEnabled
protected boolean motorEnabled
Whether the motor is enabled or not
-
motorSpeed
protected double motorSpeed
The target velocity in radians / second
-
motorMaximumTorqueEnabled
protected boolean motorMaximumTorqueEnabled
True if the motor maximum torque is enabled
-
motorMaximumTorque
protected double motorMaximumTorque
The maximum torque the motor can apply in newton-meters
-
springEnabled
protected boolean springEnabled
True if the spring is enabled
-
springDamperEnabled
protected boolean springDamperEnabled
True if the spring-damper is enabled
-
springMode
protected int springMode
The spring mode (frequency or stiffness)
-
springFrequency
protected double springFrequency
The oscillation frequency in hz
-
springStiffness
protected double springStiffness
The stiffness of the spring
-
springDampingRatio
protected double springDampingRatio
The damping ratio
-
springMaximumForceEnabled
protected boolean springMaximumForceEnabled
True if the spring maximum force is enabled
-
springMaximumForce
protected double springMaximumForce
The maximum force the spring will apply
-
springRestOffset
protected double springRestOffset
The rest offset of the spring
-
-
Constructor Detail
-
WheelJoint
public WheelJoint(T frame, T wheel, Vector2 anchor, Vector2 axis)
Minimal constructor.- Parameters:
frame
- the framePhysicsBody
wheel
- the wheelPhysicsBody
anchor
- the anchor point in world coordinatesaxis
- the axis of allowed motion- Throws:
NullPointerException
- if body1, body2, anchor, or axis is nullIllegalArgumentException
- if body1 == body2
-
-
Method Detail
-
toString
public String toString()
- Overrides:
toString
in classAbstractJoint<T extends PhysicsBody>
-
initializeConstraints
public void initializeConstraints(TimeStep step, Settings settings)
Description copied from interface:Joint
Performs any initialization of the velocity and position constraints.- Specified by:
initializeConstraints
in interfaceJoint<T extends PhysicsBody>
- Parameters:
step
- the time step informationsettings
- the current world settings
-
solveVelocityConstraints
public void solveVelocityConstraints(TimeStep step, Settings settings)
Description copied from interface:Joint
Solves the velocity constraints.- Specified by:
solveVelocityConstraints
in interfaceJoint<T extends PhysicsBody>
- Parameters:
step
- the time step informationsettings
- the current world settings
-
solvePositionConstraints
public boolean solvePositionConstraints(TimeStep step, Settings settings)
Description copied from interface:Joint
Solves the position constraints.- Specified by:
solvePositionConstraints
in interfaceJoint<T extends PhysicsBody>
- Parameters:
step
- the time step informationsettings
- the current world settings- Returns:
- boolean true if the position constraints were solved
-
updateSpringCoefficients
protected void updateSpringCoefficients()
Computes the spring coefficients from the current state of the joint.This method is intended to set the springStiffness OR springFrequency and damping for use during constraint solving.
-
getAnchor1
public Vector2 getAnchor1()
The anchor point in world coordinates for the frame (body1).- Returns:
Vector2
-
getAnchor2
public Vector2 getAnchor2()
The anchor point in world coordinates for the wheel (body2).- Returns:
Vector2
-
getReactionForce
public Vector2 getReactionForce(double invdt)
Description copied from interface:Joint
Returns the force applied to thePhysicsBody
s in order to satisfy the constraint in newtons.- Specified by:
getReactionForce
in interfaceJoint<T extends PhysicsBody>
- Parameters:
invdt
- the inverse delta time- Returns:
Vector2
-
getReactionTorque
public double getReactionTorque(double invdt)
Description copied from interface:Joint
Returns the torque applied to thePhysicsBody
s in order to satisfy the constraint in newton-meters.- Specified by:
getReactionTorque
in interfaceJoint<T extends PhysicsBody>
- Parameters:
invdt
- the inverse delta time- Returns:
- double
-
shift
public void shift(Vector2 shift)
Description copied from interface:Shiftable
Translates the object to match the given coordinate shift.
-
getLinearSpeed
public double getLinearSpeed()
Returns the linear speed along the axis between the two joined bodies- Returns:
- double
- Since:
- 3.2.1
-
getAngularSpeed
public double getAngularSpeed()
Returns the current angular speed between the two joined bodies.- Returns:
- double
- Since:
- 3.2.1
-
getLinearTranslation
public double getLinearTranslation()
Returns the current linear translation along the joint axis.- Returns:
- double
- Since:
- 3.2.1
-
getAngularTranslation
public double getAngularTranslation()
Returns the current angular translation between the joined bodies.- Returns:
- double
- Since:
- 3.2.1
-
getAxis
public Vector2 getAxis()
Returns the axis in world coordinates for the frame (body1).- Returns:
Vector2
-
setSpringRestOffset
public void setSpringRestOffset(double offset)
Set's the spring rest offset.This can be any value and is used to offset the spring's rest distance. This is only applicable when the spring is enabled.
- Parameters:
offset
- the offset- Since:
- 5.0.0
-
getSpringRestOffset
public double getSpringRestOffset()
Returns the spring's rest offset.- Returns:
- double
- Since:
- 5.0.0
-
isMotorEnabled
public boolean isMotorEnabled()
Description copied from interface:AngularMotorJoint
Returns true if the motor is enabled.- Specified by:
isMotorEnabled
in interfaceAngularMotorJoint
- Returns:
- boolean
-
setMotorEnabled
public void setMotorEnabled(boolean motorEnabled)
Description copied from interface:AngularMotorJoint
Enables or disables the motor.- Specified by:
setMotorEnabled
in interfaceAngularMotorJoint
- Parameters:
motorEnabled
- true if the motor should be enabled
-
getMotorSpeed
public double getMotorSpeed()
Description copied from interface:AngularMotorJoint
Returns the target motor speed in radians / second.- Specified by:
getMotorSpeed
in interfaceAngularMotorJoint
- Returns:
- double
-
setMotorSpeed
public void setMotorSpeed(double motorSpeed)
Description copied from interface:AngularMotorJoint
Sets the target motor speed.- Specified by:
setMotorSpeed
in interfaceAngularMotorJoint
- Parameters:
motorSpeed
- the target motor speed in radians / second- See Also:
AngularMotorJoint.setMaximumMotorTorque(double)
-
isMaximumMotorTorqueEnabled
public boolean isMaximumMotorTorqueEnabled()
Description copied from interface:AngularMotorJoint
Returns true if the maximum motor torque is enabled.- Specified by:
isMaximumMotorTorqueEnabled
in interfaceAngularMotorJoint
- Returns:
- boolean
-
setMaximumMotorTorqueEnabled
public void setMaximumMotorTorqueEnabled(boolean enabled)
Description copied from interface:AngularMotorJoint
Sets whether the maximum motor torque is enabled.- Specified by:
setMaximumMotorTorqueEnabled
in interfaceAngularMotorJoint
- Parameters:
enabled
- true if the maximum motor torque should be enabled
-
getMaximumMotorTorque
public double getMaximumMotorTorque()
Description copied from interface:AngularMotorJoint
Returns the maximum torque the motor can apply to the joint to achieve the target speed.- Specified by:
getMaximumMotorTorque
in interfaceAngularMotorJoint
- Returns:
- double
-
setMaximumMotorTorque
public void setMaximumMotorTorque(double maximumMotorTorque)
Description copied from interface:AngularMotorJoint
Sets the maximum torque the motor can apply to the joint to achieve the target speed.- Specified by:
setMaximumMotorTorque
in interfaceAngularMotorJoint
- Parameters:
maximumMotorTorque
- the maximum torque in newtons-meters; in the range (0, ∞]- See Also:
AngularMotorJoint.setMotorSpeed(double)
-
getMotorTorque
public double getMotorTorque(double invdt)
Description copied from interface:AngularMotorJoint
Returns the applied motor torque.- Specified by:
getMotorTorque
in interfaceAngularMotorJoint
- Parameters:
invdt
- the inverse delta time from the time step- Returns:
- double
-
getSpringDampingRatio
public double getSpringDampingRatio()
Description copied from interface:LinearSpringJoint
Returns the damping ratio for the spring's damper.- Specified by:
getSpringDampingRatio
in interfaceLinearSpringJoint
- Returns:
- double
-
setSpringDampingRatio
public void setSpringDampingRatio(double dampingRatio)
Description copied from interface:LinearSpringJoint
Sets the damping ratio.Larger values reduce the oscillation of the spring.
- Specified by:
setSpringDampingRatio
in interfaceLinearSpringJoint
- Parameters:
dampingRatio
- the damping ratio; in the range (0, 1]
-
getSpringFrequency
public double getSpringFrequency()
Description copied from interface:LinearSpringJoint
Returns the spring frequency.- Specified by:
getSpringFrequency
in interfaceLinearSpringJoint
- Returns:
- double
-
getSpringStiffness
public double getSpringStiffness()
Description copied from interface:LinearSpringJoint
Returns the spring stiffness.- Specified by:
getSpringStiffness
in interfaceLinearSpringJoint
- Returns:
- double
-
setSpringFrequency
public void setSpringFrequency(double frequency)
Description copied from interface:LinearSpringJoint
Sets the spring frequency.Larger values increase the stiffness of the spring.
Calling this method puts the spring into fixed frequency mode. In this mode, the spring stiffness is computed based on the frequency.
- Specified by:
setSpringFrequency
in interfaceLinearSpringJoint
- Parameters:
frequency
- the spring frequency in hz; must be greater than zero
-
setSpringStiffness
public void setSpringStiffness(double stiffness)
Description copied from interface:LinearSpringJoint
Sets the spring stiffness.Larger values increase the stiffness of the spring.
Calling this method puts the spring into fixed stiffness mode. In this mode, the spring frequency is computed based on the stiffness.
- Specified by:
setSpringStiffness
in interfaceLinearSpringJoint
- Parameters:
stiffness
- the spring stiffness (k); must be greater than zero
-
getMaximumSpringForce
public double getMaximumSpringForce()
Description copied from interface:LinearSpringJoint
Returns the maximum spring force that will be applied.- Specified by:
getMaximumSpringForce
in interfaceLinearSpringJoint
- Returns:
- double
-
setMaximumSpringForce
public void setMaximumSpringForce(double maximum)
Description copied from interface:LinearSpringJoint
Sets the maximum force the spring can apply.- Specified by:
setMaximumSpringForce
in interfaceLinearSpringJoint
- Parameters:
maximum
- the maximum force
-
isMaximumSpringForceEnabled
public boolean isMaximumSpringForceEnabled()
Description copied from interface:LinearSpringJoint
Returns true if the spring force is limited to the maximum.- Specified by:
isMaximumSpringForceEnabled
in interfaceLinearSpringJoint
- Returns:
- boolean
-
setMaximumSpringForceEnabled
public void setMaximumSpringForceEnabled(boolean enabled)
Description copied from interface:LinearSpringJoint
Sets whether the spring force is limited to the maximum.- Specified by:
setMaximumSpringForceEnabled
in interfaceLinearSpringJoint
- Parameters:
enabled
- true if the spring force should be limited
-
isSpringEnabled
public boolean isSpringEnabled()
Description copied from interface:LinearSpringJoint
Returns true if the spring is enabled.- Specified by:
isSpringEnabled
in interfaceLinearSpringJoint
- Returns:
- boolean
-
setSpringEnabled
public void setSpringEnabled(boolean enabled)
Description copied from interface:LinearSpringJoint
Sets whether the spring is enabled or not.- Specified by:
setSpringEnabled
in interfaceLinearSpringJoint
- Parameters:
enabled
- true if the spring should be enabled
-
isSpringDamperEnabled
public boolean isSpringDamperEnabled()
Description copied from interface:LinearSpringJoint
Returns true if the damper is enabled for the spring.NOTE: for the damper to have any effect, the spring must be enabled.
- Specified by:
isSpringDamperEnabled
in interfaceLinearSpringJoint
- Returns:
- boolean
- See Also:
LinearSpringJoint.isSpringEnabled()
-
setSpringDamperEnabled
public void setSpringDamperEnabled(boolean enabled)
Description copied from interface:LinearSpringJoint
Sets whether the spring's damper is enabled or not.NOTE: for the damper to have any effect, the spring must be enabled.
- Specified by:
setSpringDamperEnabled
in interfaceLinearSpringJoint
- Parameters:
enabled
- true if the damper should be enabled- See Also:
LinearSpringJoint.setSpringEnabled(boolean)
-
getSpringForce
public double getSpringForce(double invdt)
Description copied from interface:LinearSpringJoint
Returns the force in netwons applied by the spring in the last timestep.- Specified by:
getSpringForce
in interfaceLinearSpringJoint
- Parameters:
invdt
- the inverse delta time- Returns:
- double
-
getSpringMode
public int getSpringMode()
Description copied from interface:LinearSpringJoint
Returns the current spring mode.NOTE: The spring mode is set automatically when you call either
LinearSpringJoint.setSpringFrequency(double)
orLinearSpringJoint.setSpringStiffness(double)
. Use this method to store the spring mode when saving the simulation state and use the value to call eitherLinearSpringJoint.setSpringFrequency(double)
orLinearSpringJoint.setSpringStiffness(double)
.- Specified by:
getSpringMode
in interfaceLinearSpringJoint
- Returns:
- int
- See Also:
Joint.SPRING_MODE_FREQUENCY
,Joint.SPRING_MODE_STIFFNESS
-
getUpperLimit
public double getUpperLimit()
Description copied from interface:LinearLimitsJoint
Returns the upper limit in meters.- Specified by:
getUpperLimit
in interfaceLinearLimitsJoint
- Returns:
- double
-
setUpperLimit
public void setUpperLimit(double upperLimit)
Description copied from interface:LinearLimitsJoint
Sets the upper limit in meters.- Specified by:
setUpperLimit
in interfaceLinearLimitsJoint
- Parameters:
upperLimit
- the upper limit in meters
-
setUpperLimitEnabled
public void setUpperLimitEnabled(boolean flag)
Description copied from interface:LinearLimitsJoint
Sets whether the upper limit is enabled.- Specified by:
setUpperLimitEnabled
in interfaceLinearLimitsJoint
- Parameters:
flag
- true if the upper limit should be enabled
-
isUpperLimitEnabled
public boolean isUpperLimitEnabled()
Description copied from interface:LinearLimitsJoint
Returns true if the upper limit is enabled.- Specified by:
isUpperLimitEnabled
in interfaceLinearLimitsJoint
- Returns:
- boolean true if the upper limit is enabled
-
getLowerLimit
public double getLowerLimit()
Description copied from interface:LinearLimitsJoint
Returns the lower limit in meters.- Specified by:
getLowerLimit
in interfaceLinearLimitsJoint
- Returns:
- double
-
setLowerLimit
public void setLowerLimit(double lowerLimit)
Description copied from interface:LinearLimitsJoint
Sets the lower limit in meters.- Specified by:
setLowerLimit
in interfaceLinearLimitsJoint
- Parameters:
lowerLimit
- the lower limit in meters
-
setLowerLimitEnabled
public void setLowerLimitEnabled(boolean flag)
Description copied from interface:LinearLimitsJoint
Sets whether the lower limit is enabled.- Specified by:
setLowerLimitEnabled
in interfaceLinearLimitsJoint
- Parameters:
flag
- true if the lower limit should be enabled
-
isLowerLimitEnabled
public boolean isLowerLimitEnabled()
Description copied from interface:LinearLimitsJoint
Returns true if the lower limit is enabled.- Specified by:
isLowerLimitEnabled
in interfaceLinearLimitsJoint
- Returns:
- boolean true if the lower limit is enabled
-
setLimits
public void setLimits(double lowerLimit, double upperLimit)
Description copied from interface:LinearLimitsJoint
Sets both the lower and upper limits.- Specified by:
setLimits
in interfaceLinearLimitsJoint
- Parameters:
lowerLimit
- the lower limit in metersupperLimit
- the upper limit in meters
-
setLimitsEnabled
public void setLimitsEnabled(double lowerLimit, double upperLimit)
Description copied from interface:LinearLimitsJoint
Sets both the lower and upper limits and enables both.- Specified by:
setLimitsEnabled
in interfaceLinearLimitsJoint
- Parameters:
lowerLimit
- the lower limit in metersupperLimit
- the upper limit in meters
-
setLimitsEnabled
public void setLimitsEnabled(boolean flag)
Description copied from interface:LinearLimitsJoint
Enables or disables both the lower and upper limits.- Specified by:
setLimitsEnabled
in interfaceLinearLimitsJoint
- Parameters:
flag
- true if both limits should be enabled
-
setLimits
public void setLimits(double limit)
Description copied from interface:LinearLimitsJoint
Sets both the lower and upper limits to the given limit.- Specified by:
setLimits
in interfaceLinearLimitsJoint
- Parameters:
limit
- the desired limit in meters
-
setLimitsEnabled
public void setLimitsEnabled(double limit)
Description copied from interface:LinearLimitsJoint
Sets both the lower and upper limits to the given limit and enables both.- Specified by:
setLimitsEnabled
in interfaceLinearLimitsJoint
- Parameters:
limit
- the desired limit in meters
-
-