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

#include <AerofoilModule.h>

+ Inheritance diagram for Chaos::FAerofoilSimModule:

Public Member Functions

 DEFINE_CHAOSSIMTYPENAME (FAerofoilSimModule)
 
UE_API FAerofoilSimModule (const FAerofoilSettings &Settings)
 
virtual ~FAerofoilSimModule ()
 
virtual TSharedPtr< FModuleNetDataGenerateNetData (const int32 NodeArrayIndex) const override
 
virtual FSimOutputDataGenerateOutputData () const override
 
virtual const FString GetDebugName () const
 
virtual bool IsBehaviourType (eSimModuleTypeFlags InType) const override
 
virtual UE_API void Simulate (float DeltaTime, const FAllInputs &Inputs, FSimModuleTree &VehicleModuleSystem) override
 
virtual UE_API void Animate () override
 
void SetDensityOfMedium (float InDensity)
 
void SetControlSurface (float CtrlSurfaceInput)
 
UE_API FVector GetCenterOfLiftOffset ()
 
UE_API FVector GetForce (const FVector &v, float Altitude, float DeltaTime)
 
UE_API float CalcDynamicPressure (float VelocitySqr, float InAltitude)
 
UE_API float CalcCentreOfLift ()
 
UE_API float CalcDragCoefficient (float InAngleOfAttack, float InControlSurfaceAngle)
 
UE_API float CalcLiftCoefficient (float InAngleOfAttack, float InControlSurfaceAngle)
 
UE_API float CalcAngleOfAttackDegrees (const FVector &UpAxis, const FVector &InAirflowVector)
 
- 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 ()
 
virtual UE_API bool GetDebugString (FString &StringOut) const
 
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< FAerofoilSettings >
 TSimModuleSettings (const FAerofoilSettings &SetupIn)
 
FORCEINLINE FAerofoilSettingsAccessSetup ()
 
FORCEINLINE const FAerofoilSettingsSetup () const
 

Public Attributes

float CurrentAirDensity
 
float AngleOfAttack
 
float ControlSurfaceAngle
 
FVector AirflowNormal
 
int AerofoilId
 
- Public Attributes inherited from Chaos::ISimulationModuleBase
bool IsInitialized = false
 
- Public Attributes inherited from Chaos::FSimulationModuleTypeContainer
TSet< FNameMyTypes
 
FName MostRecentAdd = NAME_None
 

Additional Inherited Members

- 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 ()
 
- Static Public Attributes inherited from Chaos::ISimulationModuleBase
static const int INVALID_IDX = -1
 
- 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

◆ FAerofoilSimModule()

Chaos::FAerofoilSimModule::FAerofoilSimModule ( const FAerofoilSettings Settings)

◆ ~FAerofoilSimModule()

virtual Chaos::FAerofoilSimModule::~FAerofoilSimModule ( )
inlinevirtual

Member Function Documentation

◆ Animate()

void Chaos::FAerofoilSimModule::Animate ( )
overridevirtual

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

Reimplemented from Chaos::ISimulationModuleBase.

◆ CalcAngleOfAttackDegrees()

float Chaos::FAerofoilSimModule::CalcAngleOfAttackDegrees ( const FVector UpAxis,
const FVector InAirflowVector 
)

Angle of attack is the angle between the aerofoil and the airflow vector

◆ CalcCentreOfLift()

float Chaos::FAerofoilSimModule::CalcCentreOfLift ( )

Center of lift moves fore/aft based on current AngleOfAttack

◆ CalcDragCoefficient()

float Chaos::FAerofoilSimModule::CalcDragCoefficient ( float  InAngleOfAttack,
float  InControlSurfaceAngle 
)

Returns drag coefficient for the current angle of attack of the aerofoil surface

◆ CalcDynamicPressure()

float Chaos::FAerofoilSimModule::CalcDynamicPressure ( float  VelocitySqr,
float  InAltitude 
)

Dynamic air pressure = 0.5 * AirDensity * Vsqr

◆ CalcLiftCoefficient()

float Chaos::FAerofoilSimModule::CalcLiftCoefficient ( float  InAngleOfAttack,
float  InControlSurfaceAngle 
)

Returns lift coefficient for the current angle of attack of the aerofoil surface Cheating by making control surface part of entire aerofoil movement

◆ DEFINE_CHAOSSIMTYPENAME()

Chaos::FAerofoilSimModule::DEFINE_CHAOSSIMTYPENAME ( FAerofoilSimModule  )

◆ GenerateNetData()

virtual TSharedPtr< FModuleNetData > Chaos::FAerofoilSimModule::GenerateNetData ( const int32  NodeArrayIndex) const
inlineoverridevirtual

◆ GenerateOutputData()

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

Reimplemented from Chaos::ISimulationModuleBase.

◆ GetCenterOfLiftOffset()

FVector Chaos::FAerofoilSimModule::GetCenterOfLiftOffset ( )

◆ GetDebugName()

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

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

Implements Chaos::ISimulationModuleBase.

◆ GetForce()

FVector Chaos::FAerofoilSimModule::GetForce ( const FVector v,
float  Altitude,
float  DeltaTime 
)

◆ IsBehaviourType()

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

Is Module of a specific behavioral data type

Implements Chaos::ISimulationModuleBase.

◆ SetControlSurface()

void Chaos::FAerofoilSimModule::SetControlSurface ( float  CtrlSurfaceInput)
inline

◆ SetDensityOfMedium()

void Chaos::FAerofoilSimModule::SetDensityOfMedium ( float  InDensity)
inline

◆ Simulate()

void Chaos::FAerofoilSimModule::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.

Member Data Documentation

◆ AerofoilId

int Chaos::FAerofoilSimModule::AerofoilId

◆ AirflowNormal

FVector Chaos::FAerofoilSimModule::AirflowNormal

◆ AngleOfAttack

float Chaos::FAerofoilSimModule::AngleOfAttack

◆ ControlSurfaceAngle

float Chaos::FAerofoilSimModule::ControlSurfaceAngle

◆ CurrentAirDensity

float Chaos::FAerofoilSimModule::CurrentAirDensity

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