<complexType name="BezierType">
<annotation>
<documentation>Bezier curves are polynomial splines that use Bezier or Bernstein polynomials for interpolation purposes. It is a special case of the B-Spline curve with two knots.</documentation>
</annotation>
<complexContent>
<restriction base="gml:BSplineType">
<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="2">
<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" fixed="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 Bezier the interpolation is fixed as "polynomialSpline".</documentation>
</annotation>
</attribute>
<attribute name="isPolynomial" type="boolean" fixed="true">
<annotation>
<documentation>The attribute “isPolynomial” is set to “true” as this is a polynomial spline.</documentation>
</annotation>
</attribute>
<attribute name="knotType" type="gml:KnotTypesType" use="prohibited">
<annotation>
<documentation>The property "knotType" is not relevant for Bezier curve segments.</documentation>
</annotation>
</attribute>
</restriction>
</complexContent>
</complexType>
|