25struct FLinearInterpolation;
26struct FQuadraticInterpolation;
27struct FCubicInterpolation;
28struct FQuarticInterpolation;
29struct FCubicBezierInterpolation;
30struct FWeightedCubicInterpolation;
51template<
typename T,
int MinN>
82 template<
typename U,
int OtherN>
99 double MinValue = std::numeric_limits<double>::max();
100 double MaxValue = std::numeric_limits<double>::lowest();
132 UE_DEPRECATED(5.5,
"Please provide an origin. This is required for Integral() to work correctly.")
#define check(expr)
Definition AssertionMacros.h:314
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
uint32 Offset
Definition VulkanMemory.cpp:4033
Definition MovieSceneCurveChannelImpl.h:17
U16 Index
Definition radfft.cpp:71
Definition FrameRate.h:21
Definition FrameTime.h:16
static constexpr UE_FORCEINLINE_HINT T Clamp(const T X, const T MinValue, const T MaxValue)
Definition UnrealMathUtility.h:592
Definition Optional.h:131
Definition MovieSceneInterpolation.h:415
static MOVIESCENE_API FCachedInterpolationRange Empty()
Definition MovieSceneInterpolation.cpp:38
MOVIESCENE_API bool IsEmpty() const
Definition MovieSceneInterpolation.cpp:71
static MOVIESCENE_API FCachedInterpolationRange From(FFrameNumber InStart)
Definition MovieSceneInterpolation.cpp:58
static MOVIESCENE_API FCachedInterpolationRange Finite(FFrameNumber InStart, FFrameNumber InEnd)
Definition MovieSceneInterpolation.cpp:42
static MOVIESCENE_API FCachedInterpolationRange Infinite()
Definition MovieSceneInterpolation.cpp:46
FFrameNumber End
Definition MovieSceneInterpolation.h:452
FFrameNumber Clamp(FFrameNumber In) const
Definition MovieSceneInterpolation.h:430
static MOVIESCENE_API FCachedInterpolationRange Only(FFrameNumber InTime)
Definition MovieSceneInterpolation.cpp:50
static MOVIESCENE_API FCachedInterpolationRange Until(FFrameNumber InEnd)
Definition MovieSceneInterpolation.cpp:62
FFrameNumber Start
Definition MovieSceneInterpolation.h:450
FFrameTime Clamp(FFrameTime In) const
Definition MovieSceneInterpolation.h:437
MOVIESCENE_API bool Contains(FFrameNumber FrameNumber) const
Definition MovieSceneInterpolation.cpp:66
Definition MovieSceneInterpolation.h:460
MOVIESCENE_API bool IsValid() const
Definition MovieSceneInterpolation.cpp:124
MOVIESCENE_API TOptional< FCachedInterpolation > ComputeDerivative() const
Definition MovieSceneInterpolation.cpp:346
MOVIESCENE_API FInterpolationExtents ComputeExtents() const
Definition MovieSceneInterpolation.cpp:139
MOVIESCENE_API bool IsCacheValidForTime(FFrameNumber FrameNumber) const
Definition MovieSceneInterpolation.cpp:129
MOVIESCENE_API FCachedInterpolationRange GetRange() const
Definition MovieSceneInterpolation.cpp:134
MOVIESCENE_API int32 InverseEvaluate(double InValue, TInterpSolutions< FFrameTime, 4 > OutResults) const
Definition MovieSceneInterpolation.cpp:379
MOVIESCENE_API bool Evaluate(FFrameTime FrameTime, double &OutResult) const
Definition MovieSceneInterpolation.cpp:236
MOVIESCENE_API FCachedInterpolation()
Definition MovieSceneInterpolation.cpp:76
MOVIESCENE_API TOptional< FCachedInterpolation > ComputeIntegral(double ConstantOffset=0.0) const
Definition MovieSceneInterpolation.cpp:313
Definition MovieSceneInterpolation.h:126
MOVIESCENE_API FLinearInterpolation Integral(double ConstantOffset=0.0) const
Definition MovieSceneInterpolation.cpp:459
FConstantValue(FFrameNumber InOrigin, double InValue)
Definition MovieSceneInterpolation.h:137
double Value
Definition MovieSceneInterpolation.h:128
MOVIESCENE_API FConstantValue Derivative() const
Definition MovieSceneInterpolation.cpp:454
FFrameNumber Origin
Definition MovieSceneInterpolation.h:130
Definition MovieSceneInterpolation.h:329
double P0
Definition MovieSceneInterpolation.h:333
MOVIESCENE_API FQuadraticInterpolation Derivative() const
Definition MovieSceneInterpolation.cpp:789
MOVIESCENE_API FQuarticInterpolation Integral(double ConstantOffset=0.0) const
Definition MovieSceneInterpolation.cpp:793
double P2
Definition MovieSceneInterpolation.h:333
FFrameNumber Origin
Definition MovieSceneInterpolation.h:335
MOVIESCENE_API double Evaluate(FFrameTime InTime) const
Definition MovieSceneInterpolation.cpp:778
MOVIESCENE_API int32 Solve(double InValue, TInterpSolutions< FFrameTime, 4 > OutResults) const
Definition MovieSceneInterpolation.cpp:798
MOVIESCENE_API FCubicInterpolation AsCubic() const
Definition MovieSceneInterpolation.cpp:755
double P3
Definition MovieSceneInterpolation.h:333
double DX
Definition MovieSceneInterpolation.h:331
double P1
Definition MovieSceneInterpolation.h:333
Definition MovieSceneInterpolation.h:238
FFrameNumber Origin
Definition MovieSceneInterpolation.h:247
MOVIESCENE_API double Evaluate(FFrameTime InTime) const
Definition MovieSceneInterpolation.cpp:555
MOVIESCENE_API FQuadraticInterpolation Derivative() const
Definition MovieSceneInterpolation.cpp:607
MOVIESCENE_API FQuarticInterpolation Integral(double ConstantOffset=0.0) const
Definition MovieSceneInterpolation.cpp:612
MOVIESCENE_API int32 Solve(double Value, TInterpSolutions< FFrameTime, 3 > OutResults) const
Definition MovieSceneInterpolation.cpp:566
double A
Definition MovieSceneInterpolation.h:240
double B
Definition MovieSceneInterpolation.h:240
MOVIESCENE_API int32 SolveWithin(FFrameTime Start, FFrameTime End, double Value, TInterpSolutions< FFrameTime, 3 > OutResults) const
Definition MovieSceneInterpolation.cpp:586
double Constant
Definition MovieSceneInterpolation.h:242
double C
Definition MovieSceneInterpolation.h:240
double DX
Definition MovieSceneInterpolation.h:244
FCubicInterpolation(FFrameNumber InOrigin, double InA, double InB, double InC, double InConstant, double InDX=1.0)
Definition MovieSceneInterpolation.h:249
Definition MovieSceneInterpolation.h:98
MOVIESCENE_API void AddPoint(double Value, FFrameTime Time)
Definition MovieSceneInterpolation.cpp:15
FFrameTime MinValueTime
Definition MovieSceneInterpolation.h:102
FFrameTime MaxValueTime
Definition MovieSceneInterpolation.h:103
double MaxValue
Definition MovieSceneInterpolation.h:100
MOVIESCENE_API bool IsValid() const
Definition MovieSceneInterpolation.cpp:10
double MinValue
Definition MovieSceneInterpolation.h:99
Definition MovieSceneInterpolation.h:117
Definition MovieSceneInterpolation.h:150
MOVIESCENE_API double Evaluate(FFrameTime InTime) const
Definition MovieSceneInterpolation.cpp:464
double Constant
Definition MovieSceneInterpolation.h:154
FFrameNumber Origin
Definition MovieSceneInterpolation.h:156
FLinearInterpolation(FFrameNumber InOrigin, double InCoefficient, double InConstant)
Definition MovieSceneInterpolation.h:158
MOVIESCENE_API int32 SolveWithin(FFrameTime Start, FFrameTime End, double Value, TInterpSolutions< FFrameTime, 1 > OutResults) const
Definition MovieSceneInterpolation.cpp:484
MOVIESCENE_API FQuadraticInterpolation Integral(double ConstantOffset=0.0) const
Definition MovieSceneInterpolation.cpp:503
double Coefficient
Definition MovieSceneInterpolation.h:152
MOVIESCENE_API int32 Solve(double Value, TInterpSolutions< FFrameTime, 1 > OutResults) const
Definition MovieSceneInterpolation.cpp:469
MOVIESCENE_API FConstantValue Derivative() const
Definition MovieSceneInterpolation.cpp:498
Definition MovieSceneInterpolation.h:194
MOVIESCENE_API FCubicInterpolation Integral(double ConstantOffset=0.0) const
Definition MovieSceneInterpolation.cpp:550
MOVIESCENE_API double Evaluate(FFrameTime InTime) const
Definition MovieSceneInterpolation.cpp:508
FQuadraticInterpolation(FFrameNumber InOrigin, double InA, double InB, double InConstant)
Definition MovieSceneInterpolation.h:202
double B
Definition MovieSceneInterpolation.h:196
MOVIESCENE_API FLinearInterpolation Derivative() const
Definition MovieSceneInterpolation.cpp:545
double Constant
Definition MovieSceneInterpolation.h:198
MOVIESCENE_API int32 Solve(double Value, TInterpSolutions< FFrameTime, 2 > OutResults) const
Definition MovieSceneInterpolation.cpp:514
double A
Definition MovieSceneInterpolation.h:196
MOVIESCENE_API int32 SolveWithin(FFrameTime Start, FFrameTime End, double Value, TInterpSolutions< FFrameTime, 2 > OutResults) const
Definition MovieSceneInterpolation.cpp:525
FFrameNumber Origin
Definition MovieSceneInterpolation.h:200
Definition MovieSceneInterpolation.h:286
double DX
Definition MovieSceneInterpolation.h:292
MOVIESCENE_API double Evaluate(FFrameTime InTime) const
Definition MovieSceneInterpolation.cpp:617
double A
Definition MovieSceneInterpolation.h:288
MOVIESCENE_API int32 Solve(double Value, TInterpSolutions< FFrameTime, 4 > OutResults) const
Definition MovieSceneInterpolation.cpp:633
double C
Definition MovieSceneInterpolation.h:288
double D
Definition MovieSceneInterpolation.h:288
FFrameNumber Origin
Definition MovieSceneInterpolation.h:295
double Constant
Definition MovieSceneInterpolation.h:290
FQuarticInterpolation(FFrameNumber InOrigin, double InA, double InB, double InC, double InD, double InConstant, double InDX=1.0)
Definition MovieSceneInterpolation.h:297
MOVIESCENE_API FCubicInterpolation Derivative() const
Definition MovieSceneInterpolation.cpp:628
MOVIESCENE_API int32 SolveWithin(FFrameTime Start, FFrameTime End, double Value, TInterpSolutions< FFrameTime, 4 > OutResults) const
Definition MovieSceneInterpolation.cpp:722
double B
Definition MovieSceneInterpolation.h:288
Definition MovieSceneInterpolation.h:372
double EndKeyValue
Definition MovieSceneInterpolation.h:379
double EndKeyTanY
Definition MovieSceneInterpolation.h:381
double NormalizedStartTanDX
Definition MovieSceneInterpolation.h:375
double StartKeyTanY
Definition MovieSceneInterpolation.h:376
MOVIESCENE_API int32 Solve(double Value, TInterpSolutions< FFrameTime, 4 > OutResults) const
Definition MovieSceneInterpolation.cpp:953
FFrameNumber Origin
Definition MovieSceneInterpolation.h:384
double StartKeyValue
Definition MovieSceneInterpolation.h:374
double Evaluate(FFrameTime InTime) const
Definition MovieSceneInterpolation.cpp:903
double StartWeight
Definition MovieSceneInterpolation.h:377
double EndWeight
Definition MovieSceneInterpolation.h:382
double NormalizedEndTanDX
Definition MovieSceneInterpolation.h:380
double DX
Definition MovieSceneInterpolation.h:373
Definition MovieSceneInterpolation.h:53
T & operator[](int Index) const
Definition MovieSceneInterpolation.h:74
TInterpSolutions(T(&In)[N])
Definition MovieSceneInterpolation.h:58
friend struct TInterpSolutions
Definition MovieSceneInterpolation.h:83