This page has been translated automatically.
视频教程
界面
要领
高级
实用建议
基础
专业(SIM)
UnigineEditor
界面概述
资源工作流程
Version Control
设置和首选项
项目开发
调整节点参数
Setting Up Materials
设置属性
照明
Sandworm
使用编辑器工具执行特定任务
如何擴展編輯器功能
嵌入式节点类型
Nodes
Objects
Effects
Decals
光源
Geodetics
World Nodes
Sound Objects
Pathfinding Objects
Players
编程
基本原理
搭建开发环境
使用范例
C++
C#
UnigineScript
统一的Unigine着色器语言 UUSL (Unified UNIGINE Shader Language)
Plugins
File Formats
材质和着色器
Rebuilding the Engine Tools
GUI
双精度坐标
应用程序接口
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
创建内容
内容优化
材质
Material Nodes Library
Miscellaneous
Input
Math
Matrix
Textures
Art Samples
Tutorials

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: 2024-12-13
Build: ()