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

#include <XPBDLongRangeConstraints.h>

+ Inheritance diagram for Chaos::Softs::FXPBDLongRangeConstraints:

Public Types

typedef FPBDLongRangeConstraintsBase Base
 
typedef Base::FTether FTether
 
- Public Types inherited from Chaos::Softs::FPBDLongRangeConstraintsBase
typedef TTuple< int32, int32, FRealSingleFTether
 

Public Member Functions

 FXPBDLongRangeConstraints (const FSolverParticles &Particles, const int32 InParticleOffset, const int32 InParticleCount, const TArray< TConstArrayView< TTuple< int32, int32, FRealSingle > > > &InTethers, const TMap< FString, TConstArrayView< FRealSingle > > &WeightMaps, const FCollectionPropertyConstFacade &PropertyCollection, FSolverReal MeshScale)
 
 FXPBDLongRangeConstraints (const FSolverParticles &Particles, const int32 InParticleOffset, const int32 InParticleCount, const TArray< TConstArrayView< TTuple< int32, int32, FRealSingle > > > &InTethers, const TConstArrayView< FRealSingle > &StiffnessMultipliers, const TConstArrayView< FRealSingle > &ScaleMultipliers, const FSolverVec2 &InStiffness=FSolverVec2::UnitVector, const FSolverVec2 &InScale=FSolverVec2::UnitVector)
 
virtual ~FXPBDLongRangeConstraints () override
 
void SetProperties (const FCollectionPropertyConstFacade &PropertyCollection, const TMap< FString, TConstArrayView< FRealSingle > > &WeightMaps, FSolverReal MeshScale)
 
void SetProperties (const FSolverVec2 &InStiffness, const FSolverVec2 &InTetherScale, FSolverReal MeshScale=(FSolverReal) 1)
 
void ApplyProperties (const FSolverReal, const int32)
 
void Init () const
 
void Apply (FSolverParticles &Particles, const FSolverReal Dt) const
 
- Public Member Functions inherited from Chaos::Softs::FPBDLongRangeConstraintsBase
 UE_NONCOPYABLE (FPBDLongRangeConstraintsBase)
 
CHAOS_API FPBDLongRangeConstraintsBase (const FSolverParticlesRange &Particles, const TArray< TConstArrayView< TTuple< int32, int32, FRealSingle > > > &InTethers, const TConstArrayView< FRealSingle > &StiffnessMultipliers, const TConstArrayView< FRealSingle > &ScaleMultipliers, const FSolverVec2 &InStiffness=FSolverVec2::UnitVector, const FSolverVec2 &InScale=FSolverVec2::UnitVector, FSolverReal MaxStiffness=FPBDStiffness::DefaultPBDMaxStiffness, FSolverReal MeshScale=(FSolverReal) 1.)
 
CHAOS_API FPBDLongRangeConstraintsBase (const FSolverParticles &Particles, const int32 InParticleOffset, const int32 InParticleCount, const TArray< TConstArrayView< TTuple< int32, int32, FRealSingle > > > &InTethers, const TConstArrayView< FRealSingle > &StiffnessMultipliers, const TConstArrayView< FRealSingle > &ScaleMultipliers, const FSolverVec2 &InStiffness=FSolverVec2::UnitVector, const FSolverVec2 &InScale=FSolverVec2::UnitVector, FSolverReal MaxStiffness=FPBDStiffness::DefaultPBDMaxStiffness, FSolverReal MeshScale=(FSolverReal) 1.)
 
virtual PRAGMA_DISABLE_DEPRECATION_WARNINGS ~FPBDLongRangeConstraintsBase ()
 
PRAGMA_ENABLE_DEPRECATION_WARNINGS FSolverVec2 GetStiffness () const
 
void SetProperties (const FSolverVec2 &InStiffness, const FSolverVec2 &InTetherScale, FSolverReal MeshScale=(FSolverReal) 1.)
 
void ApplyProperties (const FSolverReal Dt, const int32 NumIterations)
 
const TArray< TConstArrayView< FTether > > & GetTethers () const
 
int32 GetStartIndex (const FTether &Tether) const
 
int32 GetStartParticle (const FTether &Tether) const
 
int32 GetEndIndex (const FTether &Tether) const
 
int32 GetEndParticle (const FTether &Tether) const
 
FSolverReal GetRefLength (const FTether &Tether) const
 
FSolverReal GetScale (const FTether &Tether) const
 
FSolverReal GetTargetLength (const FTether &Tether) const
 

Static Public Attributes

static constexpr FSolverReal MinStiffness = (FSolverReal)1e-1
 
static constexpr FSolverReal MaxStiffness = (FSolverReal)1e7
 
- Static Public Attributes inherited from Chaos::Softs::FPBDLongRangeConstraintsBase
static constexpr FSolverReal MinTetherScale = (FSolverReal)0.01
 
static constexpr FSolverReal MaxTetherScale = (FSolverReal)10.
 

Additional Inherited Members

- Protected Member Functions inherited from Chaos::Softs::FPBDLongRangeConstraintsBase
template<typename SolverParticlesOrRange >
FSolverVec3 GetDelta (const SolverParticlesOrRange &Particles, const FTether &Tether, const FSolverReal InScale) const
 
template<typename SolverParticlesOrRange >
void GetDelta (const SolverParticlesOrRange &Particles, const FTether &Tether, const FSolverReal InScale, FSolverVec3 &OutDirection, FSolverReal &OutOffset) const
 
- Static Protected Member Functions inherited from Chaos::Softs::FPBDLongRangeConstraintsBase
static CHAOS_API int32 GetMinParallelBatchSize ()
 
- Protected Attributes inherited from Chaos::Softs::FPBDLongRangeConstraintsBase
const TArray< TConstArrayView< FTether > > & Tethers
 
const int32 ParticleOffset
 
const int32 ParticleCount
 
FPBDStiffness Stiffness
 
FPBDWeightMap TetherScale
 
- Static Protected Attributes inherited from Chaos::Softs::FPBDLongRangeConstraintsBase
static constexpr int32 TableSize = 16
 

Member Typedef Documentation

◆ Base

◆ FTether

Constructor & Destructor Documentation

◆ FXPBDLongRangeConstraints() [1/2]

Chaos::Softs::FXPBDLongRangeConstraints::FXPBDLongRangeConstraints ( const FSolverParticles Particles,
const int32  InParticleOffset,
const int32  InParticleCount,
const TArray< TConstArrayView< TTuple< int32, int32, FRealSingle > > > &  InTethers,
const TMap< FString, TConstArrayView< FRealSingle > > &  WeightMaps,
const FCollectionPropertyConstFacade PropertyCollection,
FSolverReal  MeshScale 
)
inline

◆ FXPBDLongRangeConstraints() [2/2]

Chaos::Softs::FXPBDLongRangeConstraints::FXPBDLongRangeConstraints ( const FSolverParticles Particles,
const int32  InParticleOffset,
const int32  InParticleCount,
const TArray< TConstArrayView< TTuple< int32, int32, FRealSingle > > > &  InTethers,
const TConstArrayView< FRealSingle > &  StiffnessMultipliers,
const TConstArrayView< FRealSingle > &  ScaleMultipliers,
const FSolverVec2 InStiffness = FSolverVec2::UnitVector,
const FSolverVec2 InScale = FSolverVec2::UnitVector 
)
inline

◆ ~FXPBDLongRangeConstraints()

virtual Chaos::Softs::FXPBDLongRangeConstraints::~FXPBDLongRangeConstraints ( )
inlineoverridevirtual

Member Function Documentation

◆ Apply()

void Chaos::Softs::FXPBDLongRangeConstraints::Apply ( FSolverParticles Particles,
const FSolverReal  Dt 
) const
inline

◆ ApplyProperties()

void Chaos::Softs::FXPBDLongRangeConstraints::ApplyProperties ( const FSolverReal  ,
const int32   
)
inline

◆ Init()

void Chaos::Softs::FXPBDLongRangeConstraints::Init ( ) const
inline

◆ SetProperties() [1/2]

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

◆ SetProperties() [2/2]

void Chaos::Softs::FXPBDLongRangeConstraints::SetProperties ( const FSolverVec2 InStiffness,
const FSolverVec2 InTetherScale,
FSolverReal  MeshScale = (FSolverReal)1 
)
inline

Member Data Documentation

◆ MaxStiffness

constexpr FSolverReal Chaos::Softs::FXPBDLongRangeConstraints::MaxStiffness = (FSolverReal)1e7
staticconstexpr

◆ MinStiffness

constexpr FSolverReal Chaos::Softs::FXPBDLongRangeConstraints::MinStiffness = (FSolverReal)1e-1
staticconstexpr

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