Jolt Physics
A multi core friendly Game Physics Engine
|
Base class for wheel settings, each VehicleController can implement a derived class of this. More...
#include <Wheel.h>
Public Member Functions | |
virtual void | SaveBinaryState (StreamOut &inStream) const |
Saves the contents in binary form to inStream. | |
virtual void | RestoreBinaryState (StreamIn &inStream) |
Restores the contents in binary form to inStream. | |
Public Member Functions inherited from SerializableObject | |
virtual | ~SerializableObject ()=default |
Constructor. | |
Public Member Functions inherited from RefTarget< WheelSettings > | |
RefTarget ()=default | |
Constructor. | |
RefTarget (const RefTarget &) | |
~RefTarget () | |
assert no one is referencing us | |
void | SetEmbedded () const |
RefTarget & | operator= (const RefTarget &) |
Assignment operator. | |
uint32 | GetRefCount () const |
Get current refcount of this object. | |
void | AddRef () const |
Add or release a reference to this object. | |
void | Release () const |
Public Member Functions inherited from NonCopyable | |
NonCopyable ()=default | |
NonCopyable (const NonCopyable &)=delete | |
void | operator= (const NonCopyable &)=delete |
Public Attributes | |
Vec3 | mPosition { 0, 0, 0 } |
Attachment point of wheel suspension in local space of the body. | |
Vec3 | mSuspensionDirection { 0, -1, 0 } |
Direction of the suspension in local space of the body, should point down. | |
Vec3 | mSteeringAxis { 0, 1, 0 } |
Direction of the steering axis in local space of the body, should point up (e.g. for a bike would be -mSuspensionDirection) | |
Vec3 | mWheelUp { 0, 1, 0 } |
Up direction when the wheel is in the neutral steering position (usually VehicleConstraintSettings::mUp but can be used to give the wheel camber or for a bike would be -mSuspensionDirection) | |
Vec3 | mWheelForward { 0, 0, 1 } |
Forward direction when the wheel is in the neutral steering position (usually VehicleConstraintSettings::mForward but can be used to give the wheel toe, does not need to be perpendicular to mWheelUp) | |
float | mSuspensionMinLength = 0.3f |
How long the suspension is in max raised position relative to the attachment point (m) | |
float | mSuspensionMaxLength = 0.5f |
How long the suspension is in max droop position relative to the attachment point (m) | |
float | mSuspensionPreloadLength = 0.0f |
The natural length (m) of the suspension spring is defined as mSuspensionMaxLength + mSuspensionPreloadLength. Can be used to preload the suspension as the spring is compressed by mSuspensionPreloadLength when the suspension is in max droop position. Note that this means when the vehicle touches the ground there is a discontinuity so it will also make the vehicle more bouncy as we're updating with discrete time steps. | |
float | mSuspensionFrequency = 1.5f |
Natural frequency of the suspension spring (Hz) | |
float | mSuspensionDamping = 0.5f |
Damping factor of the suspension spring (0 = no damping, 1 = critical damping) | |
float | mRadius = 0.3f |
Radius of the wheel (m) | |
float | mWidth = 0.1f |
Width of the wheel (m) | |
Additional Inherited Members | |
Static Public Member Functions inherited from RefTarget< WheelSettings > | |
static int | sInternalGetRefCountOffset () |
INTERNAL HELPER FUNCTION USED BY SERIALIZATION. | |
Protected Attributes inherited from RefTarget< WheelSettings > | |
atomic< uint32 > | mRefCount |
Current reference count. | |
Static Protected Attributes inherited from RefTarget< WheelSettings > | |
static constexpr uint32 | cEmbedded |
A large value that gets added to the refcount to mark the object as embedded. | |
Base class for wheel settings, each VehicleController can implement a derived class of this.
|
virtual |
Restores the contents in binary form to inStream.
Reimplemented in WheelSettingsTV, and WheelSettingsWV.
|
virtual |
Saves the contents in binary form to inStream.
Reimplemented in WheelSettingsTV, and WheelSettingsWV.
Vec3 WheelSettings::mPosition { 0, 0, 0 } |
Attachment point of wheel suspension in local space of the body.
float WheelSettings::mRadius = 0.3f |
Radius of the wheel (m)
Vec3 WheelSettings::mSteeringAxis { 0, 1, 0 } |
Direction of the steering axis in local space of the body, should point up (e.g. for a bike would be -mSuspensionDirection)
float WheelSettings::mSuspensionDamping = 0.5f |
Damping factor of the suspension spring (0 = no damping, 1 = critical damping)
Vec3 WheelSettings::mSuspensionDirection { 0, -1, 0 } |
Direction of the suspension in local space of the body, should point down.
float WheelSettings::mSuspensionFrequency = 1.5f |
Natural frequency of the suspension spring (Hz)
float WheelSettings::mSuspensionMaxLength = 0.5f |
How long the suspension is in max droop position relative to the attachment point (m)
float WheelSettings::mSuspensionMinLength = 0.3f |
How long the suspension is in max raised position relative to the attachment point (m)
float WheelSettings::mSuspensionPreloadLength = 0.0f |
The natural length (m) of the suspension spring is defined as mSuspensionMaxLength + mSuspensionPreloadLength. Can be used to preload the suspension as the spring is compressed by mSuspensionPreloadLength when the suspension is in max droop position. Note that this means when the vehicle touches the ground there is a discontinuity so it will also make the vehicle more bouncy as we're updating with discrete time steps.
Vec3 WheelSettings::mWheelForward { 0, 0, 1 } |
Forward direction when the wheel is in the neutral steering position (usually VehicleConstraintSettings::mForward but can be used to give the wheel toe, does not need to be perpendicular to mWheelUp)
Vec3 WheelSettings::mWheelUp { 0, 1, 0 } |
Up direction when the wheel is in the neutral steering position (usually VehicleConstraintSettings::mUp but can be used to give the wheel camber or for a bike would be -mSuspensionDirection)
float WheelSettings::mWidth = 0.1f |
Width of the wheel (m)