# Spline

#### new Cesium.Spline()
Core/Spline.js 19

Creates a curve parameterized and evaluated by time. This type describes an interface and is not intended to be instantiated directly.

##### See:

- CatmullRomSpline
- HermiteSpline
- LinearSpline
- QuaternionSpline

### Members

#### points : Array.<Cartesian3>|Array.<Quaternion>
Core/Spline.js 32

An array of control points.

Default Value: `undefined`

#### times : Array.<Number>
Core/Spline.js 25

An array of times for the control points.

Default Value: `undefined`

### Methods

#### clampTime(time) → Number
Core/Spline.js 151

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|Quaternion|Array.<Number>
Core/Spline.js 49

Evaluates the curve at a given time.

Name | Type | Description
--- | --- | ---
`time` | Number | The time at which to evaluate the curve.
`result` | Cartesian3 | Quaternion | 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]`, where `t0` is the first element in the array `times` and `tn` is the last element in the array `times`.

#### findTimeInterval(time, startIndex) → Number
Core/Spline.js 63

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.
`startIndex` | Number | The index from which to start the search.

##### Returns:

The index for the element at the start of the interval.

##### Throws:

- DeveloperError : time must be in the range `[t0, tn]`, where `t0` is the first element in the array `times` and `tn` is the last element in the array `times`.

#### wrapTime(time) → Number
Core/Spline.js 123

Wraps the given time to the period covered by the spline.

Name | Type | Description
--- | --- | ---
`time` | Number | The time.

##### Returns:

The time, wrapped around the animation period.