33 template <
typename T,
typename ParticleType>
94 ApplySingleConstraintWithoutSelfTarget(Particles, Dt, ConstraintIndex);
105 ApplySingleConstraintWithSelfTarget(Particles, Dt, ConstraintIndex);
120 for (T& Lambdas :
LambdaArray) { Lambdas = (T)0.; }
135 void InitColor(
const ParticleType& Particles)
140 void ApplySingleConstraintWithoutSelfTarget(ParticleType& Particles,
const T Dt,
const int32 ConstraintIndex,
const T Tol =
UE_KINDA_SMALL_NUMBER)
const
156 for (
int32 alpha = 0; alpha < 3; alpha++) {
169 for (
int32 Beta = 0; Beta < 3; Beta++)
182 void ApplySingleConstraintWithSelfTarget(ParticleType& Particles,
const T Dt,
const int32 ConstraintIndex,
const T Tol =
UE_KINDA_SMALL_NUMBER)
const
200 for (
int32 alpha = 0; alpha < 3; alpha++) {
221 for (
int32 Beta = 0; Beta < 3; Beta++)
238 void VisualizeAllBindings(
const FSolverParticles&
InParticles,
const T Dt)
const
#define ensureMsgf( InExpression, InFormat,...)
Definition AssertionMacros.h:465
#define ensure( InExpression)
Definition AssertionMacros.h:464
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define TRACE_CPUPROFILER_EVENT_SCOPE(Name)
Definition CpuProfilerTrace.h:528
UE::Math::TVector< double > FVector3d
Definition MathFwd.h:60
#define UE_KINDA_SMALL_NUMBER
Definition UnrealMathUtility.h:131
UE_INTRINSIC_CAST UE_REWRITE constexpr std::remove_reference_t< T > && MoveTemp(T &&Obj) noexcept
Definition UnrealTemplate.h:520
Definition PBDSoftsSolverParticles.h:20
Definition XPBDWeakConstraints.h:35
TArray< T > LambdaArray
Definition XPBDWeakConstraints.h:292
TArray< TVector< T, 3 > > Constraints
Definition XPBDWeakConstraints.h:287
TArray< T > Stiffness
Definition XPBDWeakConstraints.h:290
FDeformableXPBDWeakConstraintParams DebugDrawParams
Definition XPBDWeakConstraints.h:294
void UpdateTargets(TArray< TVector< T, 3 > > &&InTargets)
Definition XPBDWeakConstraints.h:127
bool VisualizeBindings
Definition XPBDWeakConstraints.h:293
void Init(const FSolverParticles &InParticles, const T Dt) const
Definition XPBDWeakConstraints.h:118
TArray< TArray< T > > SecondWeights
Definition XPBDWeakConstraints.h:289
FXPBDWeakConstraints(const ParticleType &InParticles, const TArray< TArray< int32 > > &InIndices, const TArray< TArray< T > > &InWeights, const TArray< T > &InStiffness, const TArray< TArray< int32 > > &InSecondIndices, const TArray< TArray< T > > &InSecondWeights, const FDeformableXPBDWeakConstraintParams &InParams)
Definition XPBDWeakConstraints.h:53
TArray< TArray< int32 > > SecondIndices
Definition XPBDWeakConstraints.h:288
TArray< TArray< int32 > > ConstraintsPerColor
Definition XPBDWeakConstraints.h:291
virtual ~FXPBDWeakConstraints()
Definition XPBDWeakConstraints.h:79
TArray< TArray< int32 > > Indices
Definition XPBDWeakConstraints.h:285
const TArray< TArray< int32 > > & GetIndices()
Definition XPBDWeakConstraints.h:113
FXPBDWeakConstraints(const ParticleType &InParticles, const TArray< TArray< int32 > > &InIndices, const TArray< TArray< T > > &InWeights, const TArray< T > &InStiffness)
Definition XPBDWeakConstraints.h:39
void ApplyInParallel(ParticleType &Particles, const T Dt) const
Definition XPBDWeakConstraints.h:81
TArray< TArray< T > > Weights
Definition XPBDWeakConstraints.h:286
Definition Constraints.Build.cs:6
UE_REWRITE SizeType Num() const
Definition Array.h:1144
void SetNum(SizeType NewNum, EAllowShrinking AllowShrinking=UE::Core::Private::AllowShrinkingByDefault< AllocatorType >())
Definition Array.h:2308
void Init(const ElementType &Element, SizeType Number)
Definition Array.h:3043
Definition CollectionEmbeddedSpringConstraintFacade.cpp:6
void CHAOS_API PhysicsParallelFor(int32 InNum, TFunctionRef< void(int32)> InCallable, bool bForceSingleThreaded=false)
Definition Parallel.cpp:55
CHAOS_API void ComputeWeakConstraintsColoring(const TArray< TArray< int32 > > &Indices, const TArray< TArray< int32 > > &SecondIndices, const Chaos::TDynamicParticles< T, 3 > &InParticles, TArray< TArray< int32 > > &ConstraintsPerColor)
const float LineThickness
Definition CrowdManager.cpp:100
U16 Index
Definition radfft.cpp:71
static CORE_API const FColor Red
Definition Color.h:752
static CORE_API const FColor Yellow
Definition Color.h:755
static CORE_API const FColor Green
Definition Color.h:753