@UML(identifier="GM_CurveSegment", specification=ISO_19107) public interface CurveSegment extends GenericCurve
Modifier and Type | Method and Description |
---|---|
CurveBoundary |
getBoundary()
Returns an ordered pair of points, which are the start point and end point of the curve.
|
Curve |
getCurve()
Returns the curve which own this curve segment.
|
CurveInterpolation |
getInterpolation()
Specifies the curve interpolation mechanism used for this segment.
|
int |
getNumDerivativesAtEnd()
Specifies the type of continuity between this curve segment and its immediate neighbors.
|
int |
getNumDerivativesAtStart()
Specifies the type of continuity between this curve segment and its immediate neighbors.
|
int |
getNumDerivativesInterior()
Specifies the type of continuity that is guaranteed interior to the curve.
|
PointArray |
getSamplePoints()
Returns an ordered array of point values that lie on the curve
segment.
|
CurveSegment |
reverse()
Reverses the orientation of the parameterizations of the segment.
|
asLineString, forConstructiveParam, forParam, getEndConstructiveParam, getEndParam, getEndPoint, getParamForPoint, getStartConstructiveParam, getStartParam, getStartPoint, getTangent, length, length
@Association(value="Segmentation") @UML(identifier="curve", obligation=OPTIONAL, specification=ISO_19107) Curve getCurve()
Curve
to CurveSegment
, not
the other way.
NOTE: In the specification, curve segments do not appear except in the context of a curve, and therefore this method should never returnsnull
which would preclude the use of curve segments except in this manner. While this would not affect the specification, allowingnull
owner allows other standards based on ISO 19107 one to use curve segments in a more open-ended manner.
null
if the association is not available
or not implemented that way.Curve.getSegments()
,
SurfacePatch.getSurface()
@UML(identifier="interpolation", obligation=MANDATORY, specification=ISO_19107) CurveInterpolation getInterpolation()
CurveSegment
.@UML(identifier="numDerivativesAtStart", obligation=MANDATORY, specification=ISO_19107) int getNumDerivativesAtStart()
NOTE: Use of these values is only appropriate when the basic curve definition is an underdetermined system. For example, line strings and segments cannot support continuity above C0, since there is no spare control parameter to adjust the incoming angle at the end points of the segment. Spline functions on the other hand often have extra degrees of freedom on end segments that allow them to adjust the values of the derivatives to support C1 or higher continuity.
getNumDerivativesInterior()
,
getNumDerivativesAtEnd()
@UML(identifier="numDerivativesInterior", obligation=MANDATORY, specification=ISO_19107) int getNumDerivativesInterior()
getNumDerivativesAtStart()
,
getNumDerivativesAtEnd()
@UML(identifier="numDerivativesAtEnd", obligation=MANDATORY, specification=ISO_19107) int getNumDerivativesAtEnd()
NOTE: Use of these values is only appropriate when the basic curve definition is an underdetermined system. For example, line strings and segments cannot support continuity above C0, since there is no spare control parameter to adjust the incoming angle at the end points of the segment. Spline functions on the other hand often have extra degrees of freedom on end segments that allow them to adjust the values of the derivatives to support C1 or higher continuity.
getNumDerivativesAtStart()
,
getNumDerivativesInterior()
@UML(identifier="samplePoint", obligation=MANDATORY, specification=ISO_19107) PointArray getSamplePoints()
@UML(identifier="boundary", obligation=MANDATORY, specification=ISO_19107) CurveBoundary getBoundary()
CurveSegment
are not necessarily existing points and thus the boundary may contain transient points.
NOTE: The above curve boundary will
almost always be two distinct positions, but, like curves, CurveSegment
s can be cycles in themselves. The most likely scenario is that all of the
points used will be transients (constructed to support the return value), except for the
start point and end point of the aggregated curve. These two positions, in
the case where the curve is involved in a complex, will be represented as points in the same complex.
@UML(identifier="reverse", obligation=MANDATORY, specification=ISO_19107) CurveSegment reverse()
Copyright © 1996–2019 Geotools. All rights reserved.