/*$************************************************************************************************
**
** $Id: LineSegment.java 831 2006-05-01 00:27:23Z Desruisseaux $
**
** $URL: http://svn.code.sf.net/p/geoapi/code/branches/2.0.x/geoapi/src/main/java/org/opengis/spatialschema/geometry/geometry/LineSegment.java $
**
** Copyright (C) 2003-2005 Open GIS Consortium, Inc.
** All Rights Reserved. http://www.opengis.org/legal/
**
*************************************************************************************************/
package org.opengis.spatialschema.geometry.geometry;
// Annotations
import org.opengis.annotation.UML;
import static org.opengis.annotation.Obligation.*;
import static org.opengis.annotation.Specification.*;
/**
* Two distinct {@linkplain org.opengis.spatialschema.geometry.DirectPosition direct positions}
* (the {@linkplain #getStartPoint start point} and {@linkplain #getEndPoint end point}) joined
* by a straight line. Thus its interpolation attribute shall be
* {@link org.opengis.spatialschema.geometry.primitive.CurveInterpolation#LINEAR LINEAR}.
* The default parameterization is:
*
*
* L = {@linkplain #getEndParam endParam} - {@linkplain #getStartParam startParam}
* c(s) = ControlPoint[1]+((s-{@linkplain #getStartParam startParam})/L)*(ControlPoint[2]-ControlPoint[1])
*
*
* Any other point in the control point array must fall on this line. The control points of a
* {@code LineSegment} shall all lie on the straight line between its start point and end
* point. Between these two points, other positions may be interpolated linearly. The linear
* interpolation, given using a constructive parameter t, 0 ? t ? 1.0,
* where c(o) = c.{@linkplain #getStartPoint startPoint} and c(1)=c.{@link #getEndPoint endPoint},
* is:
*
*
* c(t) = c(0)(1-t) + c(1)t
*
*
* @version Abstract specification 5
* @author Martin Desruisseaux (IRD)
* @since GeoAPI 1.0
*
* @see GeometryFactory#createLineSegment
*/
@UML(identifier="GM_LineSegment", specification=ISO_19107)
public interface LineSegment extends LineString {
}
Ads help maintain this website.