LuciadCPillar 2024.0.08
|
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. |