21 #ifndef GEOS_LINEARREF_LENGTHINDEXEDLINE_H
22 #define GEOS_LINEARREF_LENGTHINDEXEDLINE_H
24 #include <geos/export.h>
25 #include <geos/geom/Coordinate.h>
26 #include <geos/geom/Geometry.h>
27 #include <geos/linearref/LinearLocation.h>
45 class GEOS_DLL LengthIndexedLine
48 const geom::Geometry *linearGeom;
49 LinearLocation locationOf(
double index)
const;
50 LinearLocation locationOf(
double index,
bool resolveLower)
const;
51 double positiveIndex(
double index)
const;
62 LengthIndexedLine(
const geom::Geometry *linearGeom);
75 geom::Coordinate extractPoint(
double index)
const;
96 geom::Coordinate extractPoint(
double index,
double offsetDistance)
const;
108 geom::Geometry *extractLine(
double startIndex,
double endIndex)
const;
128 double indexOf(
const geom::Coordinate& pt)
const;
152 double indexOfAfter(
const geom::Coordinate& pt,
double minIndex)
const;
163 double* indicesOf(
const geom::Geometry *subLine)
const;
175 double project(
const geom::Coordinate& pt)
const;
181 double getStartIndex()
const;
187 double getEndIndex()
const;
195 bool isValidIndex(
double index)
const;
204 double clampIndex(
double index)
const;