/*$************************************************************************************************
**
** $Id$
**
** $Source: /cvs/ctree/LiteGO1/src/jar/com/polexis/lite/spatialschema/geometry/geometry/LineSegmentImpl.java,v $
**
** Copyright (C) 2003 Open GIS Consortium, Inc. All Rights Reserved. http://www.opengis.org/Legal/
**
*************************************************************************************************/
package org.geotools.geometry.jts.spatialschema.geometry.geometry;
import org.opengis.geometry.coordinate.LineSegment;
/**
* Two distinct {@linkplain org.opengis.geometry.coordinate.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.geometry.primitive.CurveInterpolation#LINEAR LINEAR}.
* The default parameterization is:
*
* <blockquote><pre>
* L = {@linkplain #getEndParam endParam} - {@linkplain #getStartParam startParam}
* c(s) = ControlPoint[1]+((s-{@linkplain #getStartParam startParam})/L)*(ControlPoint[2]-ControlPoint[1])
* </pre></blockquote>
*
* 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 <var>t</var>, 0 ? <var>t</var> ? 1.0,
* where c(o) = c.{@linkplain #getStartPoint startPoint} and c(1)=c.{@link #getEndPoint endPoint},
* is:
*
* <blockquote>
* <var>c</var>(<var>t</var>) = <var>c</var>(0)(1-<var>t</var>) + <var>c</var>(1)<var>t</var>
* </blockquote>
*
* @UML datatype GM_LineSegment
* @author ISO/DIS 19107
* @author <A HREF="http://www.opengis.org">OpenGIS® consortium</A>
*
*
* @source $URL$
* @version 2.0
*
* @see GeometryFactory#createLineSegment
*/
public class LineSegmentImpl extends LineStringImpl implements LineSegment {
//*************************************************************************
// Fields
//*************************************************************************
//*************************************************************************
// Constructor
//*************************************************************************
//*************************************************************************
// implement the LineSegment interface
//*************************************************************************
}