A spline that linearly interpolates over an array of weight values used by morph targets.
Name | Type | Description | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
options |
Object |
Object with the following properties:
|
Throws:
-
DeveloperError : weights.length must be greater than or equal to 2.
-
DeveloperError : times.length must be a factor of weights.length.
Example:
var times = [ 0.0, 1.5, 3.0, 4.5, 6.0 ];
var weights = [0.0, 1.0, 0.25, 0.75, 0.5, 0.5, 0.75, 0.25, 1.0, 0.0]; //Two targets
var spline = new LSGlobe.WeightSpline({
times : times,
weights : weights
});
var p0 = spline.evaluate(times[0]);
See:
Members
An array of times for the control weights.
An array of floating-point array control weights.
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.
Evaluates the curve at a given time.
Name | Type | Description |
---|---|---|
time |
Number | The time at which to evaluate the curve. |
result |
Array.<Number> | 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.