19#ifndef GEOS_OP_OVERLAY_SNAP_SNAPOVERLAYOP_H
20#define GEOS_OP_OVERLAY_SNAP_SNAPOVERLAYOP_H
22#include <geos/operation/overlay/OverlayOp.h>
23#include <geos/precision/CommonBitsRemover.h>
29#pragma warning(disable: 4251)
60 static std::unique_ptr<geom::Geometry>
65 return op.getResultGeometry(opCode);
68 static std::unique_ptr<geom::Geometry>
71 return overlayOp(g0, g1, OverlayOp::opINTERSECTION);
74 static std::unique_ptr<geom::Geometry>
77 return overlayOp(g0, g1, OverlayOp::opUNION);
80 static std::unique_ptr<geom::Geometry>
83 return overlayOp(g0, g1, OverlayOp::opDIFFERENCE);
86 static std::unique_ptr<geom::Geometry>
89 return overlayOp(g0, g1, OverlayOp::opSYMDIFFERENCE);
97 computeSnapTolerance();
101 typedef std::unique_ptr<geom::Geometry> GeomPtr;
107 void computeSnapTolerance();
109 void snap(geom::GeomPtrPair& ret);
113 geom::GeomPtrPair& ret);
122 double snapTolerance;
124 std::unique_ptr<precision::CommonBitsRemover> cbr;
Basic implementation of Geometry, constructed and destructed by GeometryFactory.
Definition: Geometry.h:188
OpCode
The spatial functions supported by this class.
Definition: OverlayOp.h:79
Performs an overlay operation using snapping and enhanced precision to improve the robustness of the ...
Definition: SnapOverlayOp.h:56
Basic namespace for all GEOS functionalities.
Definition: IndexedNestedRingTester.h:26