Jolt Physics
A multi core friendly Game Physics Engine
|
#include <VehicleConstraint.h>
Public Member Functions | |
virtual void | SaveBinaryState (StreamOut &inStream) const override |
Saves the contents of the constraint settings in binary form to inStream. | |
Public Member Functions inherited from SerializableObject | |
virtual | ~SerializableObject ()=default |
Constructor. | |
Public Member Functions inherited from NonCopyable | |
NonCopyable ()=default | |
NonCopyable (const NonCopyable &)=delete | |
void | operator= (const NonCopyable &)=delete |
Public Member Functions inherited from RefTarget< ConstraintSettings > | |
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 Attributes | |
Vec3 | mUp { 0, 1, 0 } |
Vector indicating the up direction of the vehicle (in local space to the body) | |
Vec3 | mForward { 0, 0, 1 } |
Vector indicating forward direction of the vehicle (in local space to the body) | |
float | mMaxPitchRollAngle = JPH_PI |
Defines the maximum pitch/roll angle (rad), can be used to avoid the car from getting upside down. The vehicle up direction will stay within a cone centered around the up axis with half top angle mMaxPitchRollAngle, set to pi to turn off. | |
Array< Ref< WheelSettings > > | mWheels |
List of wheels and their properties. | |
Array< VehicleAntiRollBar > | mAntiRollBars |
List of anti rollbars and their properties. | |
Ref< VehicleControllerSettings > | mController |
Defines how the vehicle can accelerate / decelerate. | |
Public Attributes inherited from ConstraintSettings | |
bool | mEnabled = true |
If this constraint is enabled initially. Use Constraint::SetEnabled to toggle after creation. | |
uint32 | mConstraintPriority = 0 |
uint | mNumVelocityStepsOverride = 0 |
Used only when the constraint is active. Override for the number of solver velocity iterations to run, 0 means use the default in PhysicsSettings::mNumVelocitySteps. The number of iterations to use is the max of all contacts and constraints in the island. | |
uint | mNumPositionStepsOverride = 0 |
Used only when the constraint is active. Override for the number of solver position iterations to run, 0 means use the default in PhysicsSettings::mNumPositionSteps. The number of iterations to use is the max of all contacts and constraints in the island. | |
float | mDrawConstraintSize = 1.0f |
Size of constraint when drawing it through the debug renderer. | |
uint64 | mUserData = 0 |
User data value (can be used by application) | |
Protected Member Functions | |
virtual void | RestoreBinaryState (StreamIn &inStream) override |
This function should not be called directly, it is used by sRestoreFromBinaryState. | |
Additional Inherited Members | |
Public Types inherited from ConstraintSettings | |
using | ConstraintResult = Result< Ref< ConstraintSettings > > |
Static Public Member Functions inherited from ConstraintSettings | |
static ConstraintResult | sRestoreFromBinaryState (StreamIn &inStream) |
Creates a constraint of the correct type and restores its contents from the binary stream inStream. | |
Static Public Member Functions inherited from RefTarget< ConstraintSettings > | |
static int | sInternalGetRefCountOffset () |
INTERNAL HELPER FUNCTION USED BY SERIALIZATION. | |
Protected Attributes inherited from RefTarget< ConstraintSettings > | |
atomic< uint32 > | mRefCount |
Current reference count. | |
Static Protected Attributes inherited from RefTarget< ConstraintSettings > | |
static constexpr uint32 | cEmbedded |
A large value that gets added to the refcount to mark the object as embedded. | |
Configuration for constraint that simulates a wheeled vehicle.
The properties in this constraint are largely based on "Car Physics for Games" by Marco Monster. See: https://www.asawicki.info/Mirror/Car%20Physics%20for%20Games/Car%20Physics%20for%20Games.html
|
overrideprotectedvirtual |
This function should not be called directly, it is used by sRestoreFromBinaryState.
Reimplemented from ConstraintSettings.
|
overridevirtual |
Saves the contents of the constraint settings in binary form to inStream.
Reimplemented from ConstraintSettings.
Array<VehicleAntiRollBar> VehicleConstraintSettings::mAntiRollBars |
List of anti rollbars and their properties.
Ref<VehicleControllerSettings> VehicleConstraintSettings::mController |
Defines how the vehicle can accelerate / decelerate.
Vec3 VehicleConstraintSettings::mForward { 0, 0, 1 } |
Vector indicating forward direction of the vehicle (in local space to the body)
float VehicleConstraintSettings::mMaxPitchRollAngle = JPH_PI |
Defines the maximum pitch/roll angle (rad), can be used to avoid the car from getting upside down. The vehicle up direction will stay within a cone centered around the up axis with half top angle mMaxPitchRollAngle, set to pi to turn off.
Vec3 VehicleConstraintSettings::mUp { 0, 1, 0 } |
Vector indicating the up direction of the vehicle (in local space to the body)
Array<Ref<WheelSettings> > VehicleConstraintSettings::mWheels |
List of wheels and their properties.