10#include "Containers/Array.h"
105 template<
typename VectorType>
108 return P1 - ((P2 - P3) * Bary + P3);
111 template<
typename SolverParticlesOrRange>
115 const int32 i1 = Constraint[0];
116 const int32 i2 = Constraint[1];
117 const int32 i3 = Constraint[2];
140 template<
typename SolverParticlesOrRange>
147 const FSolverReal Bary = FSolverVec3::DotProduct(
P32, P3 - P1) /
P32.SizeSquared();
151 template<
typename Predicate>
160 const int32 Index1 = Constraint[1];
161 const int32 Index2 = Constraint[2];
179 template<
typename SolverParticlesOrRange>
#define checkSlow(expr)
Definition AssertionMacros.h:332
#define check(expr)
Definition AssertionMacros.h:314
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
void Init()
Definition LockFreeList.h:4
#define UE_SMALL_NUMBER
Definition UnrealMathUtility.h:130
uint32 Size
Definition VulkanMemory.cpp:4034
Definition PBDAxialSpringConstraintsBase.h:16
FSolverVec3 GetDelta(const SolverParticlesOrRange &Particles, const int32 ConstraintIndex, const FSolverReal ExpStiffnessValue) const
Definition PBDAxialSpringConstraintsBase.h:112
virtual ~FPBDAxialSpringConstraintsBase()
Definition PBDAxialSpringConstraintsBase.h:75
VectorType GetSpringDiff(const VectorType &P1, const VectorType &P2, const VectorType &P3, const FSolverReal Bary) const
Definition PBDAxialSpringConstraintsBase.h:106
FPBDAxialSpringConstraintsBase(const FSolverParticlesRange &Particles, const TArray< TVec3< int32 > > &InConstraints, const TConstArrayView< FRealSingle > &StiffnessMultipliers, const FSolverVec2 &InStiffness, bool bTrimKinematicConstraints, FSolverReal MaxStiffness=FPBDStiffness::DefaultPBDMaxStiffness)
Definition PBDAxialSpringConstraintsBase.h:19
TArray< FSolverReal > Dists
Definition PBDAxialSpringConstraintsBase.h:246
void SetProperties(const FSolverVec2 &InStiffness)
Definition PBDAxialSpringConstraintsBase.h:77
TArray< FSolverReal > Barys
Definition PBDAxialSpringConstraintsBase.h:245
const TArray< TVec3< int32 > > & GetConstraints() const
Definition PBDAxialSpringConstraintsBase.h:81
const int32 ParticleCount
Definition PBDAxialSpringConstraintsBase.h:244
TArray< TVec3< int32 > > Constraints
Definition PBDAxialSpringConstraintsBase.h:242
void ApplyProperties(const FSolverReal Dt, const int32 NumIterations)
Definition PBDAxialSpringConstraintsBase.h:79
void CalculateRestLengths(const TConstArrayView< FSolverVec3 > &Positions, const TArrayView< FSolverReal > &DistsToCompute) const
Definition PBDAxialSpringConstraintsBase.h:91
const TArray< FSolverReal > & GetBarys() const
Definition PBDAxialSpringConstraintsBase.h:82
FPBDStiffness Stiffness
Definition PBDAxialSpringConstraintsBase.h:247
void ResetRestLengths(const TConstArrayView< FSolverVec3 > &Positions)
Definition PBDAxialSpringConstraintsBase.h:84
const int32 ParticleOffset
Definition PBDAxialSpringConstraintsBase.h:243
FPBDAxialSpringConstraintsBase(const FSolverParticles &Particles, int32 InParticleOffset, int32 InParticleCount, const TArray< TVec3< int32 > > &InConstraints, const TConstArrayView< FRealSingle > &StiffnessMultipliers, const FSolverVec2 &InStiffness, bool bTrimKinematicConstraints, FSolverReal MaxStiffness=FPBDStiffness::DefaultPBDMaxStiffness)
Definition PBDAxialSpringConstraintsBase.h:46
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
UE_REWRITE SizeType Num() const
Definition Array.h:1144
void Reset(SizeType NewSize=0)
Definition Array.h:2246
UE_NODEBUG UE_FORCEINLINE_HINT SizeType Add(ElementType &&Item)
Definition Array.h:2696
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
int32 P[512]
Definition FieldSystemNoiseAlgo.cpp:11
U16 Index
Definition radfft.cpp:71
static constexpr UE_FORCEINLINE_HINT T Clamp(const T X, const T MinValue, const T MaxValue)
Definition UnrealMathUtility.h:592