A Catmull-Rom spline is a cubic spline where the tangent at control points,
except the first and last, are computed using the previous and next control points.
Catmull-Rom splines are 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.
Example:
// spline above the earth from Philadelphia to Los Angeles
const spline = new Cesium.CatmullRomSpline({
    times : [ 0.0, 1.5, 3.0, 4.5, 6.0 ],
    points : [
        new Cesium.Cartesian3(1235398.0, -4810983.0, 4146266.0),
        new Cesium.Cartesian3(1372574.0, -5345182.0, 4606657.0),
        new Cesium.Cartesian3(-757983.0, -5542796.0, 4514323.0),
        new Cesium.Cartesian3(-2821260.0, -5248423.0, 4021290.0),
        new Cesium.Cartesian3(-2539788.0, -4724797.0, 3620093.0)
    ]
});
const p0 = spline.evaluate(times[i]);         // equal to positions[i]
const p1 = spline.evaluate(times[i] + delta); // interpolated value when delta < times[i + 1] - times[i]See:
Members
readonly firstTangent : Cartesian3
    The tangent at the first control point.
readonly lastTangent : Cartesian3
    The tangent at the last control point.
readonly points : Array.<Cartesian3>
    An array of 
Cartesian3 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) → Cartesian3
    Evaluates the curve at a given time.
    
| Name | Type | Description | 
|---|---|---|
| time | Number | The time at which to evaluate the curve. | 
| result | Cartesian3 | 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], wheret0is the first element in the arraytimesandtnis 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], wheret0is the first element in the arraytimesandtnis 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.
    
