java.lang.Object
com.github.stephengold.joltjni.JoltPhysicsObject
com.github.stephengold.joltjni.NonCopyable
com.github.stephengold.joltjni.SerializableObject
com.github.stephengold.joltjni.WheelSettings
- All Implemented Interfaces:
ConstJoltPhysicsObject
,ConstWheelSettings
,RefTarget
,AutoCloseable
,Comparable<JoltPhysicsObject>
- Direct Known Subclasses:
WheelSettingsTv
,WheelSettingsWv
public abstract class WheelSettings
extends SerializableObject
implements ConstWheelSettings, RefTarget
Settings used to construct a
Wheel
.-
Method Summary
Modifier and TypeMethodDescriptionboolean
Determine where to apply tire forces.Copy the location of the attachment point.float
Return the radius of the wheel.abstract int
Count the active references to the nativeWheelSettings
.Copy the steering axis (upward direction).Copy the downward direction of the suspension.Copy the location where tire forces will be applied if the force-point option is enabled.float
Return the maximum displacement from the attachment point.float
Return the minimum displacement from the attachment point.float
Return the suspension preload length.Access the settings for the suspension spring.Copy the forward direction when steering is neutral.Copy the "up" direction when steering is neutral.float
getWidth()
Return the width of the wheel.abstract void
Mark the nativeWheelSettings
as embedded.setEnableSuspensionForcePoint
(boolean enable) Alter where to apply tire forces.setPosition
(Vec3Arg position) Relocate the attachment point.setRadius
(float radius) Alter the radius of the wheel.setSteeringAxis
(Vec3Arg direction) Alter the steering axis (upward direction).setSuspensionDirection
(Vec3Arg direction) Alter the downward direction of the suspension.setSuspensionForcePoint
(Vec3Arg location) Alter the location where tire forces will be applied if the force-point option is enabled.setSuspensionMaxLength
(float length) Alter the maximum displacement from the attachment point.setSuspensionMinLength
(float length) Alter the minimum displacement from the attachment point.setSuspensionPreloadLength
(float length) Alter the suspension preload length.setWheelForward
(Vec3Arg direction) Alter the forward direction when steering is neutral.setWheelUp
(Vec3Arg direction) Alter the "up" direction when steering is neutral.setWidth
(float width) Alter the width of the wheel.abstract Ref
toRef()
Create a counted reference to the nativeWheelSettings
.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.ConstJoltPhysicsObject
close, hasAssignedNativeObject, ownsNativeObject, targetVa
-
Method Details
-
getSuspensionSpring
Access the settings for the suspension spring. (native attribute: mSuspensionSpring)- Returns:
- a new JVM object with the pre-existing native object assigned
-
setEnableSuspensionForcePoint
Alter where to apply tire forces. (native attribute: mEnableSuspensionForcePoint)- Parameters:
enable
-true
to apply at the configured suspension-force point,false
to apply at the wheel's point of contact (default=false)- Returns:
- the modified settings, for chaining
-
setPosition
Relocate the attachment point. (native attribute: mPosition)- Parameters:
position
- the location of the attachment point (in the body's local coordinates, not null, unaffected, default=(0,0,0))- Returns:
- the modified settings, for chaining
-
setRadius
Alter the radius of the wheel. (native attribute: mRadius)- Parameters:
radius
- the desired radius (in meters, default=0.3)- Returns:
- the modified settings, for chaining
-
setSteeringAxis
Alter the steering axis (upward direction). (native attribute: mSteeringAxis)- Parameters:
direction
- the desired direction (not null, unaffected, default=(0,1,0))- Returns:
- the modified settings, for chaining
-
setSuspensionDirection
Alter the downward direction of the suspension. (native attribute: mSuspensionDirection)- Parameters:
direction
- the desired direction (not null, unaffected, default=(0,-1,0))- Returns:
- the modified settings, for chaining
-
setSuspensionForcePoint
Alter the location where tire forces will be applied if the force-point option is enabled. (native attribute: mSuspensionForcePoint)- Parameters:
location
- the desired location (in the body coordinates, not null, unaffected, default=(0,0,0))- Returns:
- the modified settings, for chaining
-
setSuspensionMaxLength
Alter the maximum displacement from the attachment point. (native attribute: mSuspensionMaxLength)- Parameters:
length
- the desired limit (in meters, default=0.5)- Returns:
- the modified settings, for chaining
-
setSuspensionMinLength
Alter the minimum displacement from the attachment point. (native attribute: mSuspensionMinLength)- Parameters:
length
- the desired limit (in meters, default=0.3)- Returns:
- the modified settings, for chaining
-
setSuspensionPreloadLength
Alter the suspension preload length. (native attribute: mSuspensionPreloadLength)- Parameters:
length
- the desired offset (in meters, default=0)- Returns:
- the modified settings, for chaining
-
setWheelForward
Alter the forward direction when steering is neutral. (native attribute: mWheelForward)- Parameters:
direction
- the desired direction (not null, unaffected, default=(0,0,1))- Returns:
- the modified settings, for chaining
-
setWheelUp
Alter the "up" direction when steering is neutral. (native attribute: mWheelUp)- Parameters:
direction
- the desired direction (not null, unaffected, default=(0,1,0))- Returns:
- the modified settings, for chaining
-
setWidth
Alter the width of the wheel. (native attribute: mWidth)- Parameters:
width
- the desired width (in meters, default=0.1)- Returns:
- the modified settings, for chaining
-
getEnableSuspensionForcePoint
public boolean getEnableSuspensionForcePoint()Determine where to apply tire forces. The settings are unaffected. (native attribute: mEnableSuspensionForcePoint)- Specified by:
getEnableSuspensionForcePoint
in interfaceConstWheelSettings
- Returns:
true
if applied at the configured suspension-force point,false
if applied at the wheel's point of contact
-
getPosition
Copy the location of the attachment point. The settings are unaffected. (native attribute: mPosition)- Specified by:
getPosition
in interfaceConstWheelSettings
- Returns:
- a new location vector (in the body's local coordinates)
-
getRadius
public float getRadius()Return the radius of the wheel. The settings are unaffected. (native attribute: mRadius)- Specified by:
getRadius
in interfaceConstWheelSettings
- Returns:
- the radius (in meters)
-
getSteeringAxis
Copy the steering axis (upward direction). The settings are unaffected. (native attribute: mSteeringAxis)- Specified by:
getSteeringAxis
in interfaceConstWheelSettings
- Returns:
- a new direction vector
-
getSuspensionDirection
Copy the downward direction of the suspension. The settings are unaffected. (native attribute: mSuspensionDirection)- Specified by:
getSuspensionDirection
in interfaceConstWheelSettings
- Returns:
- a new direction vector
-
getSuspensionForcePoint
Copy the location where tire forces will be applied if the force-point option is enabled. The settings are unaffected. (native attribute: mSuspensionForcePoint)- Specified by:
getSuspensionForcePoint
in interfaceConstWheelSettings
- Returns:
- a new location vector (in body coordinates)
-
getSuspensionMaxLength
public float getSuspensionMaxLength()Return the maximum displacement from the attachment point. The settings are unaffected. (native attribute: mSuspensionMaxLength)- Specified by:
getSuspensionMaxLength
in interfaceConstWheelSettings
- Returns:
- the distance (in meters)
-
getSuspensionMinLength
public float getSuspensionMinLength()Return the minimum displacement from the attachment point. The settings are unaffected. (native attribute: mSuspensionMinLength)- Specified by:
getSuspensionMinLength
in interfaceConstWheelSettings
- Returns:
- the distance (in meters)
-
getSuspensionPreloadLength
public float getSuspensionPreloadLength()Return the suspension preload length. The settings are unaffected. (native attribute: mSuspensionPreloadLength)- Specified by:
getSuspensionPreloadLength
in interfaceConstWheelSettings
- Returns:
- the offset (in meters)
-
getWheelForward
Copy the forward direction when steering is neutral. The settings are unaffected. (native attribute: mWheelForward)- Specified by:
getWheelForward
in interfaceConstWheelSettings
- Returns:
- a new direction vector
-
getWheelUp
Copy the "up" direction when steering is neutral. The settings are unaffected. (native attribute: mWheelUp)- Specified by:
getWheelUp
in interfaceConstWheelSettings
- Returns:
- a new direction vector
-
getWidth
public float getWidth()Return the width of the wheel. The settings are unaffected. (native attribute: mWidth)- Specified by:
getWidth
in interfaceConstWheelSettings
- Returns:
- the width (in meters)
-
getRefCount
public abstract int getRefCount()Count the active references to the nativeWheelSettings
. The settings are unaffected.- Specified by:
getRefCount
in interfaceRefTarget
- Returns:
- the count (≥0)
-
setEmbedded
public abstract void setEmbedded()Mark the nativeWheelSettings
as embedded.- Specified by:
setEmbedded
in interfaceRefTarget
-
toRef
Create a counted reference to the nativeWheelSettings
.
-