10#include "Containers/Array.h"
98 template<
typename SolverParticlesOrRange>
101 const auto& Constraint =
Constraints[ConstraintIndex];
102 const int32 i1 = Constraint[0];
103 const int32 i2 = Constraint[1];
130 template<
int32 Valence,
typename Predicate UE_REQUIRES(Valence >= 2 &&
Valence <= 4)>
#define check(expr)
Definition AssertionMacros.h:314
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
uint32 Size
Definition VulkanMemory.cpp:4034
Definition PBDSpringConstraintsBase.h:17
FPBDStiffness Stiffness
Definition PBDSpringConstraintsBase.h:160
void CalculateRestLengths(const TConstArrayView< FSolverVec3 > &Positions, const TArrayView< FSolverReal > &DistsToCompute) const
Definition PBDSpringConstraintsBase.h:120
FSolverVec3 GetDelta(const SolverParticlesOrRange &Particles, const int32 ConstraintIndex, const FSolverReal ExpStiffnessValue) const
Definition PBDSpringConstraintsBase.h:99
const int32 ParticleCount
Definition PBDSpringConstraintsBase.h:159
FPBDSpringConstraintsBase(const FSolverParticlesRange &Particles, const TArray< TVector< int32, Valence > > &InConstraints, const TConstArrayView< FRealSingle > &StiffnessMultipliers, const FSolverVec2 &InStiffness, bool bTrimKinematicConstraints=false, FSolverReal MaxStiffness=FPBDStiffness::DefaultPBDMaxStiffness)
Definition PBDSpringConstraintsBase.h:20
const int32 ParticleOffset
Definition PBDSpringConstraintsBase.h:158
void SetProperties(const FSolverVec2 &InStiffness)
Definition PBDSpringConstraintsBase.h:85
void ApplyProperties(const FSolverReal Dt, const int32 NumIterations)
Definition PBDSpringConstraintsBase.h:88
const TArray< TVec2< int32 > > & GetConstraints() const
Definition PBDSpringConstraintsBase.h:90
TArray< FSolverReal > Dists
Definition PBDSpringConstraintsBase.h:157
virtual ~FPBDSpringConstraintsBase()
Definition PBDSpringConstraintsBase.h:81
TArray< TVec2< int32 > > Constraints
Definition PBDSpringConstraintsBase.h:156
void ResetRestLengths(const TConstArrayView< FSolverVec3 > &Positions)
Definition PBDSpringConstraintsBase.h:92
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)
Definition PBDSpringConstraintsBase.h:50
Definition PBDStiffness.h:21
void SetWeightedValue(const FSolverVec2 &InWeightedValue, FSolverReal MaxStiffness=DefaultPBDMaxStiffness)
Definition PBDStiffness.h:65
static constexpr FSolverReal DefaultPBDMaxStiffness
Definition PBDStiffness.h:24
void ApplyPBDValues(const FSolverReal Dt, const int32 NumIterations)
Definition PBDStiffness.h:124
static constexpr int32 DefaultTableSize
Definition PBDStiffness.h:26
static constexpr FSolverReal DefaultParameterFitBase
Definition PBDStiffness.h:25
Definition SoftsSolverParticlesRange.h:12
FSolverReal InvM(const int32 Index) const
Definition SoftsSolverParticlesRange.h:56
Definition PBDSoftsSolverParticles.h:20
const T InvM(const int32 Index) const
Definition DynamicParticles.h:48
Definition Constraints.Build.cs:6
Definition ArrayView.h:139
void SetNumUninitialized(SizeType NewNum, EAllowShrinking AllowShrinking=UE::Core::Private::AllowShrinkingByDefault< AllocatorType >())
Definition Array.h:2369
UE_FORCEINLINE_HINT void Reserve(SizeType Number)
Definition Array.h:3016
Definition CollectionEmbeddedSpringConstraintFacade.cpp:6
FRealSingle FSolverReal
Definition PBDSoftsEvolutionFwd.h:31
TVector< FSolverReal, 3 > FSolverVec3
Definition PBDSoftsEvolutionFwd.h:33
Definition SkeletalMeshComponent.h:307
U16 Index
Definition radfft.cpp:71