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:
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 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 can be used to modify the properties of type: YI_NODE_PROPERTY_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().
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::MARKER_ID.
A CYITimelineLoop can be used to repeatedly play a timeline with a configurable number of repetitions, and an inverval between each repetition.
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.
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.
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) |
| Supported types: Int, String, Float, FloatVector and Quaternion. More... | |
| bool | operator!= (const CYIVariant &rLHS, const CYIVariant &rRHS) |
| Supported types: Int, String, Float, FloatVector and Quaternion. More... | |
| bool operator!= | ( | const CYIVariant & | rLHS, |
| const CYIVariant & | rRHS | ||
| ) |
Supported types: Int, String, Float, FloatVector and Quaternion.
| bool operator== | ( | const CYIVariant & | rLHS, |
| const CYIVariant & | rRHS | ||
| ) |
Supported types: Int, String, Float, FloatVector and Quaternion.