Class TOrientationInterpolatorNode

Unit

Declaration

type TOrientationInterpolatorNode = class(specialize TAbstractCommonInterpolatorNode<TSFRotation>)

Description

Interpolate (animate) an orientation, for example to animate TTransformNode.Rotation.

Hierarchy

Overview

Methods

Public function Interpolate(const TimeKey: Single): TVector4;
Public procedure CreateNode; override;
Public class function ClassX3DType: String; override;
Public procedure SetKeyValue(const Value: array of TVector4); overload;
Public procedure SetKeyValue(const Value: TVector4List); overload;

Properties

Public property FdKeyValue: TMFRotation read FFdKeyValue;
Public property EventValue_changed: TSFRotationEvent read FEventValue_changed;
Public property FdKeyValueQuaternions: TSFBool read FFdKeyValueQuaternions;
Public property KeyValueQuaternions: Boolean read GetKeyValueQuaternions write SetKeyValueQuaternions;

Description

Methods

Public function Interpolate(const TimeKey: Single): TVector4;

Return rotation (as axis+angle) at given time (key). Makes a warning and returns zero if FdKey is empty.

Public procedure CreateNode; override;

Create node fields and events.

Public class function ClassX3DType: String; override;
 
Public procedure SetKeyValue(const Value: array of TVector4); overload;
 
Public procedure SetKeyValue(const Value: TVector4List); overload;
 

Properties

Public property FdKeyValue: TMFRotation read FFdKeyValue;

Internal wrapper for property KeyValue. This wrapper API may change, we advise to access simpler KeyValue instead, if it is defined (TODO: for now, some field types do not have a simpler counterpart).

Public property EventValue_changed: TSFRotationEvent read FEventValue_changed;
 
Public property FdKeyValueQuaternions: TSFBool read FFdKeyValueQuaternions;

Internal wrapper for property KeyValueQuaternions. This wrapper API may change, we advise to access simpler KeyValueQuaternions instead, if it is defined (TODO: for now, some field types do not have a simpler counterpart).

Public property KeyValueQuaternions: Boolean read GetKeyValueQuaternions write SetKeyValueQuaternions;

When True, key values are provided as unit quaternions. By default (when False) they have to be axis angle rotations. This allows extra optimization in case your input data is in quaternions, which is true in case of glTF. It is then most efficient to just put quternions in TOrientationInterpolatorNode.FdKeyValue and set this to True. Otherwise, you would 1. needlessly convert quaternion -> axisangle when reading glTF file, 2. needlessly convert axisangle -> quaternion as a first step of SLerp.


Generated by PasDoc 0.16.0.