UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
SimpleVehicle.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "VehicleUtility.h"
6#include "EngineSystem.h"
8#include "SuspensionSystem.h"
9#include "WheelSystem.h"
10#include "SteeringSystem.h"
11#include "AerodynamicsSystem.h"
12#include "AerofoilSystem.h"
13#include "ThrustSystem.h"
14#include "ArcadeSystem.h"
15//#include "FuelSystem.h"
16//#include "BallastSystem.h"
17
18#if VEHICLE_DEBUGGING_ENABLED
20#endif
21
22namespace Chaos
23{
24
26{
27public:
28// virtual void Simulate(float DeltaTime) = 0;
29};
30
36{
37public:
47
49 {
50
51 }
52
53 /*void Simulate(float DeltaTime) override
54 {
55 }*/
56
57 bool IsValid()
58 {
59 return (Transmission.Num() == 1) && (Engine.Num() == 1) && (Aerodynamics.Num() == 1);
60 }
61
63 {
64 check(Engine.Num() == 1);
65 return Engine[0];
66 }
67
68 bool HasEngine() const
69 {
70 return (Engine.Num() > 0);
71 }
72
73 bool HasTransmission() const
74 {
75 return (Transmission.Num() > 0);
76 }
77
79 {
80 return (TorqueControlSim.Num() > 0);
81 }
82
84 {
85 return (TargetRotationControlSim.Num() > 0);
86 }
87
89 {
90 return (StabilizeControlSim.Num() > 0);
91 }
92
93
95 {
96 check(Transmission.Num() == 1);
97 return Transmission[0];
98 }
99
101 {
102 check(Differential.Num() == 1);
103 return Differential[0];
104 }
105
107 {
108 check(WheelIdx < Wheels.Num());
109 return Wheels[WheelIdx];
110 }
111
117
119 {
120 check(Steering.Num() == 1);
121 return Steering[0];
122 }
123
125 {
126 check(Aerodynamics.Num() == 1);
127 return Aerodynamics[0];
128 }
129
131 {
132 check(AerofoilIdx < Aerofoils.Num());
133 return Aerofoils[AerofoilIdx];
134 }
135
141
143 {
144 check(TorqueControlSim.Num() == 1);
145 return TorqueControlSim[0];
146 }
147
153
159
161 {
162 return Axles;
163 }
164
165
176
180 //TArray<FSimpleFuelSim> Fuel;
181 //TArray<FSimpleBallastSim> Ballast;
182 // turbo
183 // ..
184
190};
191
192
193} // namespace Chaos
194
195#if VEHICLE_DEBUGGING_ENABLED
197#endif
#define check(expr)
Definition AssertionMacros.h:314
#define UE_ENABLE_OPTIMIZATION
Definition CoreMiscDefines.h:60
#define UE_DISABLE_OPTIMIZATION
Definition CoreMiscDefines.h:59
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
return true
Definition ExternalRpcRegistry.cpp:601
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition AerofoilSystem.h:59
Definition AerodynamicsSystem.h:41
Definition TransmissionSystem.h:51
Definition EngineSystem.h:53
Definition SteeringSystem.h:79
Definition SuspensionSystem.h:103
Definition ThrustSystem.h:39
Definition TransmissionSystem.h:90
Definition WheelSystem.h:161
Definition SimpleVehicle.h:36
TArray< FSimpleSteeringSim > Steering
Definition SimpleVehicle.h:171
TArray< FTargetRotationControlSim > TargetRotationControlSim
Definition SimpleVehicle.h:178
TArray< FSimpleTransmissionSim > Transmission
Definition SimpleVehicle.h:167
FSimpleWheelSim & GetWheel(int WheelIdx)
Definition SimpleVehicle.h:106
bool IsValid()
Definition SimpleVehicle.h:57
FSimpleAerodynamicsSim & GetAerodynamics()
Definition SimpleVehicle.h:124
FSimpleWheeledVehicle()
Definition SimpleVehicle.h:38
bool bMechanicalSimEnabled
Definition SimpleVehicle.h:186
TArray< FSimpleDifferentialSim > Differential
Definition SimpleVehicle.h:168
bool HasTransmission() const
Definition SimpleVehicle.h:73
TArray< FTorqueControlSim > TorqueControlSim
Definition SimpleVehicle.h:177
TArray< FStabilizeControlSim > StabilizeControlSim
Definition SimpleVehicle.h:179
bool bLegacyWheelFrictionPosition
Definition SimpleVehicle.h:189
FSimpleSteeringSim & GetSteering()
Definition SimpleVehicle.h:118
TArray< FSimpleThrustSim > Thrusters
Definition SimpleVehicle.h:174
TArray< FSimpleWheelSim > Wheels
Definition SimpleVehicle.h:169
FSimpleSuspensionSim & GetSuspension(int WheelIdx)
Definition SimpleVehicle.h:112
TArray< FSimpleAerodynamicsSim > Aerodynamics
Definition SimpleVehicle.h:172
FSimpleEngineSim & GetEngine()
Definition SimpleVehicle.h:62
FTorqueControlSim & GetTorqueControl()
Definition SimpleVehicle.h:142
bool HasTargetRotationControlSetup()
Definition SimpleVehicle.h:83
TArray< FAxleSim > Axles
Definition SimpleVehicle.h:175
TArray< FAerofoil > Aerofoils
Definition SimpleVehicle.h:173
FTargetRotationControlSim & GetTargetRotationControl()
Definition SimpleVehicle.h:148
bool HasEngine() const
Definition SimpleVehicle.h:68
FSimpleDifferentialSim & GetDifferential()
Definition SimpleVehicle.h:100
TArray< FSimpleEngineSim > Engine
Definition SimpleVehicle.h:166
bool HasStabilizeControlSetup()
Definition SimpleVehicle.h:88
FStabilizeControlSim & GetStabilizeControl()
Definition SimpleVehicle.h:154
TArray< FSimpleSuspensionSim > Suspension
Definition SimpleVehicle.h:170
virtual ~FSimpleWheeledVehicle()
Definition SimpleVehicle.h:48
FAerofoil & GetAerofoil(int AerofoilIdx)
Definition SimpleVehicle.h:130
bool bSuspensionEnabled
Definition SimpleVehicle.h:185
FSimpleThrustSim & GetThruster(int ThrusterIdx)
Definition SimpleVehicle.h:136
bool HasTorqueControlSetup()
Definition SimpleVehicle.h:78
uint32 NumDrivenWheels
Definition SimpleVehicle.h:188
bool bWheelFrictionEnabled
Definition SimpleVehicle.h:187
const TArray< FAxleSim > & GetAxles() const
Definition SimpleVehicle.h:160
FSimpleTransmissionSim & GetTransmission()
Definition SimpleVehicle.h:94
Definition ArcadeSystem.h:157
Definition ArcadeSystem.h:146
Definition ArcadeSystem.h:135
Definition SimpleVehicle.h:26
Definition Engine.Build.cs:7
Definition Array.h:670
Definition SkeletalMeshComponent.h:307
@ false
Definition radaudio_common.h:23