# Spline

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

  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 37

  An array of control points.
  Default Value: `undefined`

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

  An array of times for the control points.
  Default Value: `undefined`

### Methods

#### evaluate(time, result) → Cartesian3|Quaternion
Core/Spline.js 54

  Evaluates the curve at a given time.

  Name | Type | Description
  --- | --- | ---
  `time` | Number | The time at which to evaluate the curve.
  `result` | Cartesian3 | 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]`, 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 68

  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`.