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.