21#include <geos/geom/Envelope.h>
22#include <geos/geom/Coordinate.h>
23#include <geos/operation/distance/CoordinateSequenceLocation.h>
29class CoordinateSequence;
41 const geom::CoordinateSequence* pts;
42 const std::size_t start;
43 const std::size_t end;
52 double computeDistanceLineLine(
const FacetSequence& facetSeq,
53 std::vector<geom::Coordinate> *locs)
const;
55 double computeDistancePointLine(
const geom::Coordinate& pt,
56 const FacetSequence& facetSeq,
57 std::vector<geom::Coordinate> *locs)
const;
59 void updateNearestLocationsPointLine(
const geom::Coordinate& pt,
60 const geom::Coordinate& q0,
const geom::Coordinate &q1,
61 std::vector<geom::Coordinate> *locs)
const;
63 void updateNearestLocationsLineLine(
const geom::Coordinate& p0,
const geom::Coordinate& p1,
64 const geom::Coordinate& q0,
const geom::Coordinate &q1,
65 std::vector<geom::Coordinate> *locs)
const;
67 CoordinateSequenceLocation nearestLocationOnLine(
const geom::CoordinateXY& pt)
const;
69 static std::size_t normalize(
const geom::CoordinateSequence& pts, std::size_t index);
71 void computeEnvelope();
75 const geom::Envelope* getEnvelope()
const;
77 const geom::Coordinate* getCoordinate(std::size_t index)
const;
79 std::size_t size()
const;
83 double distance(
const FacetSequence& facetSeq)
const;
85 FacetSequence(
const geom::CoordinateSequence* pts, std::size_t start, std::size_t end);
94 std::vector<geom::Coordinate> nearestLocations(
const FacetSequence& facetSeq)
const;
103 CoordinateSequenceLocation nearestLocation(
const geom::CoordinateXY& p)
const;
Basic namespace for all GEOS functionalities.
Definition geos.h:38