SplinePositionInterpolator
Overview
SplinePositionInterpolator performs non-linear interpolation among paired lists of 3-tuple values and velocities to produce an SFVec3f value_changed output event.
The SplinePositionInterpolator node belongs to the Interpolation component and requires at least level 4, its default container field is children. It is available from X3D version 3.2 or higher.
Hierarchy
1
2
3
4
+ X3DNode
+ X3DChildNode
+ X3DInterpolatorNode
+ SplinePositionInterpolator
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 keyValue output.
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
Whether or not the curve is closed (i.e. matching end values), with continuous velocity vectors as the interpolator transitions from the last key to the first key.
Warnings
- If velocity vectors at first and last keys are specified, the closed field is ignored.
- If keyValues at first and last key are not identical, the closed field is ignored.
MFFloat [in, out] key [ ] (-∞,∞)
Definition values for linear-interpolation function input intervals, listed in non-decreasing order and corresponding to a value in the keyValue array.
Hints
- Number of keyValues must be an integer multiple of the number of keys!
- KeyValue/key integer multiple defines how many coordinates are sent in value_changed outputOnlys.
- Typical interval for values in key array is within range of 0 to 1, but larger intervals can be defined with arbitrary bounds.
Warning
- Values in key array shall be monotonically non-decreasing, meaning that each value is greater than or equal to the preceding value.
MFVec3f [in, out] keyValue [ ] (-∞,∞)
Output values for linear interpolation, each corresponding to an input-fraction value in the key array.
Hints
- Identical adjacent entries in keyValue array have the effect of defining constant-value step functions.
- Number of keyValues must be an integer multiple of the number of keys!
- keyValue/key integer multiple defines how many coordinates are sent in value_changed outputOnlys.
MFVec3f [in, out] keyVelocity [ ] (-∞,∞)
Output values for nonlinear interpolation, each corresponding to an input-fraction value in the key array.
Warning
- Number of keys must match number of keyVelocity values!
SFBool [in, out] normalizeVelocity FALSE
normalizeVelocity field specifies whether the velocity vectors are normalized to produce smooth speed transitions, or transformed into tangency vectors.
Hint
SFVec3f [out] value_changed
Linearly interpolated output value determined by current key time and corresponding keyValue pair.
Hints
- X3D players might not send unchanging intermediate values, thus avoiding excessive superfluous events that have no effect.
- KeyValue/key integer multiple defines how many coordinates are sent in value_changed outputOnlys.
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
- 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='4'/>