A spline that uses spherical linear (slerp) interpolation to create a quaternion curve.
The generated curve is in the class C1.
Name | Type | Description | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
options |
Object |
Object with the following properties:
|
Throws:
-
DeveloperError : points.length must be greater than or equal to 2.
-
DeveloperError : times.length must be equal to points.length.
Members
readonly points : Array.<Quaternion>
An array of
Quaternion
control points.
An array of times for the control points.
Methods
Clamps the given time to the period covered by the spline.
Name | Type | Description |
---|---|---|
time |
Number | The time. |
Returns:
The time, clamped to the animation period.
evaluate(time, result) → Quaternion
Evaluates the curve at a given time.
Name | Type | Description |
---|---|---|
time |
Number | The time at which to evaluate the curve. |
result |
Quaternion | optional The object onto which to store the result. |
Returns:
The modified result parameter or a new instance of the point on the curve at the given time.
Throws:
-
DeveloperError : time must be in the range
[t0, tn]
, wheret0
is the first element in the arraytimes
andtn
is the last element in the arraytimes
.
Finds an index
i
in times
such that the parameter
time
is in the interval [times[i], times[i + 1]]
.
Name | Type | Description |
---|---|---|
time |
Number | The time. |
Returns:
The index for the element at the start of the interval.
Throws:
-
DeveloperError : time must be in the range
[t0, tn]
, wheret0
is the first element in the arraytimes
andtn
is the last element in the arraytimes
.
Wraps the given time to the period covered by the spline.
Name | Type | Description |
---|---|---|
time |
Number | The time. |
Returns:
The time, wrapped around to the updated animation.