|  | Jolt Physics
    A multi core friendly Game Physics Engine | 
Runtime controller class. More...
#include <WheeledVehicleController.h>
 
  
| Public Types | |
| using | Differentials = Array<VehicleDifferentialSettings> | 
| Typedefs. | |
| using | TireMaxImpulseCallback = function<void(uint inWheelIndex, float &outLongitudinalImpulse, float &outLateralImpulse, float inSuspensionImpulse, float inLongitudinalFriction, float inLateralFriction, float inLongitudinalSlip, float inLateralSlip, float inDeltaTime)> | 
| Calculate max tire impulses by combining friction, slip, and suspension impulse. Note that the actual applied impulse may be lower (e.g. when the vehicle is stationary on a horizontal surface the actual impulse applied will be 0). | |
| Public Member Functions | |
| JPH_OVERRIDE_NEW_DELETE | WheeledVehicleController (const WheeledVehicleControllerSettings &inSettings, VehicleConstraint &inConstraint) | 
| Constructor. | |
| void | SetDriverInput (float inForward, float inRight, float inBrake, float inHandBrake) | 
| void | SetForwardInput (float inForward) | 
| Value between -1 and 1 for auto transmission and value between 0 and 1 indicating desired driving direction and amount the gas pedal is pressed. | |
| float | GetForwardInput () const | 
| void | SetRightInput (float inRight) | 
| Value between -1 and 1 indicating desired steering angle (1 = right) | |
| float | GetRightInput () const | 
| void | SetBrakeInput (float inBrake) | 
| Value between 0 and 1 indicating how strong the brake pedal is pressed. | |
| float | GetBrakeInput () const | 
| void | SetHandBrakeInput (float inHandBrake) | 
| Value between 0 and 1 indicating how strong the hand brake is pulled. | |
| float | GetHandBrakeInput () const | 
| const VehicleEngine & | GetEngine () const | 
| Get current engine state. | |
| VehicleEngine & | GetEngine () | 
| Get current engine state (writable interface, allows you to make changes to the configuration which will take effect the next time step) | |
| const VehicleTransmission & | GetTransmission () const | 
| Get current transmission state. | |
| VehicleTransmission & | GetTransmission () | 
| Get current transmission state (writable interface, allows you to make changes to the configuration which will take effect the next time step) | |
| const Differentials & | GetDifferentials () const | 
| Get the differentials this vehicle has. | |
| Differentials & | GetDifferentials () | 
| Get the differentials this vehicle has (writable interface, allows you to make changes to the configuration which will take effect the next time step) | |
| float | GetDifferentialLimitedSlipRatio () const | 
| Ratio max / min average wheel speed of each differential (measured at the clutch). | |
| void | SetDifferentialLimitedSlipRatio (float inV) | 
| float | GetWheelSpeedAtClutch () const | 
| Get the average wheel speed of all driven wheels (measured at the clutch) | |
| const TireMaxImpulseCallback & | GetTireMaxImpulseCallback () const | 
| void | SetTireMaxImpulseCallback (const TireMaxImpulseCallback &inTireMaxImpulseCallback) | 
| void | SetRPMMeter (Vec3Arg inPosition, float inSize) | 
| Debug drawing of RPM meter. | |
| virtual Ref< VehicleControllerSettings > | GetSettings () const override | 
| Recreate the settings for this controller. | |
|  Public Member Functions inherited from VehicleController | |
| JPH_OVERRIDE_NEW_DELETE | VehicleController (VehicleConstraint &inConstraint) | 
| Constructor / destructor. | |
| virtual | ~VehicleController ()=default | 
| VehicleConstraint & | GetConstraint () | 
| Access the vehicle constraint that this controller is part of. | |
| const VehicleConstraint & | GetConstraint () const | 
|  Public Member Functions inherited from NonCopyable | |
| NonCopyable ()=default | |
| NonCopyable (const NonCopyable &)=delete | |
| void | operator= (const NonCopyable &)=delete | 
| Protected Member Functions | |
| void | ToSettings (WheeledVehicleControllerSettings &outSettings) const | 
| Convert controller back to settings. | |
| virtual Wheel * | ConstructWheel (const WheelSettings &inWheel) const override | 
| virtual bool | AllowSleep () const override | 
| virtual void | PreCollide (float inDeltaTime, PhysicsSystem &inPhysicsSystem) override | 
| virtual void | PostCollide (float inDeltaTime, PhysicsSystem &inPhysicsSystem) override | 
| virtual bool | SolveLongitudinalAndLateralConstraints (float inDeltaTime) override | 
| virtual void | SaveState (StateRecorder &inStream) const override | 
| virtual void | RestoreState (StateRecorder &inStream) override | 
| virtual void | Draw (DebugRenderer *inRenderer) const override | 
|  Protected Member Functions inherited from VehicleController | |
| Protected Attributes | |
| float | mForwardInput = 0.0f | 
| Value between -1 and 1 for auto transmission and value between 0 and 1 indicating desired driving direction and amount the gas pedal is pressed. | |
| float | mRightInput = 0.0f | 
| Value between -1 and 1 indicating desired steering angle. | |
| float | mBrakeInput = 0.0f | 
| Value between 0 and 1 indicating how strong the brake pedal is pressed. | |
| float | mHandBrakeInput = 0.0f | 
| Value between 0 and 1 indicating how strong the hand brake is pulled. | |
| VehicleEngine | mEngine | 
| Engine state of the vehicle. | |
| VehicleTransmission | mTransmission | 
| Transmission state of the vehicle. | |
| Differentials | mDifferentials | 
| Differential states of the vehicle. | |
| float | mDifferentialLimitedSlipRatio | 
| Ratio max / min average wheel speed of each differential (measured at the clutch). | |
| float | mPreviousDeltaTime = 0.0f | 
| Delta time of the last step. | |
| TireMaxImpulseCallback | mTireMaxImpulseCallback | 
| Vec3 | mRPMMeterPosition { 0, 1, 0 } | 
| Position (in local space of the body) of the RPM meter when drawing the constraint. | |
| float | mRPMMeterSize = 0.5f | 
| Size of the RPM meter when drawing the constraint. | |
|  Protected Attributes inherited from VehicleController | |
| VehicleConstraint & | mConstraint | 
| The vehicle constraint we belong to. | |
Runtime controller class.
Typedefs.
| using WheeledVehicleController::TireMaxImpulseCallback = function<void(uint inWheelIndex, float &outLongitudinalImpulse, float &outLateralImpulse, float inSuspensionImpulse, float inLongitudinalFriction, float inLateralFriction, float inLongitudinalSlip, float inLateralSlip, float inDeltaTime)> | 
Calculate max tire impulses by combining friction, slip, and suspension impulse. Note that the actual applied impulse may be lower (e.g. when the vehicle is stationary on a horizontal surface the actual impulse applied will be 0).
| WheeledVehicleController::WheeledVehicleController | ( | const WheeledVehicleControllerSettings & | inSettings, | 
| VehicleConstraint & | inConstraint ) | 
Constructor.
| 
 | overrideprotectedvirtual | 
Implements VehicleController.
| 
 | inlineoverrideprotectedvirtual | 
Implements VehicleController.
| 
 | overrideprotectedvirtual | 
Implements VehicleController.
Reimplemented in MotorcycleController.
| 
 | inline | 
| 
 | inline | 
Ratio max / min average wheel speed of each differential (measured at the clutch).
| 
 | inline | 
Get the differentials this vehicle has (writable interface, allows you to make changes to the configuration which will take effect the next time step)
| 
 | inline | 
Get the differentials this vehicle has.
| 
 | inline | 
Get current engine state (writable interface, allows you to make changes to the configuration which will take effect the next time step)
| 
 | inline | 
Get current engine state.
| 
 | inline | 
| 
 | inline | 
| 
 | inline | 
| 
 | overridevirtual | 
Recreate the settings for this controller.
Implements VehicleController.
Reimplemented in MotorcycleController.
| 
 | inline | 
| 
 | inline | 
Get current transmission state (writable interface, allows you to make changes to the configuration which will take effect the next time step)
| 
 | inline | 
Get current transmission state.
| float WheeledVehicleController::GetWheelSpeedAtClutch | ( | ) | const | 
Get the average wheel speed of all driven wheels (measured at the clutch)
| 
 | overrideprotectedvirtual | 
Implements VehicleController.
| 
 | overrideprotectedvirtual | 
Implements VehicleController.
Reimplemented in MotorcycleController.
| 
 | overrideprotectedvirtual | 
Implements VehicleController.
Reimplemented in MotorcycleController.
| 
 | overrideprotectedvirtual | 
Implements VehicleController.
Reimplemented in MotorcycleController.
| 
 | inline | 
Value between 0 and 1 indicating how strong the brake pedal is pressed.
| 
 | inline | 
| 
 | inline | 
Set input from driver
| inForward | Value between -1 and 1 for auto transmission and value between 0 and 1 indicating desired driving direction and amount the gas pedal is pressed | 
| inRight | Value between -1 and 1 indicating desired steering angle (1 = right) | 
| inBrake | Value between 0 and 1 indicating how strong the brake pedal is pressed | 
| inHandBrake | Value between 0 and 1 indicating how strong the hand brake is pulled | 
| 
 | inline | 
Value between -1 and 1 for auto transmission and value between 0 and 1 indicating desired driving direction and amount the gas pedal is pressed.
| 
 | inline | 
Value between 0 and 1 indicating how strong the hand brake is pulled.
| 
 | inline | 
Value between -1 and 1 indicating desired steering angle (1 = right)
| 
 | inline | 
Debug drawing of RPM meter.
| 
 | inline | 
| 
 | overrideprotectedvirtual | 
Implements VehicleController.
Reimplemented in MotorcycleController.
| 
 | protected | 
Convert controller back to settings.
| 
 | protected | 
Value between 0 and 1 indicating how strong the brake pedal is pressed.
| 
 | protected | 
Ratio max / min average wheel speed of each differential (measured at the clutch).
| 
 | protected | 
Differential states of the vehicle.
| 
 | protected | 
Engine state of the vehicle.
| 
 | protected | 
Value between -1 and 1 for auto transmission and value between 0 and 1 indicating desired driving direction and amount the gas pedal is pressed.
| 
 | protected | 
Value between 0 and 1 indicating how strong the hand brake is pulled.
| 
 | protected | 
Delta time of the last step.
| 
 | protected | 
Value between -1 and 1 indicating desired steering angle.
| 
 | protected | 
Position (in local space of the body) of the RPM meter when drawing the constraint.
| 
 | protected | 
Size of the RPM meter when drawing the constraint.
| 
 | protected | 
| 
 | protected | 
Transmission state of the vehicle.