org.opengis.geometry.coordinate

## Interface CubicSpline

• All Superinterfaces:
CurveSegment, GenericCurve, PolynomialSpline, SplineCurve

```@UML(identifier="GM_CubicSpline",
specification=ISO_19107)
public interface CubicSpline
extends PolynomialSpline```
Cubic splines. Cubic splines are similar to line strings in that they are a sequence of segments each with its own defining function. A cubic spline uses the control points and a set of derivative parameters to define a piecewise 3rd degree polynomial interpolation. Unlike line-strings, the parameterization by arc length is not necessarily still a polynomial. Splines have two parameterizations that are used in this specification, the defining one (constructive parameter) and the one that has been reparameterized by arc length to satisfy the requirements in `GenericCurve`.

The function describing the curve must be C2, that is, have a continuous 1st and 2nd derivative at all points, and pass through the control points in the order given. Between the control points, the curve segment is defined by a cubic polynomial. At each control point, the polynomial changes in such a manner that the 1st and 2nd derivative vectors are the same from either side. The control parameters record must contain `vectorAtStart`, and `vectorAtEnd` which are the unit tangent vectors at `controlPoint` and ```controlPoint[n] where n = controlPoint.length-1.```

``` Since: GeoAPI 2.0 Author: Martin Desruisseaux (IRD) ```
• ``` ```
``` ```
``` Method Summary All Methods Instance Methods Abstract Methods  Modifier and Type Method and Description CurveInterpolation getInterpolation() The interpolation mechanism for a CubicSpline is CUBIC_SPLINE. List getVectorAtEnd() The values used for the final derivative. List getVectorAtStart() The values used for the initial derivative. Methods inherited from interface SplineCurve getControlPoints, getDegree, getKnots Methods inherited from interface CurveSegment getBoundary, getCurve, getNumDerivativesAtEnd, getNumDerivativesAtStart, getNumDerivativesInterior, getSamplePoints, reverse Methods inherited from interface GenericCurve asLineString, forConstructiveParam, forParam, getEndConstructiveParam, getEndParam, getEndPoint, getParamForPoint, getStartConstructiveParam, getStartParam, getStartPoint, getTangent, length, length Method Detail getInterpolation @UML(identifier="interpolation", obligation=MANDATORY, specification=ISO_19107) CurveInterpolation getInterpolation() The interpolation mechanism for a CubicSpline is CUBIC_SPLINE. Specified by: getInterpolation in interface CurveSegment Specified by: getInterpolation in interface PolynomialSpline Returns: The interpolation mechanism used for this segment. getVectorAtStart @UML(identifier="vectorAtStart", obligation=MANDATORY, specification=ISO_19107) List getVectorAtStart() The values used for the initial derivative. The restriction on vectorAtStart and vectorAtEnd reduce these sequences to a single tangent vector each. Consequently, the size of the returned list is 1. Specified by: getVectorAtStart in interface PolynomialSpline getVectorAtEnd @UML(identifier="vectorAtEnd", obligation=MANDATORY, specification=ISO_19107) List getVectorAtEnd() The values used for the final derivative. The restriction on vectorAtStart and vectorAtEnd reduce these sequences to a single tangent vector each. Consequently, the size of the returned list is 1. Specified by: getVectorAtEnd in interface PolynomialSpline ```
``` Skip navigation links Overview Package Class Use Tree Deprecated Index Help Prev Class Next Class Frames No Frames All Classes <!-- allClassesLink = document.getElementById("allclasses_navbar_bottom"); if(window==top) { allClassesLink.style.display = "block"; } else { allClassesLink.style.display = "none"; } //--> Summary:  Nested |  Field |  Constr |  Method Detail:  Field |  Constr |  Method Copyright © 1996–2021 Geotools. All rights reserved. ```