19 TranslationWeights.
Reset();
20 RotationWeights.
Reset();
56 if (Transforms.Num() > 0)
58 float TotalWeight = GetTotalWeight(ParentWeights);
62 float MultiplyWeight = (TotalWeight > 1.f) ? 1.f / TotalWeight : 1.f;
64 int32 NumBlends = Transforms.Num();
95 if (Translations.
Num() > 0)
97 float TotalWeight = GetTotalWeight(TranslationWeights);
101 float MultiplyWeight = (TotalWeight > 1.f) ? 1.f / TotalWeight : 1.f;
121 if (Rotations.Num() > 0)
123 float TotalWeight = GetTotalWeight(RotationWeights);
127 float MultiplyWeight = (TotalWeight > 1.f) ? 1.f / TotalWeight : 1.f;
161 if (Scales.
Num() > 0)
163 float TotalWeight = GetTotalWeight(ScaleWeights);
167 float MultiplyWeight = (TotalWeight > 1.f) ? 1.f / TotalWeight : 1.f;
196 float TotalWeight = 0.f;
197 for (
float Weight : Weights)
211 Translations.
Reset();
214 TranslationWeights.
Reset();
215 RotationWeights.
Reset();
216 ScaleWeights.
Reset();
251 if (Transforms.Num() > 0)
253 float TotalWeight = GetTotalWeight(ParentWeights);
257 float MultiplyWeight = (TotalWeight > 1.f) ? 1.f / TotalWeight : 1.f;
259 int32 NumBlends = Transforms.Num();
283 if (Translations.
Num() > 0)
285 float TotalWeight = GetTotalWeight(TranslationWeights);
289 float MultiplyWeight = (TotalWeight > 1.f) ? 1.f / TotalWeight : 1.f;
309 if (Rotations.Num() > 0)
311 float TotalWeight = GetTotalWeight(RotationWeights);
315 float MultiplyWeight = (TotalWeight > 1.f) ? 1.f / TotalWeight : 1.f;
349 if (Scales.
Num() > 0)
351 float TotalWeight = GetTotalWeight(ScaleWeights);
355 float MultiplyWeight = (TotalWeight > 1.f) ? 1.f / TotalWeight : 1.f;
384 float TotalWeight = 0.f;
385 for (
float Weight : Weights)
#define ensureAlways( InExpression)
Definition AssertionMacros.h:466
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
UE::Math::TTransform< double > FTransform
Definition MathFwd.h:53
#define ScalarRegister
Definition ScalarRegister.h:239
#define ZERO_ANIMWEIGHT_THRESH
Definition VectorRegister.h:133
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
U16 Index
Definition radfft.cpp:71
Definition AnimationCoreUtil.h:12
bool GetBlendedParent(FTransform &OutTransform)
Definition AnimationCoreUtil.h:52
void AddScale(const FVector &Scale, float Weight)
Definition AnimationCoreUtil.h:45
void AddRotation(const FQuat &Rotation, float Weight)
Definition AnimationCoreUtil.h:38
void AddTranslation(const FVector &Translation, float Weight)
Definition AnimationCoreUtil.h:31
bool GetBlendedScale(FVector &Output)
Definition AnimationCoreUtil.h:157
void AddParent(const FTransform &InTransform, float Weight)
Definition AnimationCoreUtil.h:24
bool GetBlendedTranslation(FVector &Output)
Definition AnimationCoreUtil.h:91
bool GetBlendedRotation(FQuat &Output)
Definition AnimationCoreUtil.h:117
void Reset()
Definition AnimationCoreUtil.h:13
static constexpr UE_FORCEINLINE_HINT T Lerp(const T &A, const T &B, const U &Alpha)
Definition UnrealMathUtility.h:1116
static TQuat< double > FastLerp(const TQuat< double > &A, const TQuat< double > &B, const double Alpha)
Definition Quat.h:1373
static CORE_API const TVector< double > ZeroVector
Definition Vector.h:79