Unigine::AnimationCurveDouble Class
The functionality described here is EXPERIMENTAL and is not recommended for production use. Future releases may bring significant changes to API and features. Backward compatibility of the final production-ready version is not guaranteed.
Header: | #include <UnigineAnimation.h> |
Inherits from: | AnimationCurve |
This class represents an interface enabling you to create and manage animation curves containing double precision values.
AnimationCurveDouble Class
Members
double getDefaultKeyValue() const#
Returns the current default value of all keys in the curve.
Return value
Current default value of all keys in the curve.getNumKeys() const#
Returns the current total number of key points in the curve.
Return value
Current total number of key points in the curve.getMinTime() const#
Returns the current point of the whole animation timeline where this curve starts being applied, in units.
Return value
Current point of the whole animation timeline where this curve starts being applied, in units.getMaxTime() const#
Returns the current point of the whole animation timeline up to which this curve is applied, in units.
Return value
Current point of the whole animation timeline up to which this curve is applied, in units.AnimationCurveDouble ( ) #
Constructor. Creates a new animation curve instance containing double-precision values.void copy ( const Ptr<AnimationCurveDouble> & curve ) #
Copies all data (key points and tangents) from the specified source curve.Arguments
- const Ptr<AnimationCurveDouble> & curve - Source curve.
int addKey ( float time, double value ) #
Adds a new key point with the specified value at the specified point of the timeline to the curve.Arguments
- float time - Time of the key on the timeline, in seconds.
- double value - The double-precision value of the key.
Return value
Index of the added key point.int addKey ( float time, double value, AnimationCurve::KEY_TYPE type ) #
Adds a new key point with the specified value and type at the specified point of the timeline to the curve.Arguments
- float time - Time of the key on the timeline, in seconds.
- double value - The double-precision value of the key.
- AnimationCurve::KEY_TYPE type - Interpolation type set for the key, one of the KEY_TYPE_* values.
Return value
Index of the added key point.int addKey ( float time, double value, AnimationCurve::KEY_TYPE type, const Math::vec2 & left_tangent, const Math::vec2 & right_tangent ) #
Adds a new key point with the specified value, type and tangents at the specified point of the timeline to the curve.Arguments
- float time - Time of the key on the timeline, in seconds.
- double value - The double-precision value of the key.
- AnimationCurve::KEY_TYPE type - Interpolation type set for the key, one of the KEY_TYPE_* values.
- const Math::vec2 & left_tangent - Coordinates of the left tangent at the key point.
- const Math::vec2 & right_tangent - Coordinates of the right tangent at the key point.
Return value
Index of the added key point.void removeKey ( int index ) #
Removes the key point with the specified index from the curve.Arguments
- int index - Key point number, in the range from 0 to the total number of key points in the curve.
int moveKey ( int index, float new_time ) #
Moves the key point with the specified number to a new time position (preserving the tangents). The index of key point will be updated automatically. This method can be used to implement dragging of keys on the curve.Arguments
- int index - Key point number, in the range from 0 to the total number of key points in the curve.
- float new_time - Time of the key on the timeline, in seconds.
Return value
New index of the key.void setKeyType ( int index, AnimationCurve::KEY_TYPE type ) #
Sets the interpolation type for the specified key on the curve.Arguments
- int index - Key point number, in the range from 0 to the total number of key points in the curve.
- AnimationCurve::KEY_TYPE type - Interpolation type set for the key, one of the KEY_TYPE_* values.
AnimationCurve::KEY_TYPE getKeyType ( int index ) const#
Returns the interpolation type of the specified key on the curve.Arguments
- int index - Key point number, in the range from 0 to the total number of key points in the curve.
Return value
Interpolation type set for the key, one of the KEY_TYPE_* values.float getKeyTime ( int index ) const#
Returns the current time of the key point with the specified index.Arguments
- int index - Key point number, in the range from 0 to the total number of key points in the curve.
Return value
The time of the specified key point on the timeline, in seconds.void setKeyValue ( int index, double value ) #
Sets the value for the specified key on the curve.Arguments
- int index - Key point number, in the range from 0 to the total number of key points in the curve.
- double value - The double-precision value of the key.
double getKeyValue ( int index ) const#
Returns the current value for the specified key on the curve.Arguments
- int index - Key point number, in the range from 0 to the total number of key points in the curve.
Return value
The double-precision value of the key.void setKeyLeftTangent ( int index, const Math::vec2 & left_tangent ) #
Sets new coordinates for the left tangent at the specified key point of the curve.Arguments
- int index - Key point number, in the range from 0 to the total number of key points in the curve.
- const Math::vec2 & left_tangent - Coordinates of the left tangent at the specified key point to be set.
Math::vec2 getKeyLeftTangent ( int index ) const#
Returns the current coordinates for the left tangent at the specified key point of the curve.Arguments
- int index - Key point number, in the range from 0 to the total number of key points in the curve.
Return value
Coordinates of the left tangent at the specified key point to be set.void setKeyRightTangent ( int index, const Math::vec2 & right_tangent ) #
Sets new coordinates for the right tangent at the specified key point of the curve.Arguments
- int index - Key point number, in the range from 0 to the total number of key points in the curve.
- const Math::vec2 & right_tangent - Coordinates of the right tangent at the specified key point to be set.
Math::vec2 getKeyRightTangent ( int index ) const#
Returns the current coordinates for the right tangent at the specified key point of the curve.Arguments
- int index - Key point number, in the range from 0 to the total number of key points in the curve.
Return value
Coordinates of the right tangent at the specified key point to be set.void setTypeOfAllKeys ( AnimationCurve::KEY_TYPE type ) #
Sets the interpolation type for all keys of the curve.Arguments
- AnimationCurve::KEY_TYPE type - Interpolation type set for the key, one of the KEY_TYPE_* values.
void clear ( ) #
Clears the curve removing all key points and tangents.double getValueByTime ( float time ) #
Returns the key value at the specified key point of the curve.Arguments
- float time - Time of the key on the timeline, in seconds.
Return value
The double-precision value of the key.double getValueByNormalizedTime ( float normalized_time ) #
Returns the key value using the normalized time value of the key.Arguments
- float normalized_time - The normalized time value of the key.
Return value
The double-precision value of the key.void save ( const Ptr<Blob> & blob ) const#
Saves the curve data to a blob.Arguments
void load ( const Ptr<Blob> & blob ) #
Loads the curve data from the blob.Arguments
Last update:
13.12.2024
Помогите сделать статью лучше
Была ли эта статья полезной?
(или выберите слово/фразу и нажмите Ctrl+Enter