21#include <geos/export.h>
22#include <geos/geom/PrecisionModel.h>
23#include <geos/operation/union/UnionStrategy.h>
24#include <geos/operation/overlayng/OverlayNG.h>
70 static constexpr int NUM_SNAP_TRIES = 5;
75 static constexpr double SNAP_TOL_FACTOR = 1e12;
77 static std::unique_ptr<Geometry> overlaySnapping(
80 static std::unique_ptr<Geometry> overlaySnapBoth(
83 static std::unique_ptr<Geometry> overlaySnapTol(
86 static double snapTolerance(
const Geometry* geom);
95 static double ordinateMagnitude(
const Geometry* geom);
104 static std::unique_ptr<Geometry>
118 static std::unique_ptr<Geometry>
119 snapSelf(
const Geometry* geom,
double snapTol);
128 return OverlayNGRobust::Overlay(g0, g1, OverlayNG::UNION);
131 bool isFloatingPrecision()
const override
138 static std::unique_ptr<Geometry> Intersection(
141 static std::unique_ptr<Geometry> Union(
144 static std::unique_ptr<Geometry> Difference(
147 static std::unique_ptr<Geometry> SymDifference(
150 static std::unique_ptr<Geometry> Union(
153 static std::unique_ptr<Geometry> Overlay(
156 static std::unique_ptr<Geometry> overlaySnapTries(
Basic implementation of Geometry, constructed and destructed by GeometryFactory.
Definition: Geometry.h:186
Definition: UnionStrategy.h:40
Definition: OverlayNGRobust.h:64
static double snapTolerance(const Geometry *geom0, const Geometry *geom1)
Basic namespace for all GEOS functionalities.
Definition: geos.h:39