## org.opengis.geometry.coordinate
Interface BSplineSurface

All Superinterfaces:
  GenericSurface, GriddedSurface, ParametricCurveSurface, SurfacePatch

    @UML(identifier="GM_BSplineSurface",
         specification=ISO_19107)
    public interface BSplineSurface

extends GriddedSurface

A rational or polynomial parametric surface that is represented by control points, basis functions and possibly weights. If the weights are all equal then the spline is piecewise polynomial. If they are not equal, then the spline is piecewise rational. If the boolean `isPolynomial` is set to `true` then the weights shall all be set to 1.

Since:
  GeoAPI 2.1
Version:
  ISO 19107

Method Summary
`int[]` `getDegrees()` The algebraic degree of the basis functions for the first and second parameter.
`List<Knot>[]` `getKnots()` Returns two sequences of distinct knots used to define the B-spline basis functions for the two parameters.
`KnotType` `getKnotSpec()` Gives the type of knot distribution used in defining this spline.
`BSplineSurfaceForm` `getSurfaceForm()` Identifies particular types of surface which this spline is being used to approximate.
`boolean` `isPolynomial()` Returns `true` if this is a polynomial spline.

Methods inherited from interface GriddedSurface
`getColumns, getControlPoints, getRows`

Methods inherited from interface ParametricCurveSurface
`getHorizontalCurveType, getVerticalCurveType, horizontalCurve, surface, verticalCurve`

Methods inherited from interface SurfacePatch
`getBoundary, getInterpolation, getNumDerivativesOnBoundary, getSurface`

Methods inherited from interface GenericSurface
`getArea, getPerimeter, getUpNormal`

Method Detail

### getDegrees

    @UML(identifier="degree",
         obligation=MANDATORY,
         specification=ISO_19107)
    int[] getDegrees()

  The algebraic degree of the basis functions for the first and second parameter. If only one value is given, then the two degrees are equal.

  Returns:
    The degrees as an array of length 1 or 2.

### getSurfaceForm

    @UML(identifier="surfaceForm",
         obligation=OPTIONAL,
         specification=ISO_19107)
    BSplineSurfaceForm getSurfaceForm()

  Identifies particular types of surface 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 this method returns `null`.

  Returns:
    The type of surface, or `null` if this information is not available.

### getKnots

    @UML(identifier="knot",
         obligation=MANDATORY,
         specification=ISO_19107)
    List<Knot>[] getKnots()

  Returns two sequences of distinct knots used to define the B-spline basis functions for the two parameters. Recall that the knot data type holds information on knot multiplicity.

  Returns:
    The sequence of knots as an array of length 2.

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

  Returns:
    The type of knot distribution, or `null` if none.

### isPolynomial

    @UML(identifier="isPolynomial",
         obligation=MANDATORY,
         specification=ISO_19107)
    boolean isPolynomial()

  Returns `true` if this is a polynomial spline.

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