15#include "../Utils/Math/Mathematics.h"
16#include "../Physics/Utils/DampedSpring.h"
17#include "../Utils/Filter/RampFilter.h"
48 virtual void SetConstants(uint16_t dictionaryValue,
float springConstant,
float damping) = 0;
56 virtual float GetValue(uint16_t dictionaryValue) = 0;
64 virtual float GetTarget(uint16_t dictionaryValue) = 0;
75 virtual void AddParameter(
float* parameter, uint16_t dictionaryValue, uint16_t frames,
float basis,
float goal) = 0;
Declares the KeyFrame class for representing individual animation keyframes.
Interface for defining animation behaviors with easing and interpolation.
virtual float GetTarget(uint16_t dictionaryValue)=0
Retrieves the target value of a parameter.
virtual void Update()=0
Updates the animator, advancing all animations.
virtual void Reset()=0
Resets the animator to its initial state.
virtual float GetValue(uint16_t dictionaryValue)=0
Retrieves the current value of a parameter.
InterpolationMethod
Enumeration of interpolation methods for animations.
@ Linear
Straight linear interpolation.
@ Cosine
Smooth cosine interpolation.
@ Bounce
Bouncy effect during interpolation.
@ Overshoot
Interpolation with overshooting behavior.
virtual void SetConstants(uint16_t dictionaryValue, float springConstant, float damping)=0
Sets the spring and damping constants for a parameter.
virtual void SetParameters()=0
Applies the current animation values to the parameters.
virtual void AddParameterFrame(uint16_t dictionaryValue, float value)=0
Adds a single frame value to a parameter.
virtual void SetInterpolationMethod(uint16_t dictionaryValue, InterpolationMethod interpMethod)=0
Sets the interpolation method for a parameter.
virtual void AddParameter(float *parameter, uint16_t dictionaryValue, uint16_t frames, float basis, float goal)=0
Adds a new parameter to the animator.