UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
CollectionEmbeddedSpringConstraintFacade.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
6
7namespace Chaos::Softs
8{
41
44 {
46 public:
52
53 CHAOS_API void Reset();
54
56 {
57 return ConstraintIndex;
58 }
59
62
69
76
88
100
101 //~ Spring Constraint Group
106
107 const FString& GetConstraintName() const
108 {
109 return ConstraintNameAttribute[ConstraintIndex];
110 }
111
112 void SetConstraintName(const FString& InName)
113 {
114 ConstraintNameAttribute.ModifyAt(ConstraintIndex, InName);
115 }
116
117 //~ Group PositionTargets
130 /* Set Indices and Weights for a single spring.
131 * Source Indices and Weights arrays are expected to be exactly EndPointNumIndices[0] long.
132 * Target Indices and Weights arrays are expected to be exactly EndPointNumIndices[1] long.
133 * Indices and Weights will be truncated or filled in with zeros if they aren't the expected length.
134 * Spring Indices are VerticesGroup indices.*/
137
139 CHAOS_API void Initialize(const FEmbeddedSpringConstraintFacade& Other, const int32 VertexOffset);
141 CHAOS_API void Append(const FEmbeddedSpringConstraintFacade& Other, const int32 VertexOffset);
142
144
147
148 private:
152
153 void SetDefaults();
154 void SetNumSprings(int32 NumSprings);
155
156 //~ Spring Constraint Group
157 void SetConstraintEndPointNumIndices(const FUintVector2& NumIndices)
158 {
159 ConstraintEndPointNumIndicesAttribute.ModifyAt(ConstraintIndex, NumIndices);
160 }
161
162 //~ Group PositionTargets
163 TArrayView<TArray<int32>> GetSourceIndex();
164 TArrayView<TArray<float>> GetSourceWeights();
165 TArrayView<TArray<int32>> GetTargetIndex();
166 TArrayView<TArray<float>> GetTargetWeights();
167 int32 ConstraintIndex;
168 };
169
208}
#define TEXT(x)
Definition Platform.h:1272
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
@ Num
Definition MetalRHIPrivate.h:234
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition CollectionEmbeddedSpringConstraintFacade.h:11
TManagedArrayAccessor< FString > ConstraintNameAttribute
Definition CollectionEmbeddedSpringConstraintFacade.h:39
static CHAOS_API const FName ConstraintName
Definition CollectionEmbeddedSpringConstraintFacade.h:22
static CHAOS_API const FName SpringLength
Definition CollectionEmbeddedSpringConstraintFacade.h:14
CHAOS_API bool IsValid() const
Definition CollectionEmbeddedSpringConstraintFacade.cpp:169
TManagedArrayAccessor< FUintVector2 > ConstraintEndPointNumIndicesAttribute
Definition CollectionEmbeddedSpringConstraintFacade.h:38
TManagedArrayAccessor< int32 > ConstraintStartAttribute
Definition CollectionEmbeddedSpringConstraintFacade.h:36
static CHAOS_API const FName ConstraintEnd
Definition CollectionEmbeddedSpringConstraintFacade.h:20
static CHAOS_API const FName ConstraintStart
Definition CollectionEmbeddedSpringConstraintFacade.h:19
TManagedArrayAccessor< int32 > ConstraintEndAttribute
Definition CollectionEmbeddedSpringConstraintFacade.h:37
static CHAOS_API const FName ConstraintEndPointNumIndices
Definition CollectionEmbeddedSpringConstraintFacade.h:21
TManagedArrayAccessor< float > CompressionStiffnessAttribute
Definition CollectionEmbeddedSpringConstraintFacade.h:33
TManagedArrayAccessor< float > SpringLengthAttribute
Definition CollectionEmbeddedSpringConstraintFacade.h:32
static CHAOS_API const FName CompressionStiffness
Definition CollectionEmbeddedSpringConstraintFacade.h:15
static CHAOS_API const FName SpringConstraintGroupName
Definition CollectionEmbeddedSpringConstraintFacade.h:18
CHAOS_API void DefineSchema()
Definition CollectionEmbeddedSpringConstraintFacade.cpp:177
Definition CollectionEmbeddedSpringConstraintFacade.h:44
CHAOS_API void CleanupAndCompactInvalidSprings()
Definition CollectionEmbeddedSpringConstraintFacade.cpp:675
FUintVector2 GetConstraintEndPointNumIndices() const
Definition CollectionEmbeddedSpringConstraintFacade.h:102
void SetConstraintName(const FString &InName)
Definition CollectionEmbeddedSpringConstraintFacade.h:112
CHAOS_API TConstArrayView< TArray< float > > GetSourceWeightsConst() const
Definition CollectionEmbeddedSpringConstraintFacade.cpp:627
FEmbeddedSpringConstraintFacade(const FEmbeddedSpringConstraintFacade &)=delete
int32 GetConstraintIndex() const
Definition CollectionEmbeddedSpringConstraintFacade.h:55
CHAOS_API TArrayView< float > GetCompressionStiffness()
Definition CollectionEmbeddedSpringConstraintFacade.cpp:592
CHAOS_API TArrayView< float > GetSpringLength()
Definition CollectionEmbeddedSpringConstraintFacade.cpp:572
FEmbeddedSpringConstraintFacade & operator=(const FEmbeddedSpringConstraintFacade &)=delete
CHAOS_API void SetIndicesAndWeights(const int32 SpringIndex, const TConstArrayView< int32 > &InSourceIndices, const TConstArrayView< float > &InSourceWeights, const TConstArrayView< int32 > &InTargetIndices, const TConstArrayView< float > &InTargetWeights)
Definition CollectionEmbeddedSpringConstraintFacade.cpp:652
CHAOS_API TConstArrayView< TArray< int32 > > GetTargetIndexConst() const
Definition CollectionEmbeddedSpringConstraintFacade.cpp:637
FEmbeddedSpringConstraintFacade(FEmbeddedSpringConstraintFacade &&)=default
CHAOS_API int32 GetNumSprings() const
Definition CollectionEmbeddedSpringConstraintFacade.cpp:305
const FString & GetConstraintName() const
Definition CollectionEmbeddedSpringConstraintFacade.h:107
CHAOS_API TConstArrayView< float > GetCompressionStiffnessConst() const
Definition CollectionEmbeddedSpringConstraintFacade.cpp:597
CHAOS_API TConstArrayView< float > GetDampingConst() const
Definition CollectionEmbeddedSpringConstraintFacade.cpp:607
CHAOS_API TConstArrayView< float > GetExtensionStiffnessConst() const
Definition CollectionEmbeddedSpringConstraintFacade.cpp:587
CHAOS_API TConstArrayView< TArray< float > > GetTargetWeightsConst() const
Definition CollectionEmbeddedSpringConstraintFacade.cpp:647
CHAOS_API TArrayView< float > GetExtensionStiffness()
Definition CollectionEmbeddedSpringConstraintFacade.cpp:582
CHAOS_API TArrayView< float > GetDamping()
Definition CollectionEmbeddedSpringConstraintFacade.cpp:602
CHAOS_API void Reset()
Definition CollectionEmbeddedSpringConstraintFacade.cpp:299
CHAOS_API TConstArrayView< TArray< int32 > > GetSourceIndexConst() const
Definition CollectionEmbeddedSpringConstraintFacade.cpp:617
CHAOS_API uint32 CalculateTypeHash(uint32 PreviousHash=0) const
Definition CollectionEmbeddedSpringConstraintFacade.cpp:660
CHAOS_API void RemoveSprings(const TArray< int32 > &SortedSpringsToRemove)
Definition CollectionEmbeddedSpringConstraintFacade.cpp:322
FEmbeddedSpringConstraintFacade & operator=(FEmbeddedSpringConstraintFacade &&)=delete
CHAOS_API TConstArrayView< float > GetSpringLengthConst() const
Definition CollectionEmbeddedSpringConstraintFacade.cpp:577
Definition CollectionEmbeddedSpringConstraintFacade.h:172
FEmbeddedSpringFacade(FManagedArrayCollection &InCollection, const FName &InVerticesGroup=FGeometryCollection::VerticesGroup)
Definition CollectionEmbeddedSpringConstraintFacade.h:176
CHAOS_API void RemoveSpringConstraints(const TArray< int32 > &SortedDeletionList)
Definition CollectionEmbeddedSpringConstraintFacade.cpp:235
int32 GetNumSpringConstraints() const
Definition CollectionEmbeddedSpringConstraintFacade.h:189
CHAOS_API FEmbeddedSpringConstraintFacade GetSpringConstraint(int32 ConstraintIndex)
Definition CollectionEmbeddedSpringConstraintFacade.cpp:218
CHAOS_API FEmbeddedSpringConstraintFacade GetSpringConstraintConst(int32 ConstraintIndex) const
Definition CollectionEmbeddedSpringConstraintFacade.cpp:223
CHAOS_API uint32 CalculateTypeHash(uint32 PreviousHash=0) const
Definition CollectionEmbeddedSpringConstraintFacade.cpp:245
CHAOS_API int32 AddSpringConstraint()
Definition CollectionEmbeddedSpringConstraintFacade.cpp:228
CHAOS_API void SetNumSpringConstraints(int32 Num)
Definition CollectionEmbeddedSpringConstraintFacade.cpp:204
CHAOS_API void CleanupAndCompactInvalidSprings()
Definition CollectionEmbeddedSpringConstraintFacade.cpp:257
FEmbeddedSpringConstraintFacade AddGetSpringConstraint()
Definition CollectionEmbeddedSpringConstraintFacade.h:197
FEmbeddedSpringFacade(const FManagedArrayCollection &InCollection, const FName &InVerticesGroup=FGeometryCollection::VerticesGroup)
Definition CollectionEmbeddedSpringConstraintFacade.h:181
static CHAOS_API const FName VerticesGroup
Definition GeometryCollection.h:99
Definition NameTypes.h:617
Definition CollectionPositionTargetFacade.h:38
Definition ArrayView.h:139
Definition Array.h:670
Definition CollectionEmbeddedSpringConstraintFacade.cpp:6
Definition ManagedArrayCollection.h:56
Definition ManagedArrayAccessor.h:20
int32 Num() const
Definition ManagedArrayAccessor.h:196
void ModifyAt(int32 Index, const T &NewValue)
Definition ManagedArrayAccessor.h:122