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)
157 double terminateDistance);
181 std::array<geom::Geometry const*, 2> geom;
182 double terminateDistance;
186 std::array<GeometryLocation, 2> minDistanceLocation;
188 bool computed =
false;
190 void updateMinDistance(std::array<GeometryLocation, 2> & locGeom,
bool flip);
192 void computeMinDistance();
194 void computeContainmentDistance();
196 void computeInside(std::vector<GeometryLocation> & locs,
197 const std::vector<const geom::Surface*>& polys,
198 std::array<GeometryLocation, 2> & locPtPoly);
205 void computeFacetDistance();
207 void computeMinDistanceLines(
208 const std::vector<const geom::SimpleCurve*>& lines0,
209 const std::vector<const geom::SimpleCurve*>& lines1,
210 std::array<GeometryLocation, 2> & locGeom);
212 void computeMinDistancePoints(
213 const std::vector<const geom::Point*>& points0,
214 const std::vector<const geom::Point*>& points1,
215 std::array<GeometryLocation, 2> & locGeom);
217 void computeMinDistanceLinesPoints(
218 const std::vector<const geom::SimpleCurve*>& lines0,
219 const std::vector<const geom::Point*>& points1,
220 std::array<GeometryLocation, 2> & locGeom);
222 void computeMinDistance(
const geom::CircularString* cs0,
224 std::array<GeometryLocation, 2> & locGeom);
227 const geom::CircularString* cs1,
228 std::array<GeometryLocation, 2> & locGeom);
232 std::array<GeometryLocation, 2> & locGeom);
234 void computeMinDistance(
const geom::CircularString* cs0,
235 const geom::CircularString* cs1,
236 std::array<GeometryLocation, 2> & locGeom);
240 std::array<GeometryLocation, 2> & locGeom);
242 void computeMinDistance(
const geom::CircularString* cs,
244 std::array<GeometryLocation, 2> & locGeom);
Computes the topological relationship (Location) of a single point to a Geometry.
Definition: PointLocator.h:60
Basic implementation of Geometry, constructed and destructed by GeometryFactory.
Definition: Geometry.h:201
Definition: LineString.h:66
Find two points on two geom::Geometrys which lie within a given distance, or else are the nearest poi...
Definition: DistanceOp.h:76
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...
const std::array< GeometryLocation, 2 > & nearestLocations()
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()
Basic namespace for all GEOS functionalities.
Definition: geos.h:38