20 #ifndef GEOS_OP_OVERLAY_SNAP_SNAPOVERLAYOP_H
21 #define GEOS_OP_OVERLAY_SNAP_SNAPOVERLAYOP_H
23 #include <geos/operation/overlay/OverlayOp.h>
24 #include <geos/precision/CommonBitsRemover.h>
30 #pragma warning(disable: 4251) // warning C4251: needs to have dll-interface to be used by clients of class
62 static std::auto_ptr<geom::Geometry>
67 return op.getResultGeometry(opCode);
70 static std::auto_ptr<geom::Geometry>
73 return overlayOp(g0, g1, OverlayOp::opINTERSECTION);
76 static std::auto_ptr<geom::Geometry>
79 return overlayOp(g0, g1, OverlayOp::opUNION);
82 static std::auto_ptr<geom::Geometry>
85 return overlayOp(g0, g1, OverlayOp::opDIFFERENCE);
88 static std::auto_ptr<geom::Geometry>
91 return overlayOp(g0, g1, OverlayOp::opSYMDIFFERENCE);
99 computeSnapTolerance();
103 typedef std::auto_ptr<geom::Geometry> GeomPtr;
109 void computeSnapTolerance();
111 void snap(geom::GeomPtrPair& ret);
115 geom::GeomPtrPair& ret);
124 double snapTolerance;
126 std::auto_ptr<precision::CommonBitsRemover> cbr;
142 #endif // ndef GEOS_OP_OVERLAY_SNAP_SNAPOVERLAYOP_H