21 #ifndef GEOS_OP_DISTANCE_DISTANCEOP_H
22 #define GEOS_OP_DISTANCE_DISTANCEOP_H
24 #include <geos/export.h>
26 #include <geos/algorithm/PointLocator.h>
32 #pragma warning(disable: 4251) // warning C4251: needs to have dll-interface to be used by clients of class
43 class CoordinateSequence;
47 class GeometryLocation;
165 double terminateDistance);
211 std::vector<GeometryLocation*>* nearestLocations();
214 std::vector<geom::Geometry const*> geom;
215 double terminateDistance;
220 std::vector<GeometryLocation*> *minDistanceLocation;
224 std::vector<geom::Coordinate *> newCoords;
227 void updateMinDistance(std::vector<GeometryLocation*>& locGeom,
230 void computeMinDistance();
232 void computeContainmentDistance();
234 void computeInside(std::vector<GeometryLocation*> *locs,
235 const std::vector<const geom::Polygon*>& polys,
236 std::vector<GeometryLocation*> *locPtPoly);
240 std::vector<GeometryLocation*> *locPtPoly);
246 void computeFacetDistance();
248 void computeMinDistanceLines(
249 const std::vector<const geom::LineString*>& lines0,
250 const std::vector<const geom::LineString*>& lines1,
251 std::vector<GeometryLocation*>& locGeom);
253 void computeMinDistancePoints(
254 const std::vector<const geom::Point*>& points0,
255 const std::vector<const geom::Point*>& points1,
256 std::vector<GeometryLocation*>& locGeom);
258 void computeMinDistanceLinesPoints(
259 const std::vector<const geom::LineString*>& lines0,
260 const std::vector<const geom::Point*>& points1,
261 std::vector<GeometryLocation*>& locGeom);
265 std::vector<GeometryLocation*>& locGeom);
269 std::vector<GeometryLocation*>& locGeom);
281 #endif // GEOS_OP_DISTANCE_DISTANCEOP_H