|
LuciadCPillar 2025.0.07
|
An animation that can be added to AnimationManager.
More...
#include <luciad/animations/IAnimation.h>
Public Member Functions | |
| virtual | ~IAnimation ()=default |
| virtual std::chrono::milliseconds | getDuration () const =0 |
| Returns the duration of this animation in milliseconds. More... | |
| virtual bool | isLooping () const =0 |
| Returns whether this animation is a looping animation. More... | |
| virtual void | onStart ()=0 |
| This method is called when the animation is started. More... | |
| virtual void | onStop ()=0 |
| This method is called when the animation is stopped. More... | |
| virtual bool | onUpdate (double fraction)=0 |
| This method is called to update the animation. More... | |
An animation that can be added to AnimationManager.
An animation is modeled as a function that takes a value between 0 and 1 as input.
AnimationManager generates this value using a duration that is assigned to the animation and the elapsed time at the moment the animation is updated.
|
virtualdefault |
|
pure virtual |
Returns the duration of this animation in milliseconds.
This information is used by AnimationManager. In practice, this means that the IAnimation::onUpdate method is called with a value of 1.0 after this duration has elapsed.
|
pure virtual |
Returns whether this animation is a looping animation.
This information is used by AnimationManager. If false, the animation is automatically stopped and removed once the duration has elapsed. Otherwise, the animation will continue as long as luciad::IAnimation::onUpdate returns true. In case of a looping animation, the fraction that is passed to the luciad::IAnimation::onUpdate restarts at 0 once the animation has completed and progresses again towards 1.
|
pure virtual |
This method is called when the animation is started.
No onUpdate call will be performed before this method is called. This method is not supposed to call luciad::IAnimation::onUpdate itself.
|
pure virtual |
This method is called when the animation is stopped.
No luciad::IAnimation::onUpdate call will be performed after this method is called. This method is not supposed to call luciad::IAnimation::onUpdate itself.
Note that this method may be called before the animation has finished. This can for example happen when an animation is canceled.
|
pure virtual |
This method is called to update the animation.
This method will typically perform an action, e.g. update the camera location.
| fraction | The position where you are located in the animation. This position varies from 0 to 1 (0 and 1 are included). |
onStop method. | luciad::InvalidArgumentException | when the fraction value is invalid. |