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

#include <SoftsExternalForces.h>

+ Inheritance diagram for Chaos::Softs::FExternalForces:

Public Member Functions

 FExternalForces (const FSolverParticlesRange &Particles, const TArray< FSolverVec3 > &InNormals, const TMap< FString, TConstArrayView< FRealSingle > > &WeightMaps, const FCollectionPropertyConstFacade &PropertyCollection)
 
void SetWorldGravityMultiplier (FSolverReal InWorldGravityMultiplier)
 
void SetSolverGravityProperties (const FSolverVec3 &InSolverGravity, bool bInPerSoftBodyGravityOverrideEnabled)
 
void SetFictitiousForcesData (const FSolverVec3 &InFictitiousAngularVelocityNoScale, const FSolverVec3 &InReferenceSpaceLocation)
 
void SetSolverWind (const FSolverVec3 &SolverWind, const FSolverReal InLegacyWindAdaptation)
 
void SetProperties (const FCollectionPropertyConstFacade &PropertyCollection, const TMap< FString, TConstArrayView< FRealSingle > > &WeightMaps)
 
- Public Member Functions inherited from Chaos::Softs::FExternalForcesBase
 FExternalForcesBase (const FSolverParticlesRange &Particles, const FSolverVec3 &InGravity, const FSolverVec2 &InGravityScale, const TConstArrayView< FRealSingle > &InGravityScaleMultipliers, const TArray< FSolverVec3 > &InNormals)
 
virtual ~FExternalForcesBase ()
 
void Apply (FSolverParticlesRange &Particles, const FSolverReal Dt) const
 
void UpdateLinearSystem (const FSolverParticlesRange &Particles, const FSolverReal Dt, FEvolutionLinearSystem &LinearSystem) const
 
bool UsePointBasedWindModel () const
 
const FSolverVec3GetGravity () const
 
bool HasPerParticleGravity () const
 
FSolverVec3 GetScaledGravity (int32 ParticleIndex) const
 
const FSolverVec3GetFictitiousAngularVelocity () const
 
const FSolverVec3GetReferenceSpaceLocation () const
 

Static Public Attributes

static constexpr FSolverReal DefaultGravityScale = (FSolverReal)1.f
 
static constexpr FSolverReal DefaultGravityZOverride = (FSolverReal)-980.665f
 
static constexpr bool bDefaultUseGravityOverride = false
 
static constexpr FSolverReal DefaultFictitiousAngularScale = (FSolverReal)1.f
 
static constexpr bool bDefaultUsePointBasedWindModel = false
 

Additional Inherited Members

- Protected Attributes inherited from Chaos::Softs::FExternalForcesBase
FSolverVec3 Gravity
 
bool bApplyGravityScale
 
FPBDFlatWeightMap GravityScale
 
FSolverVec3 FictitiousAngularVelocity
 
FSolverVec3 ReferenceSpaceLocation
 
bool bUsePointBasedWindModel
 
FSolverVec3 PointBasedWind
 
FSolverReal LegacyWindAdaptation
 
const TArray< FSolverVec3 > & Normals
 

Constructor & Destructor Documentation

◆ FExternalForces()

Chaos::Softs::FExternalForces::FExternalForces ( const FSolverParticlesRange Particles,
const TArray< FSolverVec3 > &  InNormals,
const TMap< FString, TConstArrayView< FRealSingle > > &  WeightMaps,
const FCollectionPropertyConstFacade PropertyCollection 
)
inline

Member Function Documentation

◆ SetFictitiousForcesData()

void Chaos::Softs::FExternalForces::SetFictitiousForcesData ( const FSolverVec3 InFictitiousAngularVelocityNoScale,
const FSolverVec3 InReferenceSpaceLocation 
)
inline

◆ SetProperties()

void Chaos::Softs::FExternalForces::SetProperties ( const FCollectionPropertyConstFacade PropertyCollection,
const TMap< FString, TConstArrayView< FRealSingle > > &  WeightMaps 
)
inline

This should be called after all other data is set as it will populate the final base class values.

◆ SetSolverGravityProperties()

void Chaos::Softs::FExternalForces::SetSolverGravityProperties ( const FSolverVec3 InSolverGravity,
bool  bInPerSoftBodyGravityOverrideEnabled 
)
inline

◆ SetSolverWind()

void Chaos::Softs::FExternalForces::SetSolverWind ( const FSolverVec3 SolverWind,
const FSolverReal  InLegacyWindAdaptation 
)
inline

◆ SetWorldGravityMultiplier()

void Chaos::Softs::FExternalForces::SetWorldGravityMultiplier ( FSolverReal  InWorldGravityMultiplier)
inline

Member Data Documentation

◆ bDefaultUseGravityOverride

constexpr bool Chaos::Softs::FExternalForces::bDefaultUseGravityOverride = false
staticconstexpr

◆ bDefaultUsePointBasedWindModel

constexpr bool Chaos::Softs::FExternalForces::bDefaultUsePointBasedWindModel = false
staticconstexpr

◆ DefaultFictitiousAngularScale

constexpr FSolverReal Chaos::Softs::FExternalForces::DefaultFictitiousAngularScale = (FSolverReal)1.f
staticconstexpr

◆ DefaultGravityScale

constexpr FSolverReal Chaos::Softs::FExternalForces::DefaultGravityScale = (FSolverReal)1.f
staticconstexpr

◆ DefaultGravityZOverride

constexpr FSolverReal Chaos::Softs::FExternalForces::DefaultGravityZOverride = (FSolverReal)-980.665f
staticconstexpr

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