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

#include <PBDSpringConstraints.h>

+ Inheritance diagram for Chaos::Softs::FPBDSpringConstraints:

Public Member Functions

template<int32 Valence>
 FPBDSpringConstraints (const FSolverParticlesRange &Particles, const TArray< TVector< int32, Valence > > &InConstraints, const TConstArrayView< FRealSingle > &StiffnessMultipliers, const FSolverVec2 &InStiffness, bool bTrimKinematicConstraints=false, bool bInitColor=true, typename TEnableIf< Valence >=2 &&Valence<=4 >::Type *=nullptr)
 
template<int32 Valence>
 FPBDSpringConstraints (const FSolverParticles &Particles, int32 InParticleOffset, int32 InParticleCount, const TArray< TVector< int32, Valence > > &InConstraints, const TConstArrayView< FRealSingle > &StiffnessMultipliers, const FSolverVec2 &InStiffness, bool bTrimKinematicConstraints=false, bool bInitColor=true, typename TEnableIf< Valence >=2 &&Valence<=4 >::Type *=nullptr)
 
virtual ~FPBDSpringConstraints () override
 
template<typename SolverParticlesOrRange >
CHAOS_API void Apply (SolverParticlesOrRange &Particles, const FSolverReal Dt) const
 
const TArray< int32 > & GetConstraintsPerColorStartIndex () const
 
template<typename SolverParticlesOrRange >
TArray< int32InitColor (const SolverParticlesOrRange &Particles)
 
template<typename SolverParticlesOrRange >
void Apply (SolverParticlesOrRange &Particles, const FSolverReal Dt) const
 
- Public Member Functions inherited from Chaos::Softs::FPBDSpringConstraintsBase
template<int32 Valence UE_REQUIRES>
 FPBDSpringConstraintsBase (const FSolverParticlesRange &Particles, const TArray< TVector< int32, Valence > > &InConstraints, const TConstArrayView< FRealSingle > &StiffnessMultipliers, const FSolverVec2 &InStiffness, bool bTrimKinematicConstraints=false, FSolverReal MaxStiffness=FPBDStiffness::DefaultPBDMaxStiffness)
 
template<int32 Valence UE_REQUIRES>
 FPBDSpringConstraintsBase (const FSolverParticles &Particles, int32 InParticleOffset, int32 InParticleCount, const TArray< TVector< int32, Valence > > &InConstraints, const TConstArrayView< FRealSingle > &StiffnessMultipliers, const FSolverVec2 &InStiffness, bool bTrimKinematicConstraints=false, FSolverReal MaxStiffness=FPBDStiffness::DefaultPBDMaxStiffness)
 
virtual ~FPBDSpringConstraintsBase ()
 
void SetProperties (const FSolverVec2 &InStiffness)
 
void ApplyProperties (const FSolverReal Dt, const int32 NumIterations)
 
const TArray< TVec2< int32 > > & GetConstraints () const
 
void ResetRestLengths (const TConstArrayView< FSolverVec3 > &Positions)
 

Protected Types

typedef FPBDSpringConstraintsBase Base
 

Protected Member Functions

template<typename SolverParticlesOrRange >
CHAOS_API TArray< int32InitColor (const SolverParticlesOrRange &InParticles)
 
- Protected Member Functions inherited from Chaos::Softs::FPBDSpringConstraintsBase
template<typename SolverParticlesOrRange >
FSolverVec3 GetDelta (const SolverParticlesOrRange &Particles, const int32 ConstraintIndex, const FSolverReal ExpStiffnessValue) const
 
void CalculateRestLengths (const TConstArrayView< FSolverVec3 > &Positions, const TArrayView< FSolverReal > &DistsToCompute) const
 

Protected Attributes

TArray< TVec2< int32 > > Constraints
 
FPBDStiffness Stiffness
 
const int32 ParticleOffset
 
const int32 ParticleCount
 
- Protected Attributes inherited from Chaos::Softs::FPBDSpringConstraintsBase
TArray< TVec2< int32 > > Constraints
 
TArray< FSolverRealDists
 
const int32 ParticleOffset
 
const int32 ParticleCount
 
FPBDStiffness Stiffness
 

Member Typedef Documentation

◆ Base

Constructor & Destructor Documentation

◆ FPBDSpringConstraints() [1/2]

template<int32 Valence>
Chaos::Softs::FPBDSpringConstraints::FPBDSpringConstraints ( const FSolverParticlesRange Particles,
const TArray< TVector< int32, Valence > > &  InConstraints,
const TConstArrayView< FRealSingle > &  StiffnessMultipliers,
const FSolverVec2 InStiffness,
bool  bTrimKinematicConstraints = false,
bool  bInitColor = true,
typename TEnableIf< Valence = 2 && Valence <= 4,
::Type *  = nullptr 
)
inline

◆ FPBDSpringConstraints() [2/2]

template<int32 Valence>
Chaos::Softs::FPBDSpringConstraints::FPBDSpringConstraints ( const FSolverParticles Particles,
int32  InParticleOffset,
int32  InParticleCount,
const TArray< TVector< int32, Valence > > &  InConstraints,
const TConstArrayView< FRealSingle > &  StiffnessMultipliers,
const FSolverVec2 InStiffness,
bool  bTrimKinematicConstraints = false,
bool  bInitColor = true,
typename TEnableIf< Valence = 2 && Valence <= 4,
::Type *  = nullptr 
)
inline

◆ ~FPBDSpringConstraints()

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

Member Function Documentation

◆ Apply() [1/2]

void Chaos::Softs::FPBDSpringConstraints::Apply ( SolverParticlesOrRange Particles,
const FSolverReal  Dt 
) const

◆ Apply() [2/2]

CHAOS_API void Chaos::Softs::FPBDSpringConstraints::Apply ( SolverParticlesOrRange Particles,
const FSolverReal  Dt 
) const

◆ GetConstraintsPerColorStartIndex()

const TArray< int32 > & Chaos::Softs::FPBDSpringConstraints::GetConstraintsPerColorStartIndex ( ) const
inline

◆ InitColor() [1/2]

CHAOS_API TArray< int32 > Chaos::Softs::FPBDSpringConstraints::InitColor ( const SolverParticlesOrRange InParticles)
protected

◆ InitColor() [2/2]

TArray< int32 > Chaos::Softs::FPBDSpringConstraints::InitColor ( const SolverParticlesOrRange Particles)

Member Data Documentation

◆ Constraints

TArray<TVec2<int32> > Chaos::Softs::FPBDSpringConstraintsBase::Constraints
protected

◆ ParticleCount

const int32 Chaos::Softs::FPBDSpringConstraintsBase::ParticleCount
protected

◆ ParticleOffset

const int32 Chaos::Softs::FPBDSpringConstraintsBase::ParticleOffset
protected

◆ Stiffness

FPBDStiffness Chaos::Softs::FPBDSpringConstraintsBase::Stiffness
protected

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