159 const FTether& Tether = TetherBatch[Index];
160 const int32 LocalParticleIndex = GetEndIndex(Tether);
161 const FSolverReal Scale = TetherScale[LocalParticleIndex];
162 const FSolverReal ExpStiffnessValue = Stiffness[LocalParticleIndex];
163 Apply(Particles, Dt, Tether, ConstraintOffset + Index, ExpStiffnessValue, Scale);
176 const FTether& Tether = TetherBatch[Index];
177 const int32 LocalParticleIndex = GetEndIndex(Tether);
178 const FSolverReal ExpStiffnessValue = Stiffness[LocalParticleIndex];
179 Apply(Particles, Dt, Tether, ConstraintOffset + Index, ExpStiffnessValue, ScaleValue);
196 const FTether& Tether = TetherBatch[Index];
197 const int32 LocalParticleIndex = GetEndIndex(Tether);
198 const FSolverReal Scale = TetherScale[LocalParticleIndex];
199 Apply(Particles, Dt, Tether, ConstraintOffset + Index, ExpStiffnessValue, Scale);
212 const FTether& Tether = TetherBatch[Index];
213 Apply(Particles, Dt, Tether, ConstraintOffset + Index, ExpStiffnessValue, ScaleValue);
#define UE_CHAOS_DECLARE_PROPERTYCOLLECTION_NAME(PropertyName, Type)
Definition CollectionPropertyFacade.h:969
@ ForceInit
Definition CoreMiscDefines.h:155
#define DECLARE_CYCLE_STAT(CounterName, StatId, GroupId)
Definition Stats.h:669
#define SCOPE_CYCLE_COUNTER(Stat)
Definition Stats.h:650
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
uint32 Offset
Definition VulkanMemory.cpp:4033
Definition CollectionPropertyFacade.h:49
Definition PBDLongRangeConstraintsBase.h:17
const int32 ParticleOffset
Definition PBDLongRangeConstraintsBase.h:129
static constexpr FSolverReal MaxTetherScale
Definition PBDLongRangeConstraintsBase.h:22
int32 GetEndParticle(const FTether &Tether) const
Definition PBDLongRangeConstraintsBase.h:82
FPBDWeightMap TetherScale
Definition PBDLongRangeConstraintsBase.h:132
const TArray< TConstArrayView< FTether > > & Tethers
Definition PBDLongRangeConstraintsBase.h:128
static constexpr FSolverReal MinTetherScale
Definition PBDLongRangeConstraintsBase.h:21
FSolverVec3 GetDelta(const SolverParticlesOrRange &Particles, const FTether &Tether, const FSolverReal InScale) const
Definition PBDLongRangeConstraintsBase.h:99
static CHAOS_API int32 GetMinParallelBatchSize()
Definition PBDLongRangeConstraintsBase.cpp:22
const int32 ParticleCount
Definition PBDLongRangeConstraintsBase.h:130
FPBDStiffness Stiffness
Definition PBDLongRangeConstraintsBase.h:131
Definition PBDStiffness.h:21
void SetWeightedValue(const FSolverVec2 &InWeightedValue, FSolverReal MaxStiffness=DefaultPBDMaxStiffness)
Definition PBDStiffness.h:65
static constexpr int32 DefaultTableSize
Definition PBDStiffness.h:26
void ApplyXPBDValues(const FSolverReal MaxStiffnesss)
Definition PBDStiffness.h:164
static constexpr FSolverReal DefaultParameterFitBase
Definition PBDStiffness.h:25
Definition PBDWeightMap.h:19
void ApplyValues(bool *bOutUpdated=nullptr)
Definition PBDWeightMap.h:71
void SetWeightedValue(const FSolverVec2 &InWeightedValue)
Definition PBDWeightMap.h:62
bool HasWeightMap() const
Definition PBDWeightMap.h:55
Definition PBDSoftsSolverParticles.h:20
const FSolverVec3 & P(const int32 index) const
Definition PBDSoftsSolverParticles.h:36
Definition XPBDLongRangeConstraints.h:15
FPBDLongRangeConstraintsBase Base
Definition XPBDLongRangeConstraints.h:17
void Init() const
Definition XPBDLongRangeConstraints.h:138
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)
Definition XPBDLongRangeConstraints.h:53
void ApplyProperties(const FSolverReal, const int32)
Definition XPBDLongRangeConstraints.h:132
static constexpr FSolverReal MaxStiffness
Definition XPBDLongRangeConstraints.h:21
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)
Definition XPBDLongRangeConstraints.h:23
void SetProperties(const FSolverVec2 &InStiffness, const FSolverVec2 &InTetherScale, FSolverReal MeshScale=(FSolverReal) 1)
Definition XPBDLongRangeConstraints.h:125
virtual ~FXPBDLongRangeConstraints() override
Definition XPBDLongRangeConstraints.h:83
static constexpr FSolverReal MinStiffness
Definition XPBDLongRangeConstraints.h:20
void SetProperties(const FCollectionPropertyConstFacade &PropertyCollection, const TMap< FString, TConstArrayView< FRealSingle > > &WeightMaps, FSolverReal MeshScale)
Definition XPBDLongRangeConstraints.h:85
Base::FTether FTether
Definition XPBDLongRangeConstraints.h:18
void Apply(FSolverParticles &Particles, const FSolverReal Dt) const
Definition XPBDLongRangeConstraints.h:144
void Reset(SizeType NewSize=0)
Definition Array.h:2246
SizeType AddZeroed()
Definition Array.h:2755
UE_FORCEINLINE_HINT void Reserve(SizeType Number)
Definition Array.h:3016
Definition UnrealString.h.inl:34
Definition CollectionEmbeddedSpringConstraintFacade.cpp:6
TVector< FSolverReal, 2 > FSolverVec2
Definition PBDSoftsEvolutionFwd.h:32
FRealSingle FSolverReal
Definition PBDSoftsEvolutionFwd.h:31
void CHAOS_API PhysicsParallelFor(int32 InNum, TFunctionRef< void(int32)> InCallable, bool bForceSingleThreaded=false)
Definition Parallel.cpp:55
FRealSingle FSolverReal
Definition SolverBody.h:38
U16 Index
Definition radfft.cpp:71