7#include "Containers/Array.h"
16#define UE_API CHAOSVEHICLESCORE_API
19#define VEHICLE_DEBUGGING_ENABLED 0
66 float GetValue(
float InX,
float MaxX = 1.0f,
float MaxY = 1.0f)
const
68 float Step = MaxX / (Graph.
Num() - 1);
73 if (StartIndex >= Graph.
Num() - 1)
109 bool IsEmpty()
const {
return Graph.IsEmpty(); }
153 Value = FMath::Abs(FMath::Atan2(
Y,
X));
177 return RPM *
PI / 30.f;
183 return Omega * 30.f /
PI;
189 return KmH * 100000.f / 3600.f;
195 return CmS * 3600.f / 100000.f;
201 return CmS * 2236.94185f / 100000.f;
207 return MPH * 100000.f / 2236.94185f;
213 return MPH * 1609.34f / 3600.f;
219 return MS * 3600.f / 1609.34f;
249 return Cm * 0.0000062137119224f;
256 return Km * 0.62137f;
262 return Miles * 1.60934f;
268 return M2 * 100.f * 100.f;
274 return Cm2 / (100.f * 100.f);
317 bool PreStartConditionsMet;
318 bool StartConditionsMet;
319 bool MeasurementComplete;
324 float InitialVelocityMPH;
325 float FinalTargetVelocityMPH;
326 float FinalTargetDistanceMiles;
328 float VelocityResultMPH;
329 float DistanceResultMiles;
330 float TimeResultSeconds;
359 for (
int I = 0; I < PerformanceMeasure.Num(); I++)
361 PerformanceMeasure[I].Reset();
367 for (
int I = 0; I < PerformanceMeasure.Num(); I++)
375 return PerformanceMeasure.Num();
380 IsEnabledThisFrame =
true;
385 return IsEnabledThisFrame;
390 bool IsEnabledThisFrame;
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define UE_API
Definition SColorGradingComponentViewer.h:12
USkinnedMeshComponent float
Definition SkinnedMeshComponent.h:60
#define PI
Definition UnrealMathUtility.h:65
#define HALF_PI
Definition UnrealMathUtility.h:80
float Val(const FString &Value)
Definition UnrealMath.cpp:3163
Definition VehicleUtility.h:89
UE_API float EvaluateY(float InX) const
Definition VehicleUtility.cpp:191
bool IsEmpty() const
Definition VehicleUtility.h:109
FGraph()
Definition VehicleUtility.h:91
void Empty()
Definition VehicleUtility.h:96
Definition VehicleUtility.h:54
float GetValue(float InX, float MaxX=1.0f, float MaxY=1.0f) const
Definition VehicleUtility.h:66
void AddNormalized(float Value)
Definition VehicleUtility.h:61
void Empty()
Definition VehicleUtility.h:56
Definition VehicleUtility.h:303
bool IsComplete() const
Definition VehicleUtility.h:309
UE_API void Reset()
Definition VehicleUtility.cpp:21
UE_API FString ToString() const
Definition VehicleUtility.cpp:120
Definition VehicleUtility.h:117
static FORCEINLINE void ClampNormalRange(float &InOutValue)
Definition VehicleUtility.h:120
static float PitchFromForwardVectorRadians(const FVector &NormalizedForwardsVector)
Definition VehicleUtility.h:132
static float RollFromRightVectorRadians(const FVector &NormalizedRightVector)
Definition VehicleUtility.h:138
static float YawFromForwardVectorRadians(const FVector &NormalizedForwardsVector)
Definition VehicleUtility.h:126
static UE_API float TurnRadiusFromThreePoints(const FVector &PtA, const FVector &PtB, const FVector &PtC)
Definition VehicleUtility.cpp:144
static float CalculateSlipAngle(float Y, float X)
Definition VehicleUtility.h:146
UE_REWRITE SizeType Num() const
Definition Array.h:1144
UE_NODEBUG UE_FORCEINLINE_HINT SizeType Add(ElementType &&Item)
Definition Array.h:2696
void Empty(SizeType Slack=0)
Definition Array.h:2273
Definition SkeletalMeshComponent.h:307
FORCEINLINE float KmToMile(float Km)
Definition VehicleUtility.h:254
FORCEINLINE float CmToMiles(float Cm)
Definition VehicleUtility.h:247
FORCEINLINE float TorqueMToCm(float TorqueIn)
Definition VehicleUtility.h:292
FORCEINLINE float KmHToCmS(float KmH)
Definition VehicleUtility.h:187
FORCEINLINE float MPHToCmS(float MPH)
Definition VehicleUtility.h:205
FORCEINLINE float RadToDeg(float InRad)
Definition VehicleUtility.h:282
FORCEINLINE float MSToMPH(float MS)
Definition VehicleUtility.h:217
@ Y
Definition SimulationModuleBase.h:153
@ X
Definition SimulationModuleBase.h:152
FORCEINLINE float MToCm(float M)
Definition VehicleUtility.h:235
FORCEINLINE float RPMToOmega(float RPM)
Definition VehicleUtility.h:175
FORCEINLINE float CmToM(float Cm)
Definition VehicleUtility.h:223
FORCEINLINE float Cm2ToM2(float Cm2)
Definition VehicleUtility.h:272
FORCEINLINE float CmToMScaling()
Definition VehicleUtility.h:169
FORCEINLINE float MToCmScaling()
Definition VehicleUtility.h:164
@ Add
Definition PendingSpatialData.h:18
@ Update
Definition PendingSpatialData.h:19
FORCEINLINE float CmSToKmH(float CmS)
Definition VehicleUtility.h:193
FORCEINLINE float Sqr(float Val)
Definition VehicleUtility.h:287
FORCEINLINE float MileToKm(float Miles)
Definition VehicleUtility.h:260
FORCEINLINE float TorqueCmToM(float TorqueIn)
Definition VehicleUtility.h:297
FORCEINLINE float M2ToCm2(float M2)
Definition VehicleUtility.h:266
FORCEINLINE float OmegaToRPM(float Omega)
Definition VehicleUtility.h:181
FORCEINLINE float DegToRad(float InDeg)
Definition VehicleUtility.h:277
FORCEINLINE float MPHToMS(float MPH)
Definition VehicleUtility.h:211
FORCEINLINE float CmSToMPH(float CmS)
Definition VehicleUtility.h:199
Definition VehicleUtility.h:25
static FORCEINLINE float AirDensity()
Definition VehicleUtility.h:31
static FORCEINLINE float HalfAirDensity()
Definition VehicleUtility.h:36
static FORCEINLINE float DryRoadFriction()
Definition VehicleUtility.h:41
static FORCEINLINE float WetRoadFriction()
Definition VehicleUtility.h:46
static FORCEINLINE float WaterDensity()
Definition VehicleUtility.h:26
static constexpr UE_FORCEINLINE_HINT T Clamp(const T X, const T MinValue, const T MaxValue)
Definition UnrealMathUtility.h:592
Definition NumericLimits.h:41
T Y
Definition Vector2D.h:52
T X
Definition Vector2D.h:49