Post

SquadOrientationInterpolator

Overview

SquadOrientationInterpolator performs non-linear interpolation among paired lists of rotation values to produce an SFRotation value_changed output event.

The SquadOrientationInterpolator node belongs to the Interpolation component and requires at least level 5, its default container field is children. It is available from X3D version 3.2 or higher.

Hierarchy

1
2
3
4
+ X3DNode
  + X3DChildNode
    + X3DInterpolatorNode
      + SquadOrientationInterpolator

Fields

SFNode [in, out] metadata NULL [X3DMetadataObject]

Information about this node can be contained in a MetadataBoolean, MetadataDouble, MetadataFloat, MetadataInteger, MetadataString or MetadataSet node.

Hint

SFFloat [in] set_fraction (-∞,∞)

set_fraction selects input key for corresponding use of keyValue, keyVelocity values for output computation.

Hint

  • set_fraction values are typically in same range interval as values in the key array. Response to an input set_fraction value less than minimum is equivalent to minimum key, and response to an input set_fraction value greater than maximum is equivalent to maximum key.

Warning

  • It is an error to define this transient inputOnly field in an X3D file, instead only use it a destination for ROUTE events.

SFBool [in, out] closed FALSE

Input/Output field closed.

MFFloat [in, out] key [ ] (-∞,∞)

Definition parameters for nonlinear-interpolation function time intervals, listed in non-decreasing order and corresponding to keyValue, keyVelocity array values.

Hint

  • Typical interval for values in key array is within range of 0 to 1, but larger intervals can be defined with arbitrary bounds.

Warnings

  • Number of keys must match number of keyValues!
  • Values in key array shall be monotonically non-decreasing, meaning that each value is greater than or equal to the preceding value.

MFRotation [in, out] keyValue [ ] (-∞,∞)

Output values for nonlinear interpolation, each corresponding to an input-fraction value in the key array.

Warning

  • Number of keys must match number of keyValues!

SFRotation [out] value_changed

Nonlinearly interpolated output value computed by using current time fraction along with corresponding key, keyValue and keyVelocity values.

Warning

  • It is an error to define this transient outputOnly field in an X3D file, instead only use it a source for ROUTE events.

Advice

Hints

  • Squad is an acronym for Spherical Cubic Interpolation.
  • Typical input connection is ROUTE someTimeSensorDEF.fraction_changed TO thisInterpolatorDEF.set_fraction
  • Typical output connection is ROUTE thisInterpolatorDEF.value_changed TO someDestinationNodeDEF.set_someAttribute.

Warning

  • Requires X3D profile='Full' or else include <component name='Interpolation' level='5'/>

Example

View Source in Playground

See Also

This post is licensed under CC BY 4.0 by the author.