#include <Timeline.h>
Inherits cinder::TimelineItem.
Public Member Functions | |
| void | step (float timestep) |
| Advances time a specified amount and evaluates items. | |
| void | stepTo (float absoluteTime) |
| Goes to a specific time and evaluates items. | |
| float | getCurrentTime () const |
| Returns the timeline's most recent current time. | |
| template<typename T > | |
| Tween< T >::Options | apply (Anim< T > *target, T endValue, float duration, EaseFn easeFunction=easeNone, typename Tween< T >::LerpFn lerpFunction=&tweenLerp< T >) |
| Replaces any existing tweens on the target with a new tween at the timeline's current time. | |
| template<typename T > | |
| Tween< T >::Options | apply (Anim< T > *target, T startValue, T endValue, float duration, EaseFn easeFunction=easeNone, typename Tween< T >::LerpFn lerpFunction=&tweenLerp< T >) |
| Replaces any existing tweens on the target with a new tween at the timeline's current time. | |
| template<typename T > | |
| Tween< T >::Options | appendTo (Anim< T > *target, T endValue, float duration, EaseFn easeFunction=easeNone, typename Tween< T >::LerpFn lerpFunction=&tweenLerp< T >) |
| Creates a new tween and adds it to the end of the last tween on target, or if no existing tween matches the target, the current time. | |
| template<typename T > | |
| Tween< T >::Options | appendTo (Anim< T > *target, T startValue, T endValue, float duration, EaseFn easeFunction=easeNone, typename Tween< T >::LerpFn lerpFunction=&tweenLerp< T >) |
| Creates a new tween and adds it to the end of the last tween on target, or if no existing tween matches the target, the current time. | |
| template<typename T > | |
| Tween< T >::Options | applyPtr (T *target, T endValue, float duration, EaseFn easeFunction=easeNone, typename Tween< T >::LerpFn lerpFunction=&tweenLerp< T >) |
| Replaces any existing tweens on the target with a new tween at the timeline's current time. Consider the apply( Anim<T>* ) variant unless you have an advanced use case. | |
| template<typename T > | |
| Tween< T >::Options | applyPtr (T *target, T startValue, T endValue, float duration, EaseFn easeFunction=easeNone, typename Tween< T >::LerpFn lerpFunction=&tweenLerp< T >) |
| Replaces any existing tweens on the target with a new tween at the timeline's current time. Consider the apply( Anim<T>* ) variant unless you have an advanced use case. | |
| template<typename T > | |
| Tween< T >::Options | appendToPtr (T *target, T endValue, float duration, EaseFn easeFunction=easeNone, typename Tween< T >::LerpFn lerpFunction=&tweenLerp< T >) |
| Creates a new tween and adds it to the end of the last tween on target, or if no existing tween matches the target, the current time. Consider the appendTo( Anim<T>* ) variant unless you have an advanced use case. | |
| template<typename T > | |
| Tween< T >::Options | appendToPtr (T *target, T startValue, T endValue, float duration, EaseFn easeFunction=easeNone, typename Tween< T >::LerpFn lerpFunction=&tweenLerp< T >) |
| Creates a new tween and adds it to the end of the last tween on target, or if no existing tween matches the target, the current time. Consider the appendTo( Anim<T>* ) variant unless you have an advanced use case. | |
| CueRef | add (const std::function< void()> &action, float atTime) |
| add a cue to the Timeline add the start-time atTime | |
| template<typename T > | |
| FnTweenRef< T > | applyFn (const std::function< void(T)> &fn, T startValue, T endValue, float duration, const EaseFn &easeFunction=easeNone, const typename Tween< T >::LerpFn &lerpFunction=&tweenLerp< T >) |
| void | appendPingPong () |
| Appends to the end of the timeline mirror images of all items. | |
| void | apply (TimelineItemRef item) |
| Replaces any existing TimelineItems that match item's target and adds item to the timeline. Safe to use from callback fn's. | |
| void | add (TimelineItemRef item) |
| add an item to the timeline at the current time. Safe to use from callback fn's. | |
| void | insert (TimelineItemRef item) |
| adds an item to the timeline. Its start time is not modified. Safe to use from callback fn's. | |
| void | insert (TimelineItemRef item, float atTime) |
| adds an item to the timeline, setting its startTime to be at atTime. Safe to use from callback fn's. | |
| size_t | getNumItems () const |
| Returns the number of items in the Timeline. | |
| bool | empty () const |
| Returns true if there are no items in the Timeline. | |
| TimelineItemRef | find (void *target) const |
| Returns the first item in the timeline the target of which matches target. | |
| TimelineItemRef | findLast (void *target) const |
| Returns the latest-starting item in the timeline the target of which matches target. | |
| TimelineItemRef | findLastEnd (void *target) const |
| Returns the latest-end item in the timeline the target of which matches target. | |
| float | findEndTimeOf (void *target, bool *found=NULL) const |
| Returns the end of the latest-ending item in the timeline the target of which matches target, or the current time if it's not found. found can store whether a related item was found. | |
| void | remove (TimelineItemRef item) |
| Removes the TimelineItem item from the Timeline. Safe to use from callback fn's. | |
| void | removeTarget (void *target) |
| Removes all TimelineItems whose target matches target. | |
| void | cloneAndReplaceTarget (void *target, void *replacementTarget) |
| Clones all TimelineItems whose target matches target, but replacing their target with replacementTarget. | |
| void | replaceTarget (void *target, void *replacementTarget) |
| Replaces the target of all TimelineItems whose target matches target, with replacementTarget. | |
| void | clear () |
| Remove all tweens from the Timeline. Do not call from callback fn's. | |
| void | reset (bool unsetStarted=false) |
| Sets the time to zero, marks all tweens as not completed, and if unsetStarted, marks the tweens as not started. Do not call from callback fn's. | |
| void | setDefaultAutoRemove (bool defaultAutoRemove) |
| Sets the default autoRemove value for all future TimelineItems added to the Timeline. | |
| bool | getDefaultAutoRemove () const |
| Returns the default autoRemove value for all future TimelineItems added to the Timeline. | |
| void | itemTimeChanged (TimelineItem *item) |
| Call this to notify the Timeline if the item's start-time or duration has changed. Advanced use cases only. | |
| TimelineRef | thisRef () |
| void * | getTarget () const |
| Returns the item's target pointer. | |
| float | getStartTime () const |
| Returns the item's start time. | |
| void | setStartTime (float newTime) |
| Set the items's start time to newTime. | |
| float | getDuration () const |
| Returns the item's duration. | |
| void | setDuration (float newDuration) |
| Sets the item's duration to newDuration. | |
| bool | getLoop () const |
| Returns whether the item starts over when it is complete. | |
| void | setLoop (bool doLoop=true) |
| Sets whether the item starts over when it is complete. | |
| bool | getPingPong () const |
| Returns whether the item alternates between forward and reverse. Overrides loop when true. | |
| void | setPingPong (bool pingPong=true) |
| Sets whether the item alternates between forward and reverse. Overrides loop when true. | |
| bool | getInfinite () const |
| Returns whether the item ever is marked as complete. | |
| void | setInfinite (bool infinite=true) |
| Sets whether the item ever is marked as complete. | |
| float | getEndTime () const |
| Returns the time of the item's competion, equivalent to getStartTime() + getDuration(). | |
| class Timeline * | getParent () const |
| Returns a pointer to the item's parent Timeline. | |
| void | removeSelf () |
| Removes the item from its parent Timeline. | |
| bool | hasStarted () const |
| Returns whether the item has started. | |
| bool | isComplete () |
| Returns whether the item has completed. | |
| bool | getAutoRemove () const |
| Should the item remove itself from the Timeline when it is complete. | |
| void | setAutoRemove (bool autoRemove=true) |
| Sets whether the item will remove itself from the Timeline when it is complete. | |
| virtual bool | updateAtLoopStart () |
| Call update() only at the beginning of each loop (for example Cues exhibit require this behavior) | |
| void | stepTo (float time, bool reverse) |
| go to a specific time, generally called by the parent Timeline only. If reverse then playhead is interpreted as retreating rather than advancing. | |
Static Public Member Functions | |
| static TimelineRef | create () |
| Creates a new timeline, defaulted to infinite. | |
Protected Member Functions | |
| Timeline () | |
| virtual void | reverse () |
| virtual TimelineItemRef | cloneReverse () const |
| Creates a cloned item which runs in reverse relative to a timeline of duration timelineDuration. | |
| virtual TimelineItemRef | clone () const |
| Creates a clone of the item. | |
| virtual void | start (bool reverse) |
| virtual void | loopStart () |
| virtual void | update (float absTime) |
| virtual void | complete (bool reverse) |
| void | eraseMarked () |
| virtual float | calcDuration () const |
| void | setDurationDirty () |
| void | updateDuration () const |
| float | loopTime (float absTime) |
| Converts time from absolute to absolute based on item's looping attributes. | |
| void | setTarget (void *target) |
Protected Attributes | |
| bool | mDefaultAutoRemove |
| float | mCurrentTime |
| std::multimap< void *, TimelineItemRef > | mItems |
| class Timeline * | mParent |
| void * | mTarget |
| float | mStartTime |
| bool | mHasStarted |
| bool | mHasReverseStarted |
| bool | mComplete |
| bool | mReverseComplete |
| bool | mMarkedForRemoval |
| bool | mInfinite |
| bool | mLoop |
| bool | mPingPong |
| bool | mUseAbsoluteTime |
| bool | mAutoRemove |
| int32_t | mLastLoopIteration |
Friends | |
| class | Timeline |
| cinder::Timeline::Timeline | ( | ) | [protected] |
| static TimelineRef cinder::Timeline::create | ( | ) | [static] |
Creates a new timeline, defaulted to infinite.
| void cinder::Timeline::step | ( | float | timestep | ) |
Advances time a specified amount and evaluates items.
| void cinder::Timeline::stepTo | ( | float | absoluteTime | ) |
Goes to a specific time and evaluates items.
| float cinder::Timeline::getCurrentTime | ( | ) | const |
Returns the timeline's most recent current time.
| Tween<T>::Options cinder::Timeline::apply | ( | Anim< T > * | target, |
| T | endValue, | ||
| float | duration, | ||
| EaseFn | easeFunction = easeNone, |
||
| typename Tween< T >::LerpFn | lerpFunction = &tweenLerp<T> |
||
| ) |
Replaces any existing tweens on the target with a new tween at the timeline's current time.
| Tween<T>::Options cinder::Timeline::apply | ( | Anim< T > * | target, |
| T | startValue, | ||
| T | endValue, | ||
| float | duration, | ||
| EaseFn | easeFunction = easeNone, |
||
| typename Tween< T >::LerpFn | lerpFunction = &tweenLerp<T> |
||
| ) |
Replaces any existing tweens on the target with a new tween at the timeline's current time.
| Tween<T>::Options cinder::Timeline::appendTo | ( | Anim< T > * | target, |
| T | endValue, | ||
| float | duration, | ||
| EaseFn | easeFunction = easeNone, |
||
| typename Tween< T >::LerpFn | lerpFunction = &tweenLerp<T> |
||
| ) |
Creates a new tween and adds it to the end of the last tween on target, or if no existing tween matches the target, the current time.
| Tween<T>::Options cinder::Timeline::appendTo | ( | Anim< T > * | target, |
| T | startValue, | ||
| T | endValue, | ||
| float | duration, | ||
| EaseFn | easeFunction = easeNone, |
||
| typename Tween< T >::LerpFn | lerpFunction = &tweenLerp<T> |
||
| ) |
Creates a new tween and adds it to the end of the last tween on target, or if no existing tween matches the target, the current time.
| Tween<T>::Options cinder::Timeline::applyPtr | ( | T * | target, |
| T | endValue, | ||
| float | duration, | ||
| EaseFn | easeFunction = easeNone, |
||
| typename Tween< T >::LerpFn | lerpFunction = &tweenLerp<T> |
||
| ) |
Replaces any existing tweens on the target with a new tween at the timeline's current time. Consider the apply( Anim<T>* ) variant unless you have an advanced use case.
| Tween<T>::Options cinder::Timeline::applyPtr | ( | T * | target, |
| T | startValue, | ||
| T | endValue, | ||
| float | duration, | ||
| EaseFn | easeFunction = easeNone, |
||
| typename Tween< T >::LerpFn | lerpFunction = &tweenLerp<T> |
||
| ) |
Replaces any existing tweens on the target with a new tween at the timeline's current time. Consider the apply( Anim<T>* ) variant unless you have an advanced use case.
| Tween<T>::Options cinder::Timeline::appendToPtr | ( | T * | target, |
| T | endValue, | ||
| float | duration, | ||
| EaseFn | easeFunction = easeNone, |
||
| typename Tween< T >::LerpFn | lerpFunction = &tweenLerp<T> |
||
| ) |
Creates a new tween and adds it to the end of the last tween on target, or if no existing tween matches the target, the current time. Consider the appendTo( Anim<T>* ) variant unless you have an advanced use case.
| Tween<T>::Options cinder::Timeline::appendToPtr | ( | T * | target, |
| T | startValue, | ||
| T | endValue, | ||
| float | duration, | ||
| EaseFn | easeFunction = easeNone, |
||
| typename Tween< T >::LerpFn | lerpFunction = &tweenLerp<T> |
||
| ) |
Creates a new tween and adds it to the end of the last tween on target, or if no existing tween matches the target, the current time. Consider the appendTo( Anim<T>* ) variant unless you have an advanced use case.
| CueRef cinder::Timeline::add | ( | const std::function< void()> & | action, |
| float | atTime | ||
| ) |
add a cue to the Timeline add the start-time atTime
| FnTweenRef<T> cinder::Timeline::applyFn | ( | const std::function< void(T)> & | fn, |
| T | startValue, | ||
| T | endValue, | ||
| float | duration, | ||
| const EaseFn & | easeFunction = easeNone, |
||
| const typename Tween< T >::LerpFn & | lerpFunction = &tweenLerp<T> |
||
| ) |
| void cinder::Timeline::appendPingPong | ( | ) |
Appends to the end of the timeline mirror images of all items.
| void cinder::Timeline::apply | ( | TimelineItemRef | item | ) |
Replaces any existing TimelineItems that match item's target and adds item to the timeline. Safe to use from callback fn's.
| void cinder::Timeline::add | ( | TimelineItemRef | item | ) |
add an item to the timeline at the current time. Safe to use from callback fn's.
| void cinder::Timeline::insert | ( | TimelineItemRef | item | ) |
adds an item to the timeline. Its start time is not modified. Safe to use from callback fn's.
| void cinder::Timeline::insert | ( | TimelineItemRef | item, |
| float | atTime | ||
| ) |
adds an item to the timeline, setting its startTime to be at atTime. Safe to use from callback fn's.
| size_t cinder::Timeline::getNumItems | ( | ) | const |
Returns the number of items in the Timeline.
| bool cinder::Timeline::empty | ( | ) | const |
Returns true if there are no items in the Timeline.
| TimelineItemRef cinder::Timeline::find | ( | void * | target | ) | const |
Returns the first item in the timeline the target of which matches target.
| TimelineItemRef cinder::Timeline::findLast | ( | void * | target | ) | const |
Returns the latest-starting item in the timeline the target of which matches target.
| TimelineItemRef cinder::Timeline::findLastEnd | ( | void * | target | ) | const |
Returns the latest-end item in the timeline the target of which matches target.
| float cinder::Timeline::findEndTimeOf | ( | void * | target, |
| bool * | found = NULL |
||
| ) | const |
Returns the end of the latest-ending item in the timeline the target of which matches target, or the current time if it's not found. found can store whether a related item was found.
| void cinder::Timeline::remove | ( | TimelineItemRef | item | ) |
Removes the TimelineItem item from the Timeline. Safe to use from callback fn's.
| void cinder::Timeline::removeTarget | ( | void * | target | ) |
Removes all TimelineItems whose target matches target.
| void cinder::Timeline::cloneAndReplaceTarget | ( | void * | target, |
| void * | replacementTarget | ||
| ) |
Clones all TimelineItems whose target matches target, but replacing their target with replacementTarget.
| void cinder::Timeline::replaceTarget | ( | void * | target, |
| void * | replacementTarget | ||
| ) |
Replaces the target of all TimelineItems whose target matches target, with replacementTarget.
| void cinder::Timeline::clear | ( | ) |
Remove all tweens from the Timeline. Do not call from callback fn's.
| void cinder::Timeline::reset | ( | bool | unsetStarted = false | ) | [virtual] |
Sets the time to zero, marks all tweens as not completed, and if unsetStarted, marks the tweens as not started. Do not call from callback fn's.
Reimplemented from cinder::TimelineItem.
| void cinder::Timeline::setDefaultAutoRemove | ( | bool | defaultAutoRemove | ) |
Sets the default autoRemove value for all future TimelineItems added to the Timeline.
| bool cinder::Timeline::getDefaultAutoRemove | ( | ) | const |
Returns the default autoRemove value for all future TimelineItems added to the Timeline.
| void cinder::Timeline::itemTimeChanged | ( | TimelineItem * | item | ) |
Call this to notify the Timeline if the item's start-time or duration has changed. Advanced use cases only.
Reimplemented from cinder::TimelineItem.
| void cinder::Timeline::reverse | ( | ) | [protected, virtual] |
Implements cinder::TimelineItem.
| TimelineItemRef cinder::Timeline::cloneReverse | ( | ) | const [protected, virtual] |
Creates a cloned item which runs in reverse relative to a timeline of duration timelineDuration.
Implements cinder::TimelineItem.
| TimelineItemRef cinder::Timeline::clone | ( | ) | const [protected, virtual] |
Creates a clone of the item.
Implements cinder::TimelineItem.
| virtual void cinder::Timeline::start | ( | bool | reverse | ) | [protected, virtual] |
Implements cinder::TimelineItem.
| void cinder::Timeline::loopStart | ( | ) | [protected, virtual] |
Reimplemented from cinder::TimelineItem.
| void cinder::Timeline::update | ( | float | absTime | ) | [protected, virtual] |
Implements cinder::TimelineItem.
| virtual void cinder::Timeline::complete | ( | bool | reverse | ) | [protected, virtual] |
Implements cinder::TimelineItem.
| void cinder::Timeline::eraseMarked | ( | ) | [protected] |
| float cinder::Timeline::calcDuration | ( | ) | const [protected, virtual] |
Reimplemented from cinder::TimelineItem.
| void* cinder::TimelineItem::getTarget | ( | ) | const [inherited] |
Returns the item's target pointer.
Reimplemented in cinder::Tween< T >.
| float cinder::TimelineItem::getStartTime | ( | ) | const [inherited] |
Returns the item's start time.
| void cinder::TimelineItem::setStartTime | ( | float | newTime | ) | [inherited] |
Set the items's start time to newTime.
| float cinder::TimelineItem::getDuration | ( | ) | const [inherited] |
Returns the item's duration.
| void cinder::TimelineItem::setDuration | ( | float | newDuration | ) | [inherited] |
Sets the item's duration to newDuration.
| bool cinder::TimelineItem::getLoop | ( | ) | const [inherited] |
Returns whether the item starts over when it is complete.
| void cinder::TimelineItem::setLoop | ( | bool | doLoop = true | ) | [inherited] |
Sets whether the item starts over when it is complete.
| bool cinder::TimelineItem::getPingPong | ( | ) | const [inherited] |
Returns whether the item alternates between forward and reverse. Overrides loop when true.
| void cinder::TimelineItem::setPingPong | ( | bool | pingPong = true | ) | [inherited] |
Sets whether the item alternates between forward and reverse. Overrides loop when true.
| bool cinder::TimelineItem::getInfinite | ( | ) | const [inherited] |
Returns whether the item ever is marked as complete.
| void cinder::TimelineItem::setInfinite | ( | bool | infinite = true | ) | [inherited] |
Sets whether the item ever is marked as complete.
| float cinder::TimelineItem::getEndTime | ( | ) | const [inherited] |
Returns the time of the item's competion, equivalent to getStartTime() + getDuration().
| class Timeline* cinder::TimelineItem::getParent | ( | ) | const [inherited] |
Returns a pointer to the item's parent Timeline.
| void cinder::TimelineItem::removeSelf | ( | ) | [inherited] |
Removes the item from its parent Timeline.
| bool cinder::TimelineItem::hasStarted | ( | ) | const [inherited] |
Returns whether the item has started.
| bool cinder::TimelineItem::isComplete | ( | ) | [inherited] |
Returns whether the item has completed.
| bool cinder::TimelineItem::getAutoRemove | ( | ) | const [inherited] |
Should the item remove itself from the Timeline when it is complete.
| void cinder::TimelineItem::setAutoRemove | ( | bool | autoRemove = true | ) | [inherited] |
Sets whether the item will remove itself from the Timeline when it is complete.
| virtual bool cinder::TimelineItem::updateAtLoopStart | ( | ) | [virtual, inherited] |
Call update() only at the beginning of each loop (for example Cues exhibit require this behavior)
Reimplemented in cinder::Cue.
| void cinder::TimelineItem::stepTo | ( | float | time, |
| bool | reverse | ||
| ) | [inherited] |
go to a specific time, generally called by the parent Timeline only. If reverse then playhead is interpreted as retreating rather than advancing.
| void cinder::TimelineItem::setDurationDirty | ( | ) | [protected, inherited] |
| void cinder::TimelineItem::updateDuration | ( | ) | const [protected, inherited] |
| float cinder::TimelineItem::loopTime | ( | float | absTime | ) | [protected, inherited] |
Converts time from absolute to absolute based on item's looping attributes.
| void cinder::TimelineItem::setTarget | ( | void * | target | ) | [protected, inherited] |
friend class Timeline [friend, inherited] |
bool cinder::Timeline::mDefaultAutoRemove [protected] |
float cinder::Timeline::mCurrentTime [protected] |
std::multimap<void*,TimelineItemRef> cinder::Timeline::mItems [protected] |
class Timeline* cinder::TimelineItem::mParent [protected, inherited] |
void* cinder::TimelineItem::mTarget [protected, inherited] |
float cinder::TimelineItem::mStartTime [protected, inherited] |
bool cinder::TimelineItem::mHasStarted [protected, inherited] |
bool cinder::TimelineItem::mHasReverseStarted [protected, inherited] |
bool cinder::TimelineItem::mComplete [protected, inherited] |
bool cinder::TimelineItem::mReverseComplete [protected, inherited] |
bool cinder::TimelineItem::mMarkedForRemoval [protected, inherited] |
bool cinder::TimelineItem::mInfinite [protected, inherited] |
bool cinder::TimelineItem::mLoop [protected, inherited] |
bool cinder::TimelineItem::mPingPong [protected, inherited] |
bool cinder::TimelineItem::mUseAbsoluteTime [protected, inherited] |
bool cinder::TimelineItem::mAutoRemove [protected, inherited] |
int32_t cinder::TimelineItem::mLastLoopIteration [protected, inherited] |