org.opengis.geometry.coordinate
Interface BSplineCurve

All Superinterfaces:
CurveSegment, GenericCurve, SplineCurve
All Known Subinterfaces:
Bezier

@UML(identifier="GM_BSplineCurve",
     specification=ISO_19107)
public interface BSplineCurve
extends SplineCurve

A piecewise parametric polynomial or rational curve described in terms of control points and basis functions. If the weights in the knots are equal then it is a polynomial spline. If not, then it is a rational function spline. If the boolean isPolynomial() is set to true then the weights shall all be set to 1. A B-spline curve is a piecewise Bézier curve if it is quasi-uniform except that the interior knots have multiplicity "degree" rather than having multiplicity one. In this subtype the knot spacing shall be 1.0, starting at 0.0. A piecewise Bézier curve that has only two knots, 0.0, and 1.0, each of multiplicity (degree+1), is equivalent to a simple Bézier curve.

Since:
GeoAPI 2.0
Version:
ISO 19107
See Also:
GeometryFactory.createBSplineCurve(int, org.opengis.geometry.coordinate.PointArray, java.util.List, org.opengis.geometry.coordinate.KnotType)

Method Summary
 SplineCurveForm getCurveForm()
          Identifies particular types of curve which this spline is being used to approximate.
 int getDegree()
          The algebraic degree of the basis functions.
 KnotType getKnotSpec()
          Gives the type of knot distribution used in defining this spline.
 boolean isPolynomial()
          true if this is a polynomial spline.
 
Methods inherited from interface SplineCurve
getControlPoints, getKnots
 
Methods inherited from interface CurveSegment
getBoundary, getCurve, getInterpolation, 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

getDegree

@UML(identifier="degree",
     obligation=MANDATORY,
     specification=ISO_19107)
int getDegree()
The algebraic degree of the basis functions.

Specified by:
getDegree in interface SplineCurve

getCurveForm

@UML(identifier="curveForm",
     obligation=OPTIONAL,
     specification=ISO_19107)
SplineCurveForm getCurveForm()
Identifies particular types of curve which this spline is being used to approximate. It is for information only, used to capture the original intention. If no such approximation is intended, then the value of this attribute is null.


getKnotSpec

@UML(identifier="knotSpec",
     obligation=OPTIONAL,
     specification=ISO_19107)
KnotType getKnotSpec()
Gives the type of knot distribution used in defining this spline. This is for information only and is set according to the different construction-functions.


isPolynomial

@UML(identifier="isPolynomial",
     obligation=MANDATORY,
     specification=ISO_19107)
boolean isPolynomial()
true if this is a polynomial spline.



Copyright © 1994-2008 Open Geospatial Consortium. All Rights Reserved.