22#include <geos/export.h>
24#include <geos/algorithm/PointLocator.h>
25#include <geos/operation/distance/GeometryLocation.h>
26#include <geos/geom/CoordinateSequence.h>
34#pragma warning(disable: 4251)
146 double terminateDistance);
170 std::array<geom::Geometry const*, 2> geom;
171 double terminateDistance;
175 std::array<GeometryLocation, 2> minDistanceLocation;
177 bool computed =
false;
179 void updateMinDistance(std::array<GeometryLocation, 2> & locGeom,
bool flip);
181 void computeMinDistance();
183 void computeContainmentDistance();
185 void computeInside(std::vector<GeometryLocation> & locs,
186 const std::vector<const geom::Polygon*>& polys,
187 std::array<GeometryLocation, 2> & locPtPoly);
194 void computeFacetDistance();
196 void computeMinDistanceLines(
197 const std::vector<const geom::LineString*>& lines0,
198 const std::vector<const geom::LineString*>& lines1,
199 std::array<GeometryLocation, 2> & locGeom);
201 void computeMinDistancePoints(
202 const std::vector<const geom::Point*>& points0,
203 const std::vector<const geom::Point*>& points1,
204 std::array<GeometryLocation, 2> & locGeom);
206 void computeMinDistanceLinesPoints(
207 const std::vector<const geom::LineString*>& lines0,
208 const std::vector<const geom::Point*>& points1,
209 std::array<GeometryLocation, 2> & locGeom);
213 std::array<GeometryLocation, 2> & locGeom);
217 std::array<GeometryLocation, 2> & locGeom);
Computes the topological relationship (Location) of a single point to a Geometry.
Definition PointLocator.h:56
Coordinate is the lightweight class used to store coordinates.
Definition Coordinate.h:217
Basic implementation of Geometry, constructed and destructed by GeometryFactory.
Definition Geometry.h:197
Definition LineString.h:66
Represents a linear polygon, which may include holes.
Definition Polygon.h:61
static double distance(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...
static std::unique_ptr< geom::CoordinateSequence > nearestPoints(const geom::Geometry *g0, const geom::Geometry *g1)
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)
std::unique_ptr< geom::CoordinateSequence > nearestPoints()
Provides classes for computing the distance between geometries.
Definition namespaces.h:185
Provides classes for implementing operations on geometries.
Definition namespaces.h:179
Basic namespace for all GEOS functionalities.
Definition geos.h:39