<complexType name="OffsetCurveType">
<annotation>
<documentation>An offset curve is a curve at a constant
distance from the basis curve. They can be useful as a cheap
and simple alternative to constructing curves that are offsets
by definition.</documentation>
</annotation>
<complexContent>
<extension base="gml:AbstractCurveSegmentType">
<sequence>
<element name="offsetBase" type="gml:CurvePropertyType">
<annotation>
<documentation>offsetBase is a reference to thecurve from which this
curve is define as an offset.</documentation>
</annotation>
</element>
<element name="distance" type="gml:LengthType">
<annotation>
<documentation>distance is the distance at which the
offset curve is generated from the basis curve. In 2D systems, positive distances
are to be to the left of the basis curve, and the negative distances are to be to the
right of the basis curve.</documentation>
</annotation>
</element>
<element name="refDirection" type="gml:VectorType" minOccurs="0">
<annotation>
<documentation>refDistance is used to define the vector
direction of the offset curve from the basis curve. It can
be omitted in the 2D case, where the distance can be
positive or negative. In that case, distance defines left
side (positive distance) or right side (negative distance)
with respect to the tangent to the basis curve.
In 3D the basis curve shall have a well defined tangent
direction for every point. The offset curve at any point
in 3D, the basis curve shall have a well-defined tangent
direction for every point. The offset curve at any point
(parameter) on the basis curve c is in the direction
- - - -
s = v x t where v = c.refDirection()
and
-
t = c.tangent()
-
For the offset direction to be well-defined, v shall not
on any point of the curve be in the same, or opposite,
direction as
-
t.
The default value of the refDirection shall be the local
co-ordinate axis vector for elevation, which indicates up for
the curve in a geographic sense.
NOTE! If the refDirection is the positive tangent to the
local elevation axis ("points upward"), then the offset
vector points to the left of the curve when viewed from
above.</documentation>
</annotation>
</element>
</sequence>
</extension>
</complexContent>
</complexType>
|