#include <FCDAnimationCurve.h>
Inheritance diagram for FCDAnimationCurve:
Public Member Functions | |
DeclareFlag (AnimChanged, 0) | |
DeclareFlagCount (1) | |
FCDAnimationCurve (FCDocument *document, FCDAnimationChannel *parent) | |
Constructor: do not use directly. | |
virtual | ~FCDAnimationCurve () |
Destructor. | |
FCDAnimationChannel * | GetParent () |
Retrieves the animation channel that contains this animation curve. | |
const FCDAnimationChannel * | GetParent () const |
See above. | |
FCDAnimationKey ** | GetKeys () |
Retrieves the list of keys for the animation curve. | |
const FCDAnimationKey ** | GetKeys () const |
See above. | |
size_t | GetKeyCount () const |
Retrieves the number of keys within the animation curve. | |
void | SetKeyCount (size_t count, FUDaeInterpolation::Interpolation interpolation) |
Sets the number of keys within the animation curve. | |
FCDAnimationKey * | GetKey (size_t index) |
Retrieves one key in the animation curve. | |
const FCDAnimationKey * | GetKey (size_t index) const |
See above. | |
FCDAnimationKey * | AddKey (FUDaeInterpolation::Interpolation interpolation) |
Appends a key to the animation curve. | |
FCDAnimationKey * | AddKey (FUDaeInterpolation::Interpolation interpolation, float input) |
Adds a new key to the animation curve at the given time. | |
FCDAnimationKey * | AddKey (FUDaeInterpolation::Interpolation interpolation, float input, size_t &index) |
Adds a new key to the animation curve at the given time. | |
bool | DeleteKey (FCDAnimationKey *key) |
Removes the given key from this curves list and deletes it. | |
FUDaeInfinity::Infinity | GetPreInfinity () const |
Retrieves the type of behavior for the curve if the input value is outside the input interval defined by the curve keys and less than any key input value. | |
void | SetPreInfinity (FUDaeInfinity::Infinity infinity) |
Sets the behavior of the curve if the input value is outside the input interval defined by the curve keys and less than any key input value. | |
FUDaeInfinity::Infinity | GetPostInfinity () const |
Retrieves the type of behavior for the curve if the input value is outside the input interval defined by the curve keys and greater than any key input value. | |
void | SetPostInfinity (FUDaeInfinity::Infinity infinity) |
Sets the behavior of the curve if the input value is outside the input interval defined by the curve keys and greater than any key input value. | |
bool | HasDriver () const |
Retrieves whether this animation curve has a driver. | |
void | GetDriver (FCDAnimated *&driver, int32 &index) |
Retrieves the value pointer that drives this animation curve. | |
void | GetDriver (const FCDAnimated *&driver, int32 &index) const |
See above. | |
FCDAnimated * | GetDriverPtr () |
int32 | GetDriverIndex () |
[INTERNAL] Retrieve the driver index. | |
void | SetDriver (FCDAnimated *driver, int32 index) |
Sets the value pointer that drives the animation curve. | |
size_t | GetClipCount () const |
Retrieves the number of animation clips that use this animation curve. | |
FCDAnimationClip ** | GetClips () |
Retrieves the list of animation clips that use this animation curve. | |
const FCDAnimationClip ** | GetClips () const |
See above. | |
FCDAnimationClip * | GetClip (size_t index) |
Retrieves an animation clips that use this animation curve. | |
const FCDAnimationClip * | GetClip (size_t index) const |
See above. | |
void | AddClip (FCDAnimationClip *clip) |
Adds an animation clip to the list of animation clips that use this curve. | |
void | SetCurrentAnimationClip (FCDAnimationClip *clip) |
Updates the keys to match the timing of an animation clip that has been registered using RegisterAnimationClip, or returned from GetClips. | |
const float | GetClipOffset (size_t index) const |
Gets the offset for an animation clip. | |
FCDAnimationCurve * | Clone (FCDAnimationCurve *clone=NULL, bool includeClips=true) const |
Clones the animation curve. | |
void | ConvertValues (FCDConversionFunction valueConversion, FCDConversionFunction tangentConversion) |
Applies a conversion function to the key output values of the animation curve. | |
void | ConvertValues (FCDConversionFunctor *valueConversion, FCDConversionFunctor *tangentConversion) |
See above. | |
void | ConvertInputs (FCDConversionFunction timeConversion, FCDConversionFunction tangentWeightConversion) |
Applies a conversion function to the key input values of the animation curve. | |
void | ConvertInputs (FCDConversionFunctor *timeConversion, FCDConversionFunctor *tangentWeightConversion) |
See above. | |
float | Evaluate (float input) const |
Evaluates the animation curve. | |
void | RegisterAnimationClip (FCDAnimationClip *clip) |
[INTERNAL] Adds an animation clip to the list of animation clips that use this curve. | |
int32 | GetTargetElement () const |
[INTERNAL] Retrieves the target element suffix for the curve. | |
const fm::string & | GetTargetQualifier () const |
[INTERNAL] Retrieves the target qualifier for the curve. | |
void | SetTargetElement (int32 e) |
[INTERNAL] Sets the target element suffix for the curve. | |
void | SetTargetQualifier (const fm::string &q) |
[INTERNAL] Sets the target qualifier for the curve. | |
void | SetClipOffset (float offset, const FCDAnimationClip *clip) |
[INTERNAL] Updates the offset for a given animation clip. | |
Static Public Member Functions | |
static void | Set2DCurveEvaluation (bool flag) |
Sets the 2D Curve Evaluation flag. | |
static bool | Is2DCurveEvaluation () |
Returns whether 2D Curve Evaluation is on or off. |
An animation curve holds the keyframes necessary to animate an animatable floating-point value.
There are multiple interpolation mechanisms supported by COLLADA. FCollada supports the CONSTANT, LINEAR and BEZIER interpolations.
|
Constructor: do not use directly. Instead, use the FCDAnimationChannel::AddCurve function. You should also attach the new curve to an animated element using the FCDAnimated::SetCurve function.
|
|
Adds an animation clip to the list of animation clips that use this curve.
|
|
Adds a new key to the animation curve at the given time.
|
|
Adds a new key to the animation curve at the given time.
|
|
Appends a key to the animation curve.
|
|
Clones the animation curve. The animation clips can be cloned as well, but this may lead to an infinite recursion because cloning the clips will also clone its curves.
|
|
Applies a conversion function to the key input values of the animation curve.
|
|
Applies a conversion function to the key output values of the animation curve.
|
|
Removes the given key from this curves list and deletes it.
|
|
Evaluates the animation curve.
|
|
Retrieves an animation clips that use this animation curve.
|
|
Retrieves the number of animation clips that use this animation curve.
|
|
Gets the offset for an animation clip. When the offset is added to the keys, it causes the animation curve to be repositioned so that the animation clip starts at the beginning.
|
|
Retrieves the list of animation clips that use this animation curve.
|
|
Retrieves the value pointer that drives this animation curve.
|
|
[INTERNAL] Retrieve the driver index.
|
|
Retrieves one key in the animation curve.
|
|
Retrieves the number of keys within the animation curve.
|
|
Retrieves the list of keys for the animation curve.
|
|
Retrieves the animation channel that contains this animation curve.
|
|
Retrieves the type of behavior for the curve if the input value is outside the input interval defined by the curve keys and greater than any key input value.
|
|
Retrieves the type of behavior for the curve if the input value is outside the input interval defined by the curve keys and less than any key input value.
|
|
[INTERNAL] Retrieves the target element suffix for the curve. This will be -1 if the animated element does not belong to an animated element list.
|
|
[INTERNAL] Retrieves the target qualifier for the curve. This will be the empty string if that the curve affects a one-dimensional animated element.
|
|
Retrieves whether this animation curve has a driver.
|
|
Returns whether 2D Curve Evaluation is on or off.
|
|
[INTERNAL] Adds an animation clip to the list of animation clips that use this curve.
|
|
Sets the 2D Curve Evaluation flag. This flag can be set by the user to enable the slower, but higher quality 2D evaluation. If the flag is negative, the faster 1D slope-based evaluation is performed. Defaults to true.
|
|
[INTERNAL] Updates the offset for a given animation clip.
|
|
Updates the keys to match the timing of an animation clip that has been registered using RegisterAnimationClip, or returned from GetClips.
|
|
Sets the value pointer that drives the animation curve.
|
|
Sets the number of keys within the animation curve.
|
|
Sets the behavior of the curve if the input value is outside the input interval defined by the curve keys and greater than any key input value.
|
|
Sets the behavior of the curve if the input value is outside the input interval defined by the curve keys and less than any key input value.
|
|
[INTERNAL] Sets the target element suffix for the curve.
|
|
[INTERNAL] Sets the target qualifier for the curve.
|