27 float mLongitudinalFriction = 4.0f;
28 float mLateralFriction = 2.0f;
50 float mCombinedLongitudinalFriction = 0.0f;
51 float mCombinedLateralFriction = 0.0f;
52 float mBrakeImpulse = 0.0f;
91 void SetDriverInput(
float inForward,
float inLeftRatio,
float inRightRatio,
float inBrake) {
JPH_ASSERT(inLeftRatio != 0.0f && inRightRatio != 0.0f); mForwardInput = inForward; mLeftRatio = inLeftRatio; mRightRatio = inRightRatio; mBrakeInput = inBrake; }
127#ifdef JPH_DEBUG_RENDERER
129 void SetRPMMeter(
Vec3Arg inPosition,
float inSize) { mRPMMeterPosition = inPosition; mRPMMeterSize = inSize; }
134 void SyncLeftRightTracks();
138 virtual bool AllowSleep()
const override;
139 virtual void PreCollide(
float inDeltaTime,
PhysicsSystem &inPhysicsSystem)
override;
140 virtual void PostCollide(
float inDeltaTime,
PhysicsSystem &inPhysicsSystem)
override;
141 virtual bool SolveLongitudinalAndLateralConstraints(
float inDeltaTime)
override;
142 virtual void SaveState(
StateRecorder &inStream)
const override;
144#ifdef JPH_DEBUG_RENDERER
149 float mForwardInput = 0.0f;
150 float mLeftRatio = 1.0f;
151 float mRightRatio = 1.0f;
152 float mBrakeInput = 0.0f;
159#ifdef JPH_DEBUG_RENDERER
161 Vec3 mRPMMeterPosition { 0, 1, 0 };
162 float mRPMMeterSize = 0.5f;
#define JPH_EXPORT
Definition Core.h:236
unsigned int uint
Definition Core.h:446
#define JPH_NAMESPACE_END
Definition Core.h:379
#define JPH_NAMESPACE_BEGIN
Definition Core.h:373
#define JPH_ASSERT(...)
Definition IssueReporting.h:33
#define JPH_OVERRIDE_NEW_DELETE
Macro to override the new and delete functions.
Definition Memory.h:31
bool IsKindOf(const Type *inObject, const RTTI *inRTTI)
Check if inObject is or is derived from DstType.
Definition RTTI.h:369
#define JPH_RTTI(class_name)
Definition RTTI.h:319
#define JPH_DECLARE_SERIALIZABLE_VIRTUAL(linkage, class_name)
Definition SerializableObject.h:109
VehicleTrack[(int) ETrackSide::Num] VehicleTracks
Definition VehicleTrack.h:54
Definition DebugRenderer.h:47
Definition PhysicsSystem.h:29
Definition StateRecorder.h:105
Simple binary input stream.
Definition StreamIn.h:13
Simple binary output stream.
Definition StreamOut.h:13
Runtime controller class for vehicle with tank tracks.
Definition TrackedVehicleController.h:79
VehicleEngine mEngine
Engine state of the vehicle.
Definition TrackedVehicleController.h:155
VehicleTracks mTracks
Tracks of the vehicle.
Definition TrackedVehicleController.h:157
const VehicleTransmission & GetTransmission() const
Get current transmission state.
Definition TrackedVehicleController.h:116
const VehicleTracks & GetTracks() const
Get the tracks this vehicle has.
Definition TrackedVehicleController.h:122
float GetLeftRatio() const
Definition TrackedVehicleController.h:99
void SetRightRatio(float inRightRatio)
Value between -1 and 1 indicating an extra multiplier to the rotation rate of the right track (used f...
Definition TrackedVehicleController.h:102
float GetBrakeInput() const
Definition TrackedVehicleController.h:107
float GetRightRatio() const
Definition TrackedVehicleController.h:103
VehicleTransmission mTransmission
Transmission state of the vehicle.
Definition TrackedVehicleController.h:156
virtual Wheel * ConstructWheel(const WheelSettings &inWheel) const override
Definition TrackedVehicleController.h:137
void SetRPMMeter(Vec3Arg inPosition, float inSize)
Debug drawing of RPM meter.
Definition TrackedVehicleController.h:129
VehicleTracks & GetTracks()
Get the tracks this vehicle has (writable interface, allows you to make changes to the configuration ...
Definition TrackedVehicleController.h:125
void SetLeftRatio(float inLeftRatio)
Value between -1 and 1 indicating an extra multiplier to the rotation rate of the left track (used fo...
Definition TrackedVehicleController.h:98
const VehicleEngine & GetEngine() const
Get current engine state.
Definition TrackedVehicleController.h:110
float GetForwardInput() const
Definition TrackedVehicleController.h:95
VehicleEngine & GetEngine()
Get current engine state (writable interface, allows you to make changes to the configuration which w...
Definition TrackedVehicleController.h:113
void SetBrakeInput(float inBrake)
Value between 0 and 1 indicating how strong the brake pedal is pressed.
Definition TrackedVehicleController.h:106
void SetDriverInput(float inForward, float inLeftRatio, float inRightRatio, float inBrake)
Definition TrackedVehicleController.h:91
void SetForwardInput(float inForward)
Value between -1 and 1 for auto transmission and value between 0 and 1 indicating desired driving dir...
Definition TrackedVehicleController.h:94
VehicleTransmission & GetTransmission()
Get current transmission state (writable interface, allows you to make changes to the configuration w...
Definition TrackedVehicleController.h:119
Definition TrackedVehicleController.h:60
VehicleEngineSettings mEngine
The properties of the engine.
Definition TrackedVehicleController.h:72
VehicleTransmissionSettings mTransmission
The properties of the transmission (aka gear box)
Definition TrackedVehicleController.h:73
Definition VehicleConstraint.h:66
Runtime data for interface that controls acceleration / deceleration of the vehicle.
Definition VehicleController.h:41
Basic settings object for interface that controls acceleration / deceleration of the vehicle.
Definition VehicleController.h:25
Runtime data for engine.
Definition VehicleEngine.h:44
Generic properties for a vehicle engine.
Definition VehicleEngine.h:21
Generic properties for tank tracks.
Definition VehicleTrack.h:25
Runtime data for transmission.
Definition VehicleTransmission.h:46
Configuration for the transmission of a vehicle (gear box)
Definition VehicleTransmission.h:23
Base class for runtime data for a wheel, each VehicleController can implement a derived class of this...
Definition Wheel.h:46
Base class for wheel settings, each VehicleController can implement a derived class of this.
Definition Wheel.h:19
virtual void SaveBinaryState(StreamOut &inStream) const
Saves the contents in binary form to inStream.
Definition Wheel.cpp:32
virtual void RestoreBinaryState(StreamIn &inStream)
Restores the contents in binary form to inStream.
Definition Wheel.cpp:49
WheelSettings object specifically for TrackedVehicleController.
Definition TrackedVehicleController.h:19
Wheel object specifically for TrackedVehicleController.
Definition TrackedVehicleController.h:33
const WheelSettingsTV * GetSettings() const
Override GetSettings and cast to the correct class.
Definition TrackedVehicleController.h:41