# [name]

An abstract base class for creating a curve object that contains methods for interpolation. For an array of Curves see [page:CurvePath].

## Examples

### [example:webgl_geometry_extrude_splines geometry / extrude / splines ]

## Constructor

### [name]()

This constructor creates a new [name].

## Methods

### [method:Vector getPoint]( t )

Returns a vector for point t of the curve where t is between 0 and 1. Must be implemented in the extending class.

### [method:Vector getPointAt]( u )

Returns a vector for point at relative position in curve according to arc length

### [method:Array getPoints]( divisions )

Get sequence of points using getPoint( t )

### [method:Array getSpacedPoints]( divisions )

Get sequence of equi-spaced points using getPointAt( u )

### [method:Float getLength]()

Get total curve arc length

### [method:Array getLengths]( divisions )

Get list of cumulative segment lengths

### [method:null updateArcLengths]()

Update the cumlative segment distance cache

### [method:Float getUtoTmapping]( u, distance )

Given u ( 0 .. 1 ), get a t to find p. This gives you points which are equidistant

### [method:Vector getTangent]( t )

Returns a unit vector tangent at t. If the subclassed curve do not implement its tangent derivation, 2 points a small delta apart will be used to find its gradient which seems to give a reasonable approximation

### [method:Vector getTangentAt]( u )

Returns tangent at equidistant point u on the curve

## Source

[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]