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;

This item has no description. Showing description inherited from TX3DNode.ClassX3DType.

Node type name in VRML/X3D, for this class. Normal VRML/X3D node classes should override this to return something non-empty, and then X3DType automatically will return the same value.

Empty for classes that don't have a hardcoded VRML/X3D node name, like a special TX3DUnknownNode. Such special classes should override then X3DType to return actual non-empty name there.

You usually should call X3DType. The only use of this method is that it works on classes (it's "class function"), without needing at actual instance.

Public procedure SetKeyValue(const Value: array of TVector4); overload;

This item has no description.

Public procedure SetKeyValue(const Value: TVector4List); overload;

This item has no description.

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;

This item has no description.

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-snapshot.