20 #ifndef GEOS_OP_DISTANCE_DISTANCEOP_H
21 #define GEOS_OP_DISTANCE_DISTANCEOP_H
23 #include <geos/export.h>
25 #include <geos/algorithm/PointLocator.h>
26 #include <geos/operation/distance/GeometryLocation.h>
27 #include <geos/geom/CoordinateSequence.h>
35 #pragma warning(disable: 4251) // warning C4251: needs to have dll-interface to be used by clients of class
119 static std::unique_ptr<geom::CoordinateSequence> nearestPoints(
147 double terminateDistance);
166 std::unique_ptr<geom::CoordinateSequence> nearestPoints();
171 std::array<geom::Geometry const*, 2> geom;
172 double terminateDistance;
176 std::array<std::unique_ptr<GeometryLocation>, 2> minDistanceLocation;
178 bool computed =
false;
180 void updateMinDistance(std::array<std::unique_ptr<GeometryLocation>, 2> & locGeom,
bool flip);
182 void computeMinDistance();
184 void computeContainmentDistance();
186 void computeInside(std::vector<std::unique_ptr<GeometryLocation>> & locs,
187 const std::vector<const geom::Polygon*>& polys,
188 std::array<std::unique_ptr<GeometryLocation>, 2> & locPtPoly);
195 void computeFacetDistance();
197 void computeMinDistanceLines(
198 const std::vector<const geom::LineString*>& lines0,
199 const std::vector<const geom::LineString*>& lines1,
200 std::array<std::unique_ptr<GeometryLocation>, 2> & locGeom);
202 void computeMinDistancePoints(
203 const std::vector<const geom::Point*>& points0,
204 const std::vector<const geom::Point*>& points1,
205 std::array<std::unique_ptr<GeometryLocation>, 2> & locGeom);
207 void computeMinDistanceLinesPoints(
208 const std::vector<const geom::LineString*>& lines0,
209 const std::vector<const geom::Point*>& points1,
210 std::array<std::unique_ptr<GeometryLocation>, 2> & locGeom);
214 std::array<std::unique_ptr<GeometryLocation>, 2> & locGeom);
218 std::array<std::unique_ptr<GeometryLocation>, 2> & locGeom);
230 #endif // GEOS_OP_DISTANCE_DISTANCEOP_H
Find two points on two geom::Geometrys which lie within a given distance, or else are the nearest poi...
Definition: DistanceOp.h:74
Computes the topological relationship (Location) of a single point to a Geometry. ...
Definition: PointLocator.h:57
Basic implementation of Geometry, constructed and destructed by GeometryFactory.
Definition: Geometry.h:188
Definition: LineString.h:68