19 #ifndef GEOS_OP_OVERLAY_SNAP_SNAPIFNEEDEDOVERLAYOP_H
20 #define GEOS_OP_OVERLAY_SNAP_SNAPIFNEEDEDOVERLAYOP_H
22 #include <geos/operation/overlay/OverlayOp.h>
47 class SnapIfNeededOverlayOp {
51 static std::unique_ptr<geom::Geometry>
52 overlayOp(
const geom::Geometry& g0,
const geom::Geometry& g1,
55 SnapIfNeededOverlayOp op(g0, g1);
56 return op.getResultGeometry(opCode);
59 static std::unique_ptr<geom::Geometry>
60 intersection(
const geom::Geometry& g0,
const geom::Geometry& g1)
65 static std::unique_ptr<geom::Geometry>
66 Union(
const geom::Geometry& g0,
const geom::Geometry& g1)
71 static std::unique_ptr<geom::Geometry>
72 difference(
const geom::Geometry& g0,
const geom::Geometry& g1)
77 static std::unique_ptr<geom::Geometry>
78 symDifference(
const geom::Geometry& g0,
const geom::Geometry& g1)
83 SnapIfNeededOverlayOp(
const geom::Geometry& g1,
const geom::Geometry& g2)
91 typedef std::unique_ptr<geom::Geometry> GeomPtr;
97 const geom::Geometry& geom0;
98 const geom::Geometry& geom1;
101 SnapIfNeededOverlayOp(
const SnapIfNeededOverlayOp& other) =
delete;
102 SnapIfNeededOverlayOp& operator=(
const SnapIfNeededOverlayOp& rhs) =
delete;
111 #endif // ndef GEOS_OP_OVERLAY_SNAP_SNAPIFNEEDEDOVERLAYOP_H