java.lang.Object
com.github.stephengold.joltjni.JoltPhysicsObject
com.github.stephengold.joltjni.NonCopyable
com.github.stephengold.joltjni.Constraint
com.github.stephengold.joltjni.TwoBodyConstraint
com.github.stephengold.joltjni.SixDofConstraint
- All Implemented Interfaces:
ConstConstraint
,ConstJoltPhysicsObject
,ConstTwoBodyConstraint
,RefTarget
,AutoCloseable
,Comparable<JoltPhysicsObject>
A
TwoBodyConstraint
that can constrain all 6 degrees of freedom.
(native type: SixDOFConstraint)-
Method Summary
Modifier and TypeMethodDescriptionfloat
getLimitsMax
(EAxis dof) Return the upper limit of the specified degree of freedom.float
getLimitsMin
(EAxis dof) Return the lower limit of the specified degree of freedom.Access the spring settings of the specified degree of freedom.float
getMaxFriction
(EAxis dof) Return the maximum friction of the specified degree of freedom.getMotorSettings
(EAxis dof) Access the motor settings of the specified degree of freedom.getMotorState
(EAxis dof) Return the motor state of the specified degree of freedom.Copy the rotation of the constraint.Return the rotation upper limits.Return the rotation lower limits.Copy the target velocities of the angular motors.Copy the target orientation of the angular motors.Copy the target position of the linear motors.Copy the target velocities of the linear motors.Return the translation upper limits.Return the translation lower limits.boolean
isFixedAxis
(EAxis dof) Test whether the specified degree of freedom is fixed.boolean
isFreeAxis
(EAxis dof) Test whether the specified degree of freedom is free.void
setLimitsSpringSettings
(EAxis dof, SpringSettings springSettings) Alter the spring settings of the specified degree of freedom.void
setMaxFriction
(EAxis dof, float friction) Alter the maximum friction of the specified degree of freedom.void
setMotorState
(EAxis dof, EMotorState state) Alter the motor state of the specified degree of freedom.void
setRotationLimits
(Vec3Arg min, Vec3Arg max) Alter the rotation limits.void
Alter the target velocities of the angular motors.void
setTargetOrientationBs
(QuatArg orientation) Alter the target orientation of the angular motors in body space.void
setTargetOrientationCs
(QuatArg orientation) Alter the target orientation of the angular motors.void
setTargetPositionCs
(Vec3Arg offsets) Alter the target position of the linear motors.void
setTargetVelocityCs
(Vec3Arg velocity) Alter the target velocities of the linear motors.void
setTranslationLimits
(Vec3Arg min, Vec3Arg max) Alter the translation limits.Methods inherited from class com.github.stephengold.joltjni.TwoBodyConstraint
getBody1, getBody2, getConstraintToBody1Matrix, getConstraintToBody2Matrix, toRef
Methods inherited from class com.github.stephengold.joltjni.Constraint
getConstraintPriority, getConstraintSettings, getEnabled, getNumPositionStepsOverride, getNumVelocityStepsOverride, getRefCount, getSubType, getType, notifyShapeChanged, setConstraintPriority, setEmbedded, setEnabled, setNumPositionStepsOverride, setNumVelocityStepsOverride
Methods inherited from class com.github.stephengold.joltjni.JoltPhysicsObject
close, compareTo, equals, getContainingObject, hasAssignedNativeObject, hashCode, ownsNativeObject, setVirtualAddress, setVirtualAddress, startCleaner, targetVa, toString, va
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.lang.Comparable
compareTo
Methods inherited from interface com.github.stephengold.joltjni.readonly.ConstConstraint
getConstraintPriority, getConstraintSettings, getEnabled, getNumPositionStepsOverride, getNumVelocityStepsOverride, getSubType, getType
Methods inherited from interface com.github.stephengold.joltjni.readonly.ConstJoltPhysicsObject
close, hasAssignedNativeObject, ownsNativeObject, targetVa
-
Method Details
-
getLimitsMax
Return the upper limit of the specified degree of freedom. The constraint is unaffected.- Parameters:
dof
- which DOF to query (not null)- Returns:
- the limit value
-
getLimitsMin
Return the lower limit of the specified degree of freedom. The constraint is unaffected.- Parameters:
dof
- which DOF to query (not null)- Returns:
- the limit value
-
getLimitsSpringSettings
Access the spring settings of the specified degree of freedom. The constraint is unaffected.- Parameters:
dof
- which degree of freedom to query (not null)- Returns:
- a new JVM object with the pre-existing native object assigned
-
getMaxFriction
Return the maximum friction of the specified degree of freedom. The constraint is unaffected.- Parameters:
dof
- which DPF to alter (not null)- Returns:
- the friction value
-
getMotorSettings
Access the motor settings of the specified degree of freedom. The constraint is unaffected.- Parameters:
dof
- which degree of freedom to query (not null)- Returns:
- a new JVM object with the pre-existing native object assigned
-
getMotorState
Return the motor state of the specified degree of freedom.- Parameters:
dof
- which DOF to alter (not null)- Returns:
- an enum value (not null)
-
getRotationInConstraintSpace
Copy the rotation of the constraint. The constraint is unaffected.- Returns:
- a new rotation quaternion
-
getRotationLimitsMax
Return the rotation upper limits. The constraint is unaffected.- Returns:
- the upper limit for each axis (not null)
-
getRotationLimitsMin
Return the rotation lower limits. The constraint is unaffected.- Returns:
- the lower limit for each axis (not null)
-
getTargetAngularVelocityCs
Copy the target velocities of the angular motors. The constraint is unaffected. (native method: GetTargetAngularVelocityCS)- Returns:
- a new angular velocity vector (radians per second in body 2 constraint space)
-
getTargetPositionCs
Copy the target position of the linear motors. The constraint is unaffected. (native method: GetTargetPositionCS)- Returns:
- a new offset vector (meters in body 1 constraint space)
-
getTargetOrientationCs
Copy the target orientation of the angular motors. The constraint is unaffected. (native method: GetTargetOrientationCS)- Returns:
- the target orientation (in constraint space)
-
getTargetVelocityCs
Copy the target velocities of the linear motors. The constraint is unaffected. (native method: GetTargetVelocityCS)- Returns:
- a new linear velocity vector (meters per second in body 1 constraint space)
-
getTranslationLimitsMax
Return the translation upper limits. The constraint is unaffected.- Returns:
- the upper limit for each axis (not null)
-
getTranslationLimitsMin
Return the translation lower limits. The constraint is unaffected.- Returns:
- the lower limit for each axis (not null)
-
isFixedAxis
Test whether the specified degree of freedom is fixed. The constraint is unaffected.- Parameters:
dof
- which DOF to query (not null)- Returns:
true
if fixed, otherwisefalse
-
isFreeAxis
Test whether the specified degree of freedom is free. The constraint is unaffected.- Parameters:
dof
- which DOF to query (not null)- Returns:
true
if free, otherwisefalse
-
setLimitsSpringSettings
Alter the spring settings of the specified degree of freedom.- Parameters:
dof
- which DOF to alter (not null)springSettings
- the desired settings (not null, unaffected)
-
setMaxFriction
Alter the maximum friction of the specified degree of freedom.- Parameters:
dof
- which DOF to alter (not null)friction
- the desired value
-
setMotorState
Alter the motor state of the specified degree of freedom.- Parameters:
dof
- which DOF to alter (not null)state
- the desired state (not null)
-
setRotationLimits
Alter the rotation limits.- Parameters:
min
- the lower limit for each axis (not null, unaffected)max
- the upper limit for each axis (not null, unaffected)
-
setTargetVelocityCs
Alter the target velocities of the linear motors. (native method: SetTargetVelocityCS)- Parameters:
velocity
- the desired linear velocity (meters per second in body 1 constraint space, not null)
-
setTargetAngularVelocityCs
Alter the target velocities of the angular motors. (native method: SetTargetAngularVelocityCS)- Parameters:
omega
- the desired angular velocity (radians per second in body 2 constraint space, not null)
-
setTargetPositionCs
Alter the target position of the linear motors. (native method: SetTargetPositionCS)- Parameters:
offsets
- the desired offsets (meters in body 1 constraint space)
-
setTargetOrientationBs
Alter the target orientation of the angular motors in body space. (native method: SetTargetOrientationBS)- Parameters:
orientation
- the desired target orientation (not null, unaffected)
-
setTargetOrientationCs
Alter the target orientation of the angular motors. (native method: SetTargetOrientationCS)- Parameters:
orientation
- the desired orientation (in body 1 constraint space)
-
setTranslationLimits
Alter the translation limits.- Parameters:
min
- the lower limit for each axis (not null, unaffected)max
- the upper limit for each axis (not null, unaffected)
-