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

#include <PBDLongRangeConstraintsBase.h>

+ Inheritance diagram for Chaos::Softs::FPBDLongRangeConstraintsBase:

Public Types

typedef TTuple< int32, int32, FRealSingleFTether
 

Public Member Functions

 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 MinTetherScale = (FSolverReal)0.01
 
static constexpr FSolverReal MaxTetherScale = (FSolverReal)10.
 

Protected Member Functions

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

static CHAOS_API int32 GetMinParallelBatchSize ()
 

Protected Attributes

const TArray< TConstArrayView< FTether > > & Tethers
 
const int32 ParticleOffset
 
const int32 ParticleCount
 
FPBDStiffness Stiffness
 
FPBDWeightMap TetherScale
 

Static Protected Attributes

static constexpr int32 TableSize = 16
 

Member Typedef Documentation

◆ FTether

Constructor & Destructor Documentation

◆ FPBDLongRangeConstraintsBase() [1/2]

Chaos::Softs::FPBDLongRangeConstraintsBase::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. 
)

◆ FPBDLongRangeConstraintsBase() [2/2]

Chaos::Softs::FPBDLongRangeConstraintsBase::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. 
)

◆ ~FPBDLongRangeConstraintsBase()

virtual PRAGMA_DISABLE_DEPRECATION_WARNINGS Chaos::Softs::FPBDLongRangeConstraintsBase::~FPBDLongRangeConstraintsBase ( )
inlinevirtual

Member Function Documentation

◆ ApplyProperties()

void Chaos::Softs::FPBDLongRangeConstraintsBase::ApplyProperties ( const FSolverReal  Dt,
const int32  NumIterations 
)
inline

◆ GetDelta() [1/2]

FSolverVec3 Chaos::Softs::FPBDLongRangeConstraintsBase::GetDelta ( const SolverParticlesOrRange Particles,
const FTether Tether,
const FSolverReal  InScale 
) const
inlineprotected

◆ GetDelta() [2/2]

void Chaos::Softs::FPBDLongRangeConstraintsBase::GetDelta ( const SolverParticlesOrRange Particles,
const FTether Tether,
const FSolverReal  InScale,
FSolverVec3 OutDirection,
FSolverReal OutOffset 
) const
inlineprotected

◆ GetEndIndex()

int32 Chaos::Softs::FPBDLongRangeConstraintsBase::GetEndIndex ( const FTether Tether) const
inline

◆ GetEndParticle()

int32 Chaos::Softs::FPBDLongRangeConstraintsBase::GetEndParticle ( const FTether Tether) const
inline

◆ GetMinParallelBatchSize()

int32 Chaos::Softs::FPBDLongRangeConstraintsBase::GetMinParallelBatchSize ( )
staticprotected

◆ GetRefLength()

FSolverReal Chaos::Softs::FPBDLongRangeConstraintsBase::GetRefLength ( const FTether Tether) const
inline

◆ GetScale()

FSolverReal Chaos::Softs::FPBDLongRangeConstraintsBase::GetScale ( const FTether Tether) const
inline

◆ GetStartIndex()

int32 Chaos::Softs::FPBDLongRangeConstraintsBase::GetStartIndex ( const FTether Tether) const
inline

◆ GetStartParticle()

int32 Chaos::Softs::FPBDLongRangeConstraintsBase::GetStartParticle ( const FTether Tether) const
inline

◆ GetStiffness()

PRAGMA_ENABLE_DEPRECATION_WARNINGS FSolverVec2 Chaos::Softs::FPBDLongRangeConstraintsBase::GetStiffness ( ) const
inline

◆ GetTargetLength()

FSolverReal Chaos::Softs::FPBDLongRangeConstraintsBase::GetTargetLength ( const FTether Tether) const
inline

◆ GetTethers()

const TArray< TConstArrayView< FTether > > & Chaos::Softs::FPBDLongRangeConstraintsBase::GetTethers ( ) const
inline

◆ SetProperties()

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

◆ UE_NONCOPYABLE()

Chaos::Softs::FPBDLongRangeConstraintsBase::UE_NONCOPYABLE ( FPBDLongRangeConstraintsBase  )

Member Data Documentation

◆ MaxTetherScale

constexpr FSolverReal Chaos::Softs::FPBDLongRangeConstraintsBase::MaxTetherScale = (FSolverReal)10.
staticconstexpr

◆ MinTetherScale

constexpr FSolverReal Chaos::Softs::FPBDLongRangeConstraintsBase::MinTetherScale = (FSolverReal)0.01
staticconstexpr

◆ ParticleCount

const int32 Chaos::Softs::FPBDLongRangeConstraintsBase::ParticleCount
protected

◆ ParticleOffset

const int32 Chaos::Softs::FPBDLongRangeConstraintsBase::ParticleOffset
protected

◆ Stiffness

FPBDStiffness Chaos::Softs::FPBDLongRangeConstraintsBase::Stiffness
protected

◆ TableSize

constexpr int32 Chaos::Softs::FPBDLongRangeConstraintsBase::TableSize = 16
staticconstexprprotected

◆ Tethers

const TArray<TConstArrayView<FTether> >& Chaos::Softs::FPBDLongRangeConstraintsBase::Tethers
protected

◆ TetherScale

FPBDWeightMap Chaos::Softs::FPBDLongRangeConstraintsBase::TetherScale
protected

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