<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 "pointProperty" (PointPropertyType) elements. "pos" elements are control points that are only part of this curve segment, "pointProperty" 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 "posList" 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:pointProperty" />
<element ref="gml:pointRep">
<annotation>
<documentation>Deprecated with GML version 3.1.0. Use "pointProperty" instead. Included for backwards compatibility with GML 3.0.0.</documentation>
</annotation>
</element>
</choice>
<element ref="gml:posList" />
<element ref="gml:coordinates">
<annotation>
<documentation>Deprecated with GML version 3.1.0. Use "posList" instead.</documentation>
</annotation>
</element>
</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>
|