This page has been translated automatically.
Video Tutorials
Interface
Essentials
Advanced
How To
Rendering
Professional (SIM)
UnigineEditor
Interface Overview
Assets Workflow
Version Control
Settings and Preferences
Working With Projects
Adjusting Node Parameters
Setting Up Materials
Setting Up Properties
Lighting
Sandworm
Using Editor Tools for Specific Tasks
Extending Editor Functionality
Built-in Node Types
Nodes
Objects
Effects
Decals
Light Sources
Geodetics
World Nodes
Sound Objects
Pathfinding Objects
Players
Programming
Fundamentals
Setting Up Development Environment
Usage Examples
C++
C#
UnigineScript
UUSL (Unified UNIGINE Shader Language)
Plugins
File Formats
Materials and Shaders
Rebuilding the Engine Tools
GUI
VR Development
Double Precision Coordinates
API
Containers
Common Functionality
Controls-Related Classes
Engine-Related Classes
Filesystem Functionality
GUI-Related Classes
Math Functionality
Node-Related Classes
Objects-Related Classes
Networking Functionality
Pathfinding-Related Classes
Physics-Related Classes
Plugins-Related Classes
IG Plugin
CIGIConnector Plugin
Rendering-Related Classes
VR-Related Classes
Content Creation
Content Optimization
Materials
Material Nodes Library
Miscellaneous
Input
Math
Matrix
Textures
Art Samples
Tutorials
Warning! This version of documentation is OUTDATED, as it describes an older SDK version! Please switch to the documentation for the latest SDK version.
Warning! This version of documentation describes an old SDK version which is no longer supported! Please upgrade to the latest SDK version.

Unigine::AnimationCurveDouble Class

Warning
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 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

AnimationCurve::KEY_TYPE getKeyType ( int index ) const#

Returns the interpolation type of the specified key on the curve.

Arguments

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

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

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

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

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

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

  • const Ptr<Blob> & blob - Blob to which the curve data will be saved.

void load ( const Ptr<Blob> & blob ) #

Loads the curve data from the blob.

Arguments

  • const Ptr<Blob> & blob - Blob storing the curve data.
Last update: 2023-12-19
Build: ()