<complexType name="BSplineType">
<annotation>
<documentation>A B-Spline is a piecewise parametric polynomial or rational curve described in terms of control points and basis functions. Knots are breakpoints on the curve that connect its pieces. They are given as a non-decreasing sequence of real numbers. If the weights in the knots are equal then it is a polynomial spline. The degree is the algebraic degree of the basis functions. </documentation>
</annotation>
<complexContent>
<extension base="gml:AbstractCurveSegmentType">
<sequence>
<choice>
<annotation>
<documentation>GML supports two different ways to specify the control points of a curve segment.
1. A sequence of "pos" (DirectPositionType) or "pointRep" (PointPropertyType) elements. "pos" elements are control points that are only part of this curve segment, "pointRep" elements contain a point that may be referenced from other geometry elements or reference another point defined outside of this curve segment (reuse of existing points).
2. The "coordinates" element allows for a compact way to specifiy the coordinates of the control points, if all control points are in the same coordinate reference systems and belong to this curve segment only.</documentation>
</annotation>
<choice minOccurs="0" maxOccurs="unbounded">
<element ref="gml:pos" />
<element ref="gml:pointRep" />
</choice>
<element ref="gml:coordinates" />
</choice>
<element name="degree" type="nonNegativeInteger">
<annotation>
<documentation>The attribute "degree" shall be the degree of the polynomial used for interpolation in this spline.</documentation>
</annotation>
</element>
<element name="knot" type="gml:KnotPropertyType" minOccurs="2" maxOccurs="unbounded">
<annotation>
<documentation>The property "knot" shall be the sequence of distinct knots used to define the spline basis functions.</documentation>
</annotation>
</element>
</sequence>
<attribute name="interpolation" type="gml:CurveInterpolationType" default="polynomialSpline">
<annotation>
<documentation>The attribute "interpolation" specifies the curve interpolation mechanism used for this segment. This mechanism
uses the control points and control parameters to determine the position of this curve segment. For a BSpline the interpolation can be either "polynomialSpline" or "rationalSpline", default is "polynomialSpline".</documentation>
</annotation>
</attribute>
<attribute name="isPolynomial" type="boolean" use="optional">
<annotation>
<documentation>The attribute “isPolynomial” is set to “true” if this is a polynomial spline.</documentation>
</annotation>
</attribute>
<attribute name="knotType" type="gml:KnotTypesType" use="optional">
<annotation>
<documentation>The attribute "knotType" 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.</documentation>
</annotation>
</attribute>
</extension>
</complexContent>
</complexType>
|