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

#include <CollectionEmbeddedSpringConstraintFacade.h>

+ Inheritance diagram for Chaos::Softs::FEmbeddedSpringConstraintFacade:

Public Member Functions

 FEmbeddedSpringConstraintFacade ()=delete
 
 FEmbeddedSpringConstraintFacade (const FEmbeddedSpringConstraintFacade &)=delete
 
 FEmbeddedSpringConstraintFacade (FEmbeddedSpringConstraintFacade &&)=default
 
FEmbeddedSpringConstraintFacadeoperator= (const FEmbeddedSpringConstraintFacade &)=delete
 
FEmbeddedSpringConstraintFacadeoperator= (FEmbeddedSpringConstraintFacade &&)=delete
 
CHAOS_API void Reset ()
 
int32 GetConstraintIndex () const
 
CHAOS_API int32 GetNumSprings () const
 
CHAOS_API void RemoveSprings (const TArray< int32 > &SortedSpringsToRemove)
 
CHAOS_API void Initialize (const TConstArrayView< FIntVector2 > &EndPoints, const TConstArrayView< float > &InSpringLength, const TConstArrayView< float > &InExtensionStiffnesWeight=TConstArrayView< float >(), const TConstArrayView< float > &InCompressionStiffnessWeight=TConstArrayView< float >(), const TConstArrayView< float > &InDampingWeight=TConstArrayView< float >(), const FString &InConstraintName=TEXT(""))
 
CHAOS_API void Append (const TConstArrayView< FIntVector2 > &EndPoints, const TConstArrayView< float > &InSpringLength, const TConstArrayView< float > &InExtensionStiffnesWeight=TConstArrayView< float >(), const TConstArrayView< float > &InCompressionStiffnessWeight=TConstArrayView< float >(), const TConstArrayView< float > &InDampingWeight=TConstArrayView< float >())
 
CHAOS_API void Initialize (const FUintVector2 &EndPointNumIndices, const TConstArrayView< TArray< int32 > > &InSourceIndices, const TConstArrayView< TArray< float > > &InSourceWeights, const TConstArrayView< TArray< int32 > > &InTargetIndices, const TConstArrayView< TArray< float > > &InTargetWeights, const TConstArrayView< float > &InSpringLength, const TConstArrayView< float > &InExtensionStiffnesWeight=TConstArrayView< float >(), const TConstArrayView< float > &InCompressionStiffnessWeight=TConstArrayView< float >(), const TConstArrayView< float > &InDampingWeight=TConstArrayView< float >(), const FString &InConstraintName=TEXT(""))
 
CHAOS_API void Append (const TConstArrayView< TArray< int32 > > &InSourceIndices, const TConstArrayView< TArray< float > > &InSourceWeights, const TConstArrayView< TArray< int32 > > &InTargetIndices, const TConstArrayView< TArray< float > > &InTargetWeights, const TConstArrayView< float > &InSpringLength, const TConstArrayView< float > &InExtensionStiffnesWeight=TConstArrayView< float >(), const TConstArrayView< float > &InCompressionStiffnessWeight=TConstArrayView< float >(), const TConstArrayView< float > &InDampingWeight=TConstArrayView< float >())
 
FUintVector2 GetConstraintEndPointNumIndices () const
 
const FString & GetConstraintName () const
 
void SetConstraintName (const FString &InName)
 
CHAOS_API TArrayView< floatGetSpringLength ()
 
CHAOS_API TConstArrayView< floatGetSpringLengthConst () const
 
CHAOS_API TArrayView< floatGetExtensionStiffness ()
 
CHAOS_API TConstArrayView< floatGetExtensionStiffnessConst () const
 
CHAOS_API TArrayView< floatGetCompressionStiffness ()
 
CHAOS_API TConstArrayView< floatGetCompressionStiffnessConst () const
 
CHAOS_API TArrayView< floatGetDamping ()
 
CHAOS_API TConstArrayView< floatGetDampingConst () const
 
CHAOS_API TConstArrayView< TArray< int32 > > GetSourceIndexConst () const
 
CHAOS_API TConstArrayView< TArray< float > > GetSourceWeightsConst () const
 
CHAOS_API TConstArrayView< TArray< int32 > > GetTargetIndexConst () const
 
CHAOS_API TConstArrayView< TArray< float > > GetTargetWeightsConst () const
 
CHAOS_API void SetIndicesAndWeights (const int32 SpringIndex, const TConstArrayView< int32 > &InSourceIndices, const TConstArrayView< float > &InSourceWeights, const TConstArrayView< int32 > &InTargetIndices, const TConstArrayView< float > &InTargetWeights)
 
CHAOS_API void Initialize (const FEmbeddedSpringConstraintFacade &Other, const int32 VertexOffset)
 
CHAOS_API void Append (const FEmbeddedSpringConstraintFacade &Other, const int32 VertexOffset)
 
CHAOS_API uint32 CalculateTypeHash (uint32 PreviousHash=0) const
 
CHAOS_API void CleanupAndCompactInvalidSprings ()
 
- Public Member Functions inherited from Chaos::Softs::FEmbeddedSpringBaseFacade
CHAOS_API FEmbeddedSpringBaseFacade (FManagedArrayCollection &InCollection, const FName &InVerticesGroup=FGeometryCollection::VerticesGroup)
 
CHAOS_API FEmbeddedSpringBaseFacade (const FManagedArrayCollection &InCollection, const FName &InVerticesGroup=FGeometryCollection::VerticesGroup)
 
CHAOS_API bool IsValid () const
 
CHAOS_API void DefineSchema ()
 
- Public Member Functions inherited from GeometryCollection::Facades::FPositionTargetFacade
CHAOS_API FPositionTargetFacade (FManagedArrayCollection &InCollection, const FName &InVerticesGroup=FGeometryCollection::VerticesGroup)
 
CHAOS_API FPositionTargetFacade (const FManagedArrayCollection &InCollection, const FName &InVerticesGroup=FGeometryCollection::VerticesGroup)
 
PRAGMA_DISABLE_DEPRECATION_WARNINGS FPositionTargetFacade (FPositionTargetFacade &&)=default
 
PRAGMA_ENABLE_DEPRECATION_WARNINGS CHAOS_API void DefineSchema ()
 
bool IsConst () const
 
CHAOS_API bool IsValid () const
 
CHAOS_API int32 AddPositionTarget (const FPositionTargetsData &InputData)
 
CHAOS_API FPositionTargetsData GetPositionTarget (const int32 DataIndex) const
 
int32 NumPositionTargets () const
 
CHAOS_API int32 RemoveInvalidPositionTarget ()
 
CHAOS_API int32 RemovePositionTargetBetween (TFunctionRef< bool(const int32 VertexIdx)> IsVertexGroup1, TFunctionRef< bool(const int32 VertexIdx)> IsVertexGroup2)
 

Friends

class FEmbeddedSpringFacade
 

Additional Inherited Members

- Public Types inherited from GeometryCollection::Facades::FPositionTargetFacade
typedef GeometryCollection::Facades::FSelectionFacade::FSelectionKey FBindingKey
 
- Static Public Attributes inherited from Chaos::Softs::FEmbeddedSpringBaseFacade
static CHAOS_API const FName SpringLength
 
static CHAOS_API const FName CompressionStiffness
 
static CHAOS_API const FName SpringConstraintGroupName
 
static CHAOS_API const FName ConstraintStart
 
static CHAOS_API const FName ConstraintEnd
 
static CHAOS_API const FName ConstraintEndPointNumIndices
 
static CHAOS_API const FName ConstraintName
 
- Static Public Attributes inherited from GeometryCollection::Facades::FPositionTargetFacade
static CHAOS_API const FName GroupName
 
static CHAOS_API const FName TargetIndex
 
static CHAOS_API const FName SourceIndex
 
static CHAOS_API const FName Stiffness
 
static CHAOS_API const FName Damping
 
static CHAOS_API const FName SourceName
 
static CHAOS_API const FName TargetName
 
static CHAOS_API const FName TargetWeights
 
static CHAOS_API const FName SourceWeights
 
static CHAOS_API const FName IsAnisotropic
 
static CHAOS_API const FName IsZeroRestLength
 
- Protected Attributes inherited from Chaos::Softs::FEmbeddedSpringBaseFacade
TManagedArrayAccessor< floatSpringLengthAttribute
 
TManagedArrayAccessor< floatCompressionStiffnessAttribute
 
TManagedArrayAccessor< int32ConstraintStartAttribute
 
TManagedArrayAccessor< int32ConstraintEndAttribute
 
TManagedArrayAccessor< FUintVector2ConstraintEndPointNumIndicesAttribute
 
TManagedArrayAccessor< FString > ConstraintNameAttribute
 
- Protected Attributes inherited from GeometryCollection::Facades::FPositionTargetFacade
const FManagedArrayCollectionConstCollection
 
FManagedArrayCollectionCollection = nullptr
 
const FName VerticesGroup
 
TManagedArrayAccessor< TArray< int32 > > TargetIndexAttribute
 
TManagedArrayAccessor< TArray< int32 > > SourceIndexAttribute
 
TManagedArrayAccessor< floatStiffnessAttribute
 
TManagedArrayAccessor< floatDampingAttribute
 
TManagedArrayAccessor< TArray< float > > TargetWeightsAttribute
 
TManagedArrayAccessor< TArray< float > > SourceWeightsAttribute
 
TManagedArrayAccessor< boolIsAnisotropicAttribute
 
TManagedArrayAccessor< boolIsZeroRestLengthAttribute
 

Detailed Description

Facade for managing groups of springs with the same embedding type (e.g., vertex-vertex or barycentric point-vertex)

Constructor & Destructor Documentation

◆ FEmbeddedSpringConstraintFacade() [1/3]

Chaos::Softs::FEmbeddedSpringConstraintFacade::FEmbeddedSpringConstraintFacade ( )
delete

◆ FEmbeddedSpringConstraintFacade() [2/3]

Chaos::Softs::FEmbeddedSpringConstraintFacade::FEmbeddedSpringConstraintFacade ( const FEmbeddedSpringConstraintFacade )
delete

◆ FEmbeddedSpringConstraintFacade() [3/3]

Chaos::Softs::FEmbeddedSpringConstraintFacade::FEmbeddedSpringConstraintFacade ( FEmbeddedSpringConstraintFacade &&  )
default

Member Function Documentation

◆ Append() [1/3]

void Chaos::Softs::FEmbeddedSpringConstraintFacade::Append ( const FEmbeddedSpringConstraintFacade Other,
const int32  VertexOffset 
)

Append from another constraint. Must have same ConstraintEndPointNumIndices

◆ Append() [2/3]

void Chaos::Softs::FEmbeddedSpringConstraintFacade::Append ( const TConstArrayView< FIntVector2 > &  EndPoints,
const TConstArrayView< float > &  InSpringLength,
const TConstArrayView< float > &  InExtensionStiffnesWeight = TConstArrayView<float>(),
const TConstArrayView< float > &  InCompressionStiffnessWeight = TConstArrayView<float>(),
const TConstArrayView< float > &  InDampingWeight = TConstArrayView<float>() 
)

Append from a list of Vertex-Vertex springs. Only succeeds if existing EndPointNumIndices == (1,1) Spring Indices are VerticesGroup indices. Stiffness and Damping weights are expected have a value in [0.f, 1.f]. They will be set to constant 0.f if not supplied.

◆ Append() [3/3]

void Chaos::Softs::FEmbeddedSpringConstraintFacade::Append ( const TConstArrayView< TArray< int32 > > &  InSourceIndices,
const TConstArrayView< TArray< float > > &  InSourceWeights,
const TConstArrayView< TArray< int32 > > &  InTargetIndices,
const TConstArrayView< TArray< float > > &  InTargetWeights,
const TConstArrayView< float > &  InSpringLength,
const TConstArrayView< float > &  InExtensionStiffnesWeight = TConstArrayView<float>(),
const TConstArrayView< float > &  InCompressionStiffnessWeight = TConstArrayView<float>(),
const TConstArrayView< float > &  InDampingWeight = TConstArrayView<float>() 
)

Append from a list of springs. This is generic for any number of end point indices. If you have vertex-vertex constraints, use the Append method above which skips setting weights. Source Indices and Weights arrays are expected to be exactly EndPointNumIndices[0] long. Target Indices and Weights arrays are expected to be exactly EndPointNumIndices[1] long. Indices and Weights will be truncated or filled in with zeros if they aren't the expected length. Spring Indices are VerticesGroup indices. Stiffness and Damping weights are expected have a value in [0.f, 1.f]. They will be set to constant 0.f if not supplied.

◆ CalculateTypeHash()

uint32 Chaos::Softs::FEmbeddedSpringConstraintFacade::CalculateTypeHash ( uint32  PreviousHash = 0) const

◆ CleanupAndCompactInvalidSprings()

void Chaos::Softs::FEmbeddedSpringConstraintFacade::CleanupAndCompactInvalidSprings ( )

Remove springs with invalid vertices.

◆ GetCompressionStiffness()

TArrayView< float > Chaos::Softs::FEmbeddedSpringConstraintFacade::GetCompressionStiffness ( )

◆ GetCompressionStiffnessConst()

TConstArrayView< float > Chaos::Softs::FEmbeddedSpringConstraintFacade::GetCompressionStiffnessConst ( ) const

◆ GetConstraintEndPointNumIndices()

FUintVector2 Chaos::Softs::FEmbeddedSpringConstraintFacade::GetConstraintEndPointNumIndices ( ) const
inline

◆ GetConstraintIndex()

int32 Chaos::Softs::FEmbeddedSpringConstraintFacade::GetConstraintIndex ( ) const
inline

◆ GetConstraintName()

const FString & Chaos::Softs::FEmbeddedSpringConstraintFacade::GetConstraintName ( ) const
inline

◆ GetDamping()

TArrayView< float > Chaos::Softs::FEmbeddedSpringConstraintFacade::GetDamping ( )

◆ GetDampingConst()

TConstArrayView< float > Chaos::Softs::FEmbeddedSpringConstraintFacade::GetDampingConst ( ) const

◆ GetExtensionStiffness()

TArrayView< float > Chaos::Softs::FEmbeddedSpringConstraintFacade::GetExtensionStiffness ( )

◆ GetExtensionStiffnessConst()

TConstArrayView< float > Chaos::Softs::FEmbeddedSpringConstraintFacade::GetExtensionStiffnessConst ( ) const

◆ GetNumSprings()

int32 Chaos::Softs::FEmbeddedSpringConstraintFacade::GetNumSprings ( ) const

◆ GetSourceIndexConst()

TConstArrayView< TArray< int32 > > Chaos::Softs::FEmbeddedSpringConstraintFacade::GetSourceIndexConst ( ) const

◆ GetSourceWeightsConst()

TConstArrayView< TArray< float > > Chaos::Softs::FEmbeddedSpringConstraintFacade::GetSourceWeightsConst ( ) const

◆ GetSpringLength()

TArrayView< float > Chaos::Softs::FEmbeddedSpringConstraintFacade::GetSpringLength ( )

◆ GetSpringLengthConst()

TConstArrayView< float > Chaos::Softs::FEmbeddedSpringConstraintFacade::GetSpringLengthConst ( ) const

◆ GetTargetIndexConst()

TConstArrayView< TArray< int32 > > Chaos::Softs::FEmbeddedSpringConstraintFacade::GetTargetIndexConst ( ) const

◆ GetTargetWeightsConst()

TConstArrayView< TArray< float > > Chaos::Softs::FEmbeddedSpringConstraintFacade::GetTargetWeightsConst ( ) const

◆ Initialize() [1/3]

void Chaos::Softs::FEmbeddedSpringConstraintFacade::Initialize ( const FEmbeddedSpringConstraintFacade Other,
const int32  VertexOffset 
)

Initialize from another constraint.

◆ Initialize() [2/3]

void Chaos::Softs::FEmbeddedSpringConstraintFacade::Initialize ( const FUintVector2 EndPointNumIndices,
const TConstArrayView< TArray< int32 > > &  InSourceIndices,
const TConstArrayView< TArray< float > > &  InSourceWeights,
const TConstArrayView< TArray< int32 > > &  InTargetIndices,
const TConstArrayView< TArray< float > > &  InTargetWeights,
const TConstArrayView< float > &  InSpringLength,
const TConstArrayView< float > &  InExtensionStiffnesWeight = TConstArrayView<float>(),
const TConstArrayView< float > &  InCompressionStiffnessWeight = TConstArrayView<float>(),
const TConstArrayView< float > &  InDampingWeight = TConstArrayView<float>(),
const FString &  InConstraintName = TEXT("") 
)

Initialize from a list of springs. This is generic for any number of end point indices. If you have vertex-vertex constraints, use the Initialize method above which skips setting weights. Source Indices and Weights arrays are expected to be exactly EndPointNumIndices[0] long. Target Indices and Weights arrays are expected to be exactly EndPointNumIndices[1] long. Indices and Weights will be truncated or filled in with zeros if they aren't the expected length. Spring Indices are VerticesGroup indices. Stiffness and Damping weights are expected have a value in [0.f, 1.f]. They will be set to constant 0.f if not supplied.

◆ Initialize() [3/3]

void Chaos::Softs::FEmbeddedSpringConstraintFacade::Initialize ( const TConstArrayView< FIntVector2 > &  EndPoints,
const TConstArrayView< float > &  InSpringLength,
const TConstArrayView< float > &  InExtensionStiffnesWeight = TConstArrayView<float>(),
const TConstArrayView< float > &  InCompressionStiffnessWeight = TConstArrayView<float>(),
const TConstArrayView< float > &  InDampingWeight = TConstArrayView<float>(),
const FString &  InConstraintName = TEXT("") 
)

Initialize from a list of Vertex-Vertex springs. Spring Indices are VerticesGroup indices. Stiffness and Damping weights are expected have a value in [0.f, 1.f]. They will be set to constant 0.f if not supplied.

◆ operator=() [1/2]

FEmbeddedSpringConstraintFacade & Chaos::Softs::FEmbeddedSpringConstraintFacade::operator= ( const FEmbeddedSpringConstraintFacade )
delete

◆ operator=() [2/2]

FEmbeddedSpringConstraintFacade & Chaos::Softs::FEmbeddedSpringConstraintFacade::operator= ( FEmbeddedSpringConstraintFacade &&  )
delete

◆ RemoveSprings()

void Chaos::Softs::FEmbeddedSpringConstraintFacade::RemoveSprings ( const TArray< int32 > &  SortedSpringsToRemove)

◆ Reset()

void Chaos::Softs::FEmbeddedSpringConstraintFacade::Reset ( )

◆ SetConstraintName()

void Chaos::Softs::FEmbeddedSpringConstraintFacade::SetConstraintName ( const FString &  InName)
inline

◆ SetIndicesAndWeights()

void Chaos::Softs::FEmbeddedSpringConstraintFacade::SetIndicesAndWeights ( const int32  SpringIndex,
const TConstArrayView< int32 > &  InSourceIndices,
const TConstArrayView< float > &  InSourceWeights,
const TConstArrayView< int32 > &  InTargetIndices,
const TConstArrayView< float > &  InTargetWeights 
)

Friends And Related Symbol Documentation

◆ FEmbeddedSpringFacade


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