19 #ifndef GEOS_OP_OVERLAY_SNAP_SNAPOVERLAYOP_H 20 #define GEOS_OP_OVERLAY_SNAP_SNAPOVERLAYOP_H 29 #pragma warning(disable: 4251) // warning C4251: needs to have dll-interface to be used by clients of class 60 static std::unique_ptr<geom::Geometry>
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();
124 std::unique_ptr<precision::CommonBitsRemover>
cbr;
140 #endif // ndef GEOS_OP_OVERLAY_SNAP_SNAPOVERLAYOP_H
const geom::Geometry & geom0
SnapOverlayOp(const geom::Geometry &g1, const geom::Geometry &g2)
Performs an overlay operation using snapping and enhanced precision to improve the robustness of the ...
static std::unique_ptr< geom::Geometry > symDifference(const geom::Geometry &g0, const geom::Geometry &g1)
OpCode
The spatial functions supported by this class.
std::unique_ptr< precision::CommonBitsRemover > cbr
Basic implementation of Geometry, constructed and destructed by GeometryFactory.
static std::unique_ptr< geom::Geometry > overlayOp(const geom::Geometry &g0, const geom::Geometry &g1, OverlayOp::OpCode opCode)
static std::unique_ptr< geom::Geometry > Union(const geom::Geometry &g0, const geom::Geometry &g1)
static std::unique_ptr< geom::Geometry > intersection(const geom::Geometry &g0, const geom::Geometry &g1)
GeomPtr getResultGeometry(OverlayOp::OpCode opCode)
Basic namespace for all GEOS functionalities.
const geom::Geometry & geom1
std::unique_ptr< geom::Geometry > GeomPtr
static std::unique_ptr< geom::Geometry > difference(const geom::Geometry &g0, const geom::Geometry &g1)