Click or drag to resize
DigitalRuneSingleKeyFrameAnimation Class
Animates a Single value using key frames.
Inheritance Hierarchy
SystemObject
  DigitalRune.AnimationAnimationSingle
    DigitalRune.AnimationKeyFrameAnimationSingle
      DigitalRune.AnimationSingleKeyFrameAnimation

Namespace: DigitalRune.Animation
Assembly: DigitalRune.Animation (in DigitalRune.Animation.dll) Version: 1.4.0.0 (1.4.1.14427)
Syntax
public class SingleKeyFrameAnimation : KeyFrameAnimation<float>

The SingleKeyFrameAnimation type exposes the following members.

Constructors
  NameDescription
Public methodSingleKeyFrameAnimation
Initializes a new instance of the SingleKeyFrameAnimation class
Top
Methods
  NameDescription
Public methodCreateBlendAnimation (Inherited from AnimationT.)
Public methodCreateInstance
Creates an animation instance that can be used to play back the animation. (For internal use only.)
(Inherited from AnimationT.)
Public methodEquals
Determines whether the specified Object is equal to the current Object.
(Inherited from Object.)
Protected methodFinalize
Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object.)
Public methodGetAnimationTime
Gets the animation time for the specified time on the timeline.
(Inherited from AnimationT.)
Public methodGetHashCode
Serves as a hash function for a particular type.
(Inherited from Object.)
Public methodGetState
Gets the state of the animation for the specified time on the timeline.
(Inherited from AnimationT.)
Public methodGetTotalDuration
Gets the total length of the timeline.
(Inherited from KeyFrameAnimationT.)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Public methodGetValue
Gets the value of the animation at the specified time.
(Inherited from AnimationT.)
Protected methodGetValueCore
Evaluates the animation function at the specified animation time.
(Inherited from KeyFrameAnimationT.)
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Top
Properties
  NameDescription
Public propertyEnableInterpolation
Gets or sets a value indicating whether values between key frames are interpolated.
(Inherited from KeyFrameAnimationT.)
Public propertyFillBehavior
Gets or sets a value that specifies how the animation behaves when it reaches the end of its duration.
(Inherited from AnimationT.)
Public propertyIsAdditive
Gets or sets a value indicating whether the output of the animation is added to the current value of the property that is being animated.
(Inherited from AnimationT.)
Public propertyKeyFrames
Gets the collection of key frames.
(Inherited from KeyFrameAnimationT.)
Public propertyTargetObject
Gets or sets the object to which the animation is applied by default.
(Inherited from AnimationT.)
Public propertyTargetProperty
Gets or sets the property to which the animation is applied by default.
(Inherited from AnimationT.)
Public propertyTraits
Gets the traits of the animation values.
(Overrides AnimationTTraits.)
Top
Remarks

A key frame animation contains a list of key frames (see property KeyFrames) that define the animation values at certain points in time. When the animation is played the class automatically looks up the animation value in the list of key frames.

Key Frame Interpolation: The property EnableInterpolation defines whether interpolation between key frames is enabled. When the property is set (default) the values between two key frames are interpolated. Each key frame animation class decides which type of a interpolation is most appropriate. For example, linear interpolation (LERP) is used for Single, Vector2F, Vector3F, etc. LERP is also used for QuaternionF (Spherical linear interpolation (SLERP) is not used for performance reasons). When interpolation is disabled, the animation returns the value of the previous key frame.

Please note that key frame animations (such as SingleKeyFrameAnimation, Vector2FKeyFrameAnimation, Vector3FKeyFrameAnimation, etc.) provide only limited control over interpolation between key frames. Curve-based animations (such as Curve2FAnimation, Path2FAnimation, Path3FAnimation, etc.) offer more advanced control: Curve-based animations allow to define an interpolation spline for each segment of the animation.

Cyclic Animations: A key frame animation, by default, runs until the last key frame is reached. The types TimelineClip and AnimationClipT can be used to repeat the entire key frame animation (or a certain clip) for a number of times using a certain loop-behavior (see LoopBehavior).

Important: The key frame animation requires that the key frames are sorted ascending by their time value. The method Sort can be called to sort all key frames.

See Also