Classes | Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Friends
cinder::Tween< T > Class Template Reference

#include <Tween.h>

Inherits cinder::TweenBase.

Inherited by cinder::FnTween< T >.

List of all members.

Classes

class  Options

Public Types

typedef std::function< T(const
T &, const T &, float)> 
LerpFn
typedef std::function< void()> StartFn
typedef std::function< void()> FinishFn
typedef std::function< void()> UpdateFn

Public Member Functions

 Tween (T *target, T endValue, float startTime, float duration, EaseFn easeFunction=easeNone, LerpFn lerpFunction=&tweenLerp< T >)
 Tween (T *target, T startValue, T endValue, float startTime, float duration, EaseFn easeFunction=easeNone, LerpFn lerpFunction=&tweenLerp< T >)
virtual ~Tween ()
getStartValue () const
 Returns the starting value for the tween. If the tween will copy its target's value upon starting (isCopyStartValue()) and the tween has not started, this returns the value of its target when the tween was created.
getEndValue () const
T * getTarget () const
 Returns the item's target pointer.
bool isCopyStartValue ()
 Returns whether the tween will copy its target's value upon starting.
void setLerpFn (const LerpFn &lerpFn)
TweenRef< T > getThisRef ()
 Returns a TweenRef<T> to this.
void setEaseFn (EaseFn easeFunction)
 change how the tween moves through time
EaseFn getEaseFn () const
void setStartFn (StartFn startFunction)
StartFn getStartFn () const
void setReverseStartFn (StartFn reverseStartFunction)
StartFn getReverseStartFn () const
void setUpdateFn (UpdateFn updateFunction)
UpdateFn getUpdateFn () const
void setFinishFn (FinishFn finishFn)
FinishFn getFinishFn () const
void setReverseFinishFn (FinishFn reverseFinishFn)
FinishFn getReverseFinishFn () const
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 TimelinegetParent () 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 void loopStart ()
virtual bool updateAtLoopStart ()
 Call update() only at the beginning of each loop (for example Cues exhibit require this behavior)
virtual float calcDuration () const
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.
TimelineItemRef thisRef ()

Protected Member Functions

virtual void reverse ()
virtual TimelineItemRef clone () const
 Creates a clone of the item.
virtual TimelineItemRef cloneReverse () const
 Creates a cloned item which runs in reverse relative to a timeline of duration timelineDuration.
virtual void start (bool reverse)
virtual void update (float relativeTime)
virtual void reset (bool unsetStarted)
 Marks the item as not completed, and if unsetStarted, marks the item as not started.
virtual void complete (bool reverse)
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

mStartValue
mEndValue
LerpFn mLerpFunction
StartFn mStartFunction
StartFn mReverseStartFunction
UpdateFn mUpdateFunction
FinishFn mFinishFunction
FinishFn mReverseFinishFunction
EaseFn mEaseFunction
float mDuration
bool mCopyStartValue
class TimelinemParent
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

template<typename T>
class cinder::Tween< T >


Member Typedef Documentation

template<typename T>
typedef std::function<T (const T&, const T&, float)> cinder::Tween< T >::LerpFn
typedef std::function<void ()> cinder::TweenBase::StartFn [inherited]
typedef std::function<void ()> cinder::TweenBase::FinishFn [inherited]
typedef std::function<void ()> cinder::TweenBase::UpdateFn [inherited]

Constructor & Destructor Documentation

template<typename T>
cinder::Tween< T >::Tween ( T *  target,
endValue,
float  startTime,
float  duration,
EaseFn  easeFunction = easeNone,
LerpFn  lerpFunction = &tweenLerp<T> 
)
template<typename T>
cinder::Tween< T >::Tween ( T *  target,
startValue,
endValue,
float  startTime,
float  duration,
EaseFn  easeFunction = easeNone,
LerpFn  lerpFunction = &tweenLerp<T> 
)
template<typename T>
virtual cinder::Tween< T >::~Tween ( ) [virtual]

Member Function Documentation

template<typename T>
T cinder::Tween< T >::getStartValue ( ) const

Returns the starting value for the tween. If the tween will copy its target's value upon starting (isCopyStartValue()) and the tween has not started, this returns the value of its target when the tween was created.

template<typename T>
T cinder::Tween< T >::getEndValue ( ) const
template<typename T>
T* cinder::Tween< T >::getTarget ( ) const

Returns the item's target pointer.

Reimplemented from cinder::TimelineItem.

template<typename T>
bool cinder::Tween< T >::isCopyStartValue ( )

Returns whether the tween will copy its target's value upon starting.

template<typename T>
void cinder::Tween< T >::setLerpFn ( const LerpFn lerpFn)
template<typename T>
TweenRef<T> cinder::Tween< T >::getThisRef ( )

Returns a TweenRef<T> to this.

template<typename T>
virtual void cinder::Tween< T >::reverse ( ) [protected, virtual]

Implements cinder::TimelineItem.

template<typename T>
virtual TimelineItemRef cinder::Tween< T >::clone ( ) const [protected, virtual]

Creates a clone of the item.

Implements cinder::TimelineItem.

template<typename T>
virtual TimelineItemRef cinder::Tween< T >::cloneReverse ( ) const [protected, virtual]

Creates a cloned item which runs in reverse relative to a timeline of duration timelineDuration.

Implements cinder::TimelineItem.

template<typename T>
virtual void cinder::Tween< T >::start ( bool  reverse) [protected, virtual]

Implements cinder::TimelineItem.

template<typename T>
virtual void cinder::Tween< T >::update ( float  relativeTime) [protected, virtual]

Implements cinder::TimelineItem.

Reimplemented in cinder::FnTween< T >.

void cinder::TweenBase::setEaseFn ( EaseFn  easeFunction) [inherited]

change how the tween moves through time

EaseFn cinder::TweenBase::getEaseFn ( ) const [inherited]
void cinder::TweenBase::setStartFn ( StartFn  startFunction) [inherited]
StartFn cinder::TweenBase::getStartFn ( ) const [inherited]
void cinder::TweenBase::setReverseStartFn ( StartFn  reverseStartFunction) [inherited]
void cinder::TweenBase::setUpdateFn ( UpdateFn  updateFunction) [inherited]
void cinder::TweenBase::setFinishFn ( FinishFn  finishFn) [inherited]
void cinder::TweenBase::setReverseFinishFn ( FinishFn  reverseFinishFn) [inherited]
virtual void cinder::TweenBase::reset ( bool  unsetStarted) [protected, virtual, inherited]

Marks the item as not completed, and if unsetStarted, marks the item as not started.

Reimplemented from cinder::TimelineItem.

virtual void cinder::TweenBase::complete ( bool  reverse) [protected, virtual, inherited]

Implements cinder::TimelineItem.

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 void cinder::TimelineItem::loopStart ( ) [virtual, inherited]

Reimplemented in cinder::Cue, and cinder::Timeline.

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.

virtual float cinder::TimelineItem::calcDuration ( ) const [virtual, inherited]

Reimplemented in cinder::Timeline.

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.

Reimplemented in cinder::Timeline.

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]

Friends And Related Function Documentation

friend class Timeline [friend, inherited]

Member Data Documentation

template<typename T>
T cinder::Tween< T >::mStartValue [protected]
template<typename T>
T cinder::Tween< T >::mEndValue [protected]
template<typename T>
LerpFn cinder::Tween< T >::mLerpFunction [protected]
EaseFn cinder::TweenBase::mEaseFunction [protected, inherited]
float cinder::TweenBase::mDuration [protected, inherited]

Reimplemented from cinder::TimelineItem.

bool cinder::TweenBase::mCopyStartValue [protected, inherited]
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]

The documentation for this class was generated from the following file: