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>
31#pragma warning(disable: 4251)
164 double terminateDistance);
210 std::vector<GeometryLocation*>* nearestLocations();
213 std::vector<geom::Geometry const*> geom;
214 double terminateDistance;
219 std::vector<GeometryLocation*> *minDistanceLocation;
223 std::vector<geom::Coordinate *> newCoords;
226 void updateMinDistance(std::vector<GeometryLocation*>& locGeom,
229 void computeMinDistance();
231 void computeContainmentDistance();
233 void computeInside(std::vector<GeometryLocation*> *locs,
234 const std::vector<const geom::Polygon*>& polys,
235 std::vector<GeometryLocation*> *locPtPoly);
239 std::vector<GeometryLocation*> *locPtPoly);
245 void computeFacetDistance();
247 void computeMinDistanceLines(
248 const std::vector<const geom::LineString*>& lines0,
249 const std::vector<const geom::LineString*>& lines1,
250 std::vector<GeometryLocation*>& locGeom);
252 void computeMinDistancePoints(
253 const std::vector<const geom::Point*>& points0,
254 const std::vector<const geom::Point*>& points1,
255 std::vector<GeometryLocation*>& locGeom);
257 void computeMinDistanceLinesPoints(
258 const std::vector<const geom::LineString*>& lines0,
259 const std::vector<const geom::Point*>& points1,
260 std::vector<GeometryLocation*>& locGeom);
264 std::vector<GeometryLocation*>& locGeom);
268 std::vector<GeometryLocation*>& locGeom);
Computes the topological relationship (Location) of a single point to a Geometry.
Definition PointLocator.h:58
The internal representation of a list of coordinates inside a Geometry.
Definition CoordinateSequence.h:59
Coordinate is the lightweight class used to store coordinates.
Definition Coordinate.h:60
Basic implementation of Geometry, constructed and destructed by GeometryFactory.
Definition Geometry.h:167
Definition LineString.h:70
Represents a linear polygon, which may include holes.
Definition Polygon.h:67
geom::CoordinateSequence * nearestPoints()
static double distance(const geom::Geometry *g0, const geom::Geometry *g1)
static geom::CoordinateSequence * nearestPoints(const geom::Geometry *g0, const geom::Geometry *g1)
static bool isWithinDistance(const geom::Geometry &g0, const geom::Geometry &g1, double distance)
Test whether two geometries lie within a given distance of each other.
DistanceOp(const geom::Geometry &g0, const geom::Geometry &g1)
Constructs a DistanceOp that computes the distance and nearest points between the two specified geome...
DistanceOp(const geom::Geometry &g0, const geom::Geometry &g1, double terminateDistance)
Constructs a DistanceOp that computes the distance and nearest points between the two specified geome...
static double distance(const geom::Geometry &g0, const geom::Geometry &g1)
Compute the distance between the nearest points of two geometries.
DistanceOp(const geom::Geometry *g0, const geom::Geometry *g1)
geom::CoordinateSequence * closestPoints()
static geom::CoordinateSequence * closestPoints(const geom::Geometry *g0, const geom::Geometry *g1)
Represents the location of a point on a Geometry.
Definition GeometryLocation.h:50
Contains the Geometry interface hierarchy and supporting classes.
Definition IndexedNestedRingTester.h:26
Provides classes for computing the distance between geometries.
Definition opDistance.h:23
Provides classes for implementing operations on geometries.
Definition IndexedNestedRingTester.h:40
Basic namespace for all GEOS functionalities.
Definition IndexedNestedRingTester.h:25