UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
Chaos::FWheelSimModule Class Reference

#include <WheelModule.h>

+ Inheritance diagram for Chaos::FWheelSimModule:

Public Member Functions

 DEFINE_CHAOSSIMTYPENAME (FWheelSimModule)
 
UE_API FWheelSimModule (const FWheelSettings &Settings)
 
virtual TSharedPtr< FModuleNetDataGenerateNetData (const int32 SimArrayIndex) const override
 
virtual FSimOutputDataGenerateOutputData () const override
 
virtual const FString GetDebugName () const
 
virtual UE_API bool GetDebugString (FString &StringOut) const override
 
virtual UE_API void Simulate (float DeltaTime, const FAllInputs &Inputs, FSimModuleTree &VehicleModuleSystem) override
 
virtual UE_API void Animate () override
 
virtual bool IsBehaviourType (eSimModuleTypeFlags InType) const override
 
virtual float GetWheelRadius () const override
 
float GetSteerAngleDegrees () const
 
FVector GetForceFromFriction () const
 
void SetLinearSpeed (float LinearMetersPerSecondIn)
 
float GetLinearSpeed ()
 
float GetEffectiveRadius () const
 
- Public Member Functions inherited from Chaos::FWheelBaseInterface
 DEFINE_CHAOSSIMTYPENAME (FWheelBaseInterface)
 
 FWheelBaseInterface ()
 
void SetSuspensionSimTreeIndex (int IndexIn)
 
int GetSuspensionSimTreeIndex () const
 
void SetSurfaceFriction (float FrictionIn)
 
void SetForceIntoSurface (float ForceIntoSurfaceIn)
 
float GetForceIntoSurface () const
 
float GetSurfaceFriction () const
 
- Public Member Functions inherited from Chaos::FTorqueSimModule
 DEFINE_CHAOSSIMTYPENAME (FTorqueSimModule)
 
 FTorqueSimModule ()
 
void SetDriveTorque (float TorqueIn)
 
float GetDriveTorque () const
 
void SetLoadTorque (float TorqueIn)
 
float GetLoadTorque () const
 
void SetBrakingTorque (float TorqueIn)
 
float GetBrakingTorque () const
 
void SetAngularVelocity (float AngularVelocityIn)
 
float GetAngularVelocity () const
 
void AddAngularVelocity (float AngularVelocityIn)
 
void SetAngularPosition (float AngularPositionIn)
 
float GetAngularPosition () const
 
void SetRPM (float InRPM)
 
float GetRPM () const
 
UE_API void TransmitTorque (const FSimModuleTree &BlockSystem, float PushedTorque, float BrakeTorque=0.f, float GearingRatio=1.0f, float ClutchSlip=1.0f)
 
UE_API void IntegrateAngularVelocity (float DeltaTime, float Inertia, float MaxRotationVel=MAX_FLT)
 
- Public Member Functions inherited from Chaos::ISimulationModuleBase
 DEFINE_CHAOSSIMTYPENAME (ISimulationModuleBase)
 
 ISimulationModuleBase ()
 
virtual ~ISimulationModuleBase ()
 
int GetGuid () const
 
void SetGuid (int GuidIn)
 
virtual bool IsEnabled () const
 
void SetStateFlags (eSimModuleState StateFlagsIn)
 
virtual void OnConstruction_External (const Chaos::FPhysicsObjectHandle &PhysicsObject)
 
virtual void OnTermination_External ()
 
virtual void Simulate (IPhysicsProxyBase *Proxy, Chaos::FPBDRigidParticleHandle *ParticleHandle, float DeltaTime, const FAllInputs &Inputs, FSimModuleTree &VehicleModuleSystem)
 
virtual void OnContactModification (Chaos::FCollisionContactModifier &Modifier, IPhysicsProxyBase *Proxy)
 
void SetAnimationEnabled (bool bInEnabled)
 
bool IsAnimationEnabled ()
 
UE_API void SetAnimationData (const FName &BoneNameIn, const FVector &AnimationOffsetIn, int AnimationSetupIndexIn)
 
const FSimModuleAnimationDataGetAnimationData () const
 
const FVectorGetAnimationOffset () const
 
const FNameGetBoneName () const
 
int GetAnimationSetupIndex ()
 
virtual void DrawDebugInfo ()
 
void SetTransformIndex (int TransformIndexIn)
 
const int GetTransformIndex () const
 
void SetParticleIndex (FUniqueIdx ParticleIndexIn)
 
const FUniqueIdx GetParticleIndex () const
 
void SetTreeIndex (int TreeIndexIn)
 
int GetTreeIndex () const
 
void SetSimModuleTree (FSimModuleTree *SimModuleTreeIn)
 
UE_API void AddLocalForceAtPosition (const FVector &Force, const FVector &Position, bool bAllowSubstepping=true, bool bIsLocalForce=false, bool bLevelSlope=false, const FColor &DebugColorIn=FColor::Blue)
 
UE_API void AddForceAtCOMPosition (const FVector &Force, const FVector &OffsetFromCOM=FVector::ZeroVector, bool bAllowSubstepping=true, bool bLevelSlope=false, const FColor &DebugColorIn=FColor::Blue)
 
UE_API void AddLocalForce (const FVector &Force, bool bAllowSubstepping=true, bool bIsLocalForce=false, bool bLevelSlope=false, const FColor &DebugColorIn=FColor::Blue)
 
UE_API void AddLocalTorque (const FVector &Torque, bool bAllowSubstepping=true, bool bAccelChangeIn=true, const FColor &DebugColorIn=FColor::Magenta)
 
void SetClustered (bool IsClusteredIn)
 
bool IsClustered () const
 
void SetClusteredTransform (const FTransform &TransformIn)
 
const FTransformGetClusteredTransform () const
 
void SetInitialParticleTransform (const FTransform &TransformIn)
 
const FTransformGetInitialParticleTransform () const
 
void SetComponentTransform (const FTransform &TransformIn)
 
const FTransformGetComponentTransform () const
 
void SetIntactTransform (const FTransform &TransformIn)
 
const FTransformGetIntactTransform () const
 
UE_API const FTransformGetParentRelativeTransform () const
 
void SetLocalLinearVelocity (const FVector &VelocityIn)
 
const FVectorGetLocalLinearVelocity () const
 
void SetLocalAngularVelocity (const FVector &VelocityIn)
 
const FVectorGetLocalAngularVelocity () const
 
UE_API ISimulationModuleBaseGetParent ()
 
UE_API ISimulationModuleBaseGetFirstChild ()
 
UE_API FVehicleBlackboardGetSimBlackboard ()
 
const FVectorGetAppliedForce ()
 
UE_API Chaos::FPBDRigidClusteredParticleHandleGetClusterParticle (Chaos::FClusterUnionPhysicsProxy *Proxy)
 
UE_API Chaos::FPBDRigidParticleHandleGetParticleFromUniqueIndex (int32 ParticleUniqueIdx, TArray< Chaos::FPBDRigidParticleHandle * > &Particles)
 
- Public Member Functions inherited from Chaos::FSimulationModuleTypeContainer
void AddType (FName InType)
 
bool IsSimType (FName InType) const
 
FName GetSimType () const
 
template<typename U >
bool IsSimType () const
 
template<typename U >
U * Cast ()
 
template<typename U >
const U * Cast () const
 
- Public Member Functions inherited from Chaos::TSimulationModuleTypeableBase< ISimulationModuleBase >
 TSimulationModuleTypeableBase ()
 
- Public Member Functions inherited from Chaos::TSimModuleSettings< FWheelSettings >
 TSimModuleSettings (const FWheelSettings &SetupIn)
 
FORCEINLINE FWheelSettingsAccessSetup ()
 
FORCEINLINE const FWheelSettingsSetup () const
 

Additional Inherited Members

- Static Public Member Functions inherited from Chaos::FTorqueSimModule
static FTorqueSimModuleCastToTorqueInterface (ISimulationModuleBase *SimModule)
 
- Static Public Member Functions inherited from Chaos::FSimulationModuleTypeContainer
template<typename U >
static FName GetStaticSimType ()
 
- Static Public Member Functions inherited from Chaos::TSimulationModuleTypeableBase< ISimulationModuleBase >
static FName StaticSimTypeBase ()
 
- Public Attributes inherited from Chaos::ISimulationModuleBase
bool IsInitialized = false
 
- Public Attributes inherited from Chaos::FSimulationModuleTypeContainer
TSet< FNameMyTypes
 
FName MostRecentAdd = NAME_None
 
- Static Public Attributes inherited from Chaos::ISimulationModuleBase
static const int INVALID_IDX = -1
 
- Protected Attributes inherited from Chaos::FWheelBaseInterface
int SuspensionSimTreeIndex
 
float SurfaceFriction
 
float ForceIntoSurface
 
- Protected Attributes inherited from Chaos::FTorqueSimModule
float DriveTorque
 
float LoadTorque
 
float BrakingTorque
 
float AngularVelocity
 
float AngularPosition
 
- Protected Attributes inherited from Chaos::ISimulationModuleBase
FSimModuleTreeSimModuleTree
 
int SimTreeIndex
 
eSimModuleState StateFlags
 
int TransformIndex
 
FUniqueIdx ParticleIdx
 
FTransform InitialParticleTransform
 
FTransform RelativeOffsetTransform
 
FTransform ComponentTransform
 
FTransform ClusteredCOMRelativeTransform
 
FTransform IntactCOMRelativeTransform
 
FVector LocalLinearVelocity
 
FVector LocalAngularVelocity
 
bool bClustered
 
bool bAnimationEnabled
 
FVector AnimationOffset
 
FSimModuleAnimationData AnimationData
 
FVector AppliedForce
 
int Guid
 
FPBDRigidClusteredParticleHandleCachedParticle
 

Constructor & Destructor Documentation

◆ FWheelSimModule()

Chaos::FWheelSimModule::FWheelSimModule ( const FWheelSettings Settings)

Member Function Documentation

◆ Animate()

void Chaos::FWheelSimModule::Animate ( )
overridevirtual

Animate/modify the childToParent transforms, to say rotate a wheel, or rudder, etc

Reimplemented from Chaos::ISimulationModuleBase.

◆ DEFINE_CHAOSSIMTYPENAME()

Chaos::FWheelSimModule::DEFINE_CHAOSSIMTYPENAME ( FWheelSimModule  )

◆ GenerateNetData()

virtual TSharedPtr< FModuleNetData > Chaos::FWheelSimModule::GenerateNetData ( const int32  SimArrayIndex) const
inlineoverridevirtual

◆ GenerateOutputData()

virtual FSimOutputData * Chaos::FWheelSimModule::GenerateOutputData ( ) const
inlineoverridevirtual

Reimplemented from Chaos::ISimulationModuleBase.

◆ GetDebugName()

virtual const FString Chaos::FWheelSimModule::GetDebugName ( ) const
inlinevirtual

Get the friendly name for this module, primarily for logging & debugging module tree

Implements Chaos::ISimulationModuleBase.

◆ GetDebugString()

bool Chaos::FWheelSimModule::GetDebugString ( FString &  StringOut) const
overridevirtual

Option to return debug text for drawing on the HUD in the Game Thread

Reimplemented from Chaos::ISimulationModuleBase.

◆ GetEffectiveRadius()

float Chaos::FWheelSimModule::GetEffectiveRadius ( ) const
inline

Get the radius of the wheel [cm]

◆ GetForceFromFriction()

FVector Chaos::FWheelSimModule::GetForceFromFriction ( ) const
inline

◆ GetLinearSpeed()

float Chaos::FWheelSimModule::GetLinearSpeed ( )
inline

get linear forwards speed from angluar velocity and wheel radius

◆ GetSteerAngleDegrees()

float Chaos::FWheelSimModule::GetSteerAngleDegrees ( ) const
inline

◆ GetWheelRadius()

virtual float Chaos::FWheelSimModule::GetWheelRadius ( ) const
inlineoverridevirtual

◆ IsBehaviourType()

virtual bool Chaos::FWheelSimModule::IsBehaviourType ( eSimModuleTypeFlags  InType) const
inlineoverridevirtual

Is Module of a specific type - used for casting

Reimplemented from Chaos::FTorqueSimModule.

◆ SetLinearSpeed()

void Chaos::FWheelSimModule::SetLinearSpeed ( float  LinearMetersPerSecondIn)
inline

set wheel rotational speed to match the specified linear forwards speed

◆ Simulate()

void Chaos::FWheelSimModule::Simulate ( float  DeltaTime,
const FAllInputs Inputs,
FSimModuleTree VehicleModuleSystem 
)
overridevirtual

The main Simulation function that is called from the physics async callback thread

Reimplemented from Chaos::ISimulationModuleBase.


The documentation for this class was generated from the following files: