You.i Engine
Animation

Detailed Description

Provides a means of transforming values over time.

Animations should be used when changing the appearance of a CYISceneNode, to make the change less jarring to end users of the application. For example when hiding a CYISceneNode instead of setting the opacity to 0.0f resulting in its immediate dissapearance; users should animate the opacity so that the node fades out.

You.i Engine provides the following animation classes:

Animations

CYIAnimation can be used for programmatic transformation of values over time and can be configured with an interpolator. Animations can be played forwards and in reverse. A CYIAnimation::Listener can be added to a CYIAnimation to receive updates on the animation's progress. Listeners can be informed of the animation's progress by implementing CYIAnimation::Listener::OnAnimate().

Interpolators

Interpolators define the rate of change throughout an animation allowing the transformation to accelerate and decelerate. Users can implement their own interpolator by subclassing CYITimeInterpolator and implementing CYITimeInterpolator::Interpolate().

Property Animations

Property animations can be used to modify the properties of type: CYISceneNode::PropertyAnimation::Type programmatically. A CYISceneNode::PropertyAnimation uses a CYITimeInterpolator to transform the value of a CYISceneNode's property from a specified value to a target value. A property animation can be started using CYISceneNode::StartPropertyAnimation() and stopped using CYISceneNode::StopPropertyAnimation().

Timelines

Timeline animations consist of a base class CYIAbstractTimeline and its subclasses: CYITimeline, CYITimelineLoop, and CYITimelineGroup. Timelines represent animations of multiple property transformations of multiple CYISceneNode targets. Each property's transformation is based on the values of key-frames of the animation, and the interpolation rules between each sucessive key-frame. Like animations, timelines can be played forwards or in reverse. In addition, they also emit CYISignals when starting and stopping. You.i Engine provides built-in timelines which are played automatically when a user interact with views. These timelines include 'In', 'Out', and others enumerated in CYIMarkerData::ID.

Timeline Loops

A CYITimelineLoop can be used to repeatedly play a timeline with a configurable number of repetitions, and an inverval between each repetition.

Timeline Groups

CYITimelineGroup and its subclasses provide a means of treating multiple timelines as a single timeline. The timelines within a group can be played one after another with a CYISerialTimelineGroup or simultaneously using a CYIParallelTimelineGroup.

Animation Toggle Controller

The CYIAnimationToggleController can be used to couple the playback of complementary CYIAbstractTimelines such as an 'on' and 'off.' Wrapping the use of a timeline with a CYIAnimationToggleController prevents the simultaneous use of two timelines which modify the same property.

Warning
Users should avoid playing multiple animations that affect the same value simultaneously in order to prevent undesirable behaviour.

Classes

class  CYIAbstractTimeline
 The base class for the timeline framework. More...
 
class  CYIAnimation
 Used to create animations programatically. More...
 
class  CYIInterpolateBackEaseIn
 An interpolator that 'overshoots' slightly at the start of the range. More...
 
class  CYIInterpolateBackEaseOut
 An interpolator that 'overshoots' slightly at the end of the range, before settling on the end value. More...
 
class  CYIInterpolateBezier
 An interpolator that follows a bezier curve. More...
 
class  CYIInterpolateBounceEaseOut
 An interpolator that 'bounces' at the end of the range. More...
 
class  CYIInterpolateCircularEaseIn
 
class  CYIInterpolateCircularEaseInEaseOut
 
class  CYIInterpolateCircularEaseOut
 
class  CYIInterpolateElasticEaseOut
 An interpolator that applies an 'elastic' effect at the end of the range. More...
 
class  CYIInterpolateHold
 An interpolator that always outputs the same value: 1.0. More...
 
class  CYIInterpolateInvert
 An interpolator that 'reverses' the provided range. More...
 
class  CYIInterpolateLinear
 An interpolator that just reflects the input value. More...
 
class  CYIInterpolatePath
 An interpolator that maps a range onto a CYIPath. More...
 
class  CYIInterpolateQuadEaseIn
 An interpolator that 'eases' the beginning of the range. More...
 
class  CYIInterpolateQuadEaseInEaseOut
 An interpolator that 'eases' both the beginning and end of the range. More...
 
class  CYIInterpolateQuadEaseOut
 An interpolator that 'eases' the end of the range. More...
 
class  CYIInterpolateQuintEaseOut
 An interpolator that 'eases' the beginning of the range. More...
 
class  CYIInterpolateSigmoid
 An interpolator that 'eases' the beginning and end of the range using a Sigmoid function. More...
 
class  CYIMarkerData
 Contains information on an exported marker from After Effects. More...
 
class  CYIParallelTimelineGroup
 This kind of timeline group will play its children in parallel, possibly with specified offsets (delays) from the beginning. More...
 
class  CYISerialTimelineGroup
 This kind of timeline group will play its children in sequence, possibly with specified offsets (delays) inbetween. More...
 
class  CYITimeInterpolator
 Container for basic interpolator functions. More...
 
class  CYITimeInterpolators
 A class used to hold static instances of time interpolators. All provided interpolators are state-less, and are safe to use in multiple threads. More...
 
class  CYITimeline
 A timeline which sources its data from a backing store. More...
 
class  CYITimelineBackingStore
 A class containing timeline marker and track data required to create a CYITimeline. More...
 
class  CYITimelineGroup
 The base class for types of timeline groups. More...
 
class  CYITimelineKeyTime
 An individual point in a CYITimelineTrack which represents a CYISceneNode property value for a specific time in the track. More...
 
class  CYITimelineLoop
 Repeats a timeline. More...
 
class  CYITimelineProxy
 A class used to proxy access to a CYIAbstractTimeline. More...
 
class  CYITimelineTrack
 A representation of a single track of a CYITimeline. More...
 
class  CYIVariant
 A container class for common data types. More...
 

Functions

bool operator== (const CYIVariant &rLHS, const CYIVariant &rRHS)
 All types are supported. Two 'invalid' variants are considered to be equal. More...
 
bool operator!= (const CYIVariant &rLHS, const CYIVariant &rRHS)
 All types are supported. Two 'invalid' variants are considered to be equal. More...
 

Function Documentation

bool operator!= ( const CYIVariant rLHS,
const CYIVariant rRHS 
)

All types are supported. Two 'invalid' variants are considered to be equal.

bool operator== ( const CYIVariant rLHS,
const CYIVariant rRHS 
)

All types are supported. Two 'invalid' variants are considered to be equal.