19 #ifndef GEOS_OPERATION_DISTANCE_FACETSEQUENCE_H 20 #define GEOS_OPERATION_DISTANCE_FACETSEQUENCE_H 22 #include <geos/geom/CoordinateSequence.h> 23 #include <geos/geom/Envelope.h> 24 #include <geos/geom/Coordinate.h> 25 #include <geos/geom/LineSegment.h> 26 #include <geos/operation/distance/GeometryLocation.h> 33 const geom::CoordinateSequence* pts;
36 const geom::Geometry* geom;
44 double computeDistanceLineLine(
const FacetSequence& facetSeq,
45 std::vector<GeometryLocation> *locs)
const;
47 double computeDistancePointLine(
const geom::Coordinate& pt,
48 const FacetSequence& facetSeq,
49 std::vector<GeometryLocation> *locs)
const;
51 void updateNearestLocationsPointLine(
const geom::Coordinate& pt,
52 const FacetSequence& facetSeq,
size_t i,
53 const geom::Coordinate& q0,
const geom::Coordinate &q1,
54 std::vector<GeometryLocation> *locs)
const;
56 void updateNearestLocationsLineLine(
size_t i,
const geom::Coordinate& p0,
const geom::Coordinate& p1,
57 const FacetSequence& facetSeq,
58 size_t j,
const geom::Coordinate& q0,
const geom::Coordinate &q1,
59 std::vector<GeometryLocation> *locs)
const;
61 void computeEnvelope();
64 const geom::Envelope* getEnvelope()
const;
66 const geom::Coordinate* getCoordinate(
size_t index)
const;
72 double distance(
const FacetSequence& facetSeq)
const;
74 FacetSequence(
const geom::CoordinateSequence* pts,
size_t start,
size_t end);
76 FacetSequence(
const geom::Geometry* geom,
const geom::CoordinateSequence* pts,
size_t start,
size_t end);
78 std::vector<GeometryLocation> nearestLocations(
const FacetSequence& facetSeq)
const;
86 #endif //GEOS_OPERATION_DISTANCE_FACETSEQUENCE_H Basic namespace for all GEOS functionalities.
Definition: IndexedNestedRingTester.h:25