22#include <geos/export.h>
23#include <geos/geom/Coordinate.h>
31#pragma warning(disable: 4251)
99 using PointPair = std::array<geom::CoordinateXY, 2>;
203 double maxDistance,
double tolerance);
266 const geom::Geometry& geom,
double maxDistance,
double tolerance)
const;
269 class TargetDistance;
270 friend class DHDSegment;
272 static double pairDistance(
const std::optional<PointPair>& pts);
273 static PointPair pair(
const geom::CoordinateXY& p0,
const geom::CoordinateXY& p1);
275 static bool isBeyond(
277 static bool isValidLimit(
double limit);
278 static bool isBeyondLimit(
double maxDist,
double maxDistanceLimit);
279 static bool isWithinLimit(
double maxDist,
double maxDistanceLimit);
281 std::optional<PointPair> computeDistancePoints(
282 const geom::Geometry& geom,
double tolerance,
double maxDistanceLimit)
const;
283 std::optional<PointPair> computeForPoints(
285 std::optional<PointPair> computeForEdges(
286 const geom::Geometry& geom,
double tolerance,
double maxDistanceLimit)
const;
287 std::optional<PointPair> computeForAreaInterior(
291 std::unique_ptr<TargetDistance> targetDistance;
Definition DirectedHausdorffDistance.h:96
static bool isFullyWithinDistance(const geom::Geometry &a, const geom::Geometry &b, double maxDistance, double tolerance)
static std::optional< PointPair > distancePoints(const geom::Geometry &a, const geom::Geometry &b, double tolerance)
static std::optional< PointPair > distancePoints(const geom::Geometry &a, const geom::Geometry &b)
bool isFullyWithinDistance(const geom::Geometry &geom, double maxDistance) const
static double distance(const geom::Geometry &a, const geom::Geometry &b)
static std::optional< PointPair > hausdorffDistancePoints(const geom::Geometry &a, const geom::Geometry &b)
static bool isFullyWithinDistance(const geom::Geometry &a, const geom::Geometry &b, double maxDistance)
std::optional< PointPair > farthestPoints(const geom::Geometry &geom, double tolerance) const
std::array< geom::CoordinateXY, 2 > PointPair
JTS returns Coordinate[]; std::array is the C++ equivalent pair.
Definition DirectedHausdorffDistance.h:99
static double hausdorffDistance(const geom::Geometry &a, const geom::Geometry &b)
static double distance(const geom::Geometry &a, const geom::Geometry &b, double tolerance)
bool isFullyWithinDistance(const geom::Geometry &geom, double maxDistance, double tolerance) const
std::optional< PointPair > farthestPoints(const geom::Geometry &geom) const
DirectedHausdorffDistance(const geom::Geometry &geom)
An Envelope defines a rectangulare region of the 2D coordinate plane.
Definition Envelope.h:59
Basic implementation of Geometry, constructed and destructed by GeometryFactory.
Definition Geometry.h:201
Basic namespace for all GEOS functionalities.
Definition geos.h:38