GEOS
3.9.1dev
|
Performs an overlay operation using snapping and enhanced precision to improve the robustness of the result. More...
#include <SnapOverlayOp.h>
Public Types | |
typedef std::unique_ptr< geom::Geometry > | GeomPtr |
Public Member Functions | |
SnapOverlayOp (const geom::Geometry &g1, const geom::Geometry &g2) | |
GeomPtr | getResultGeometry (OverlayOp::OpCode opCode) |
Static Public Member Functions | |
static std::unique_ptr< geom::Geometry > | overlayOp (const geom::Geometry &g0, const geom::Geometry &g1, OverlayOp::OpCode opCode) |
static std::unique_ptr< geom::Geometry > | intersection (const geom::Geometry &g0, const geom::Geometry &g1) |
static std::unique_ptr< geom::Geometry > | Union (const geom::Geometry &g0, const geom::Geometry &g1) |
static std::unique_ptr< geom::Geometry > | difference (const geom::Geometry &g0, const geom::Geometry &g1) |
static std::unique_ptr< geom::Geometry > | symDifference (const geom::Geometry &g0, const geom::Geometry &g1) |
Private Member Functions | |
void | computeSnapTolerance () |
void | snap (geom::GeomPtrPair &ret) |
void | removeCommonBits (const geom::Geometry &geom0, const geom::Geometry &geom1, geom::GeomPtrPair &ret) |
void | prepareResult (geom::Geometry &geom) |
SnapOverlayOp (const SnapOverlayOp &other)=delete | |
SnapOverlayOp & | operator= (const SnapOverlayOp &rhs)=delete |
Private Attributes | |
const geom::Geometry & | geom0 |
const geom::Geometry & | geom1 |
double | snapTolerance |
std::unique_ptr< precision::CommonBitsRemover > | cbr |
Performs an overlay operation using snapping and enhanced precision to improve the robustness of the result.
This class always uses snapping. This is less performant than the standard JTS overlay code, and may even introduce errors which were not present in the original data. For this reason, this class should only be used if the standard overlay code fails to produce a correct result.
Definition at line 56 of file SnapOverlayOp.h.
typedef std::unique_ptr<geom::Geometry> geos::operation::overlay::snap::SnapOverlayOp::GeomPtr |
Definition at line 101 of file SnapOverlayOp.h.
|
inline |
Definition at line 92 of file SnapOverlayOp.h.
|
privatedelete |
|
private |
|
inlinestatic |
Definition at line 81 of file SnapOverlayOp.h.
GeomPtr geos::operation::overlay::snap::SnapOverlayOp::getResultGeometry | ( | OverlayOp::OpCode | opCode | ) |
|
inlinestatic |
Definition at line 69 of file SnapOverlayOp.h.
|
privatedelete |
|
inlinestatic |
Definition at line 61 of file SnapOverlayOp.h.
References getResultGeometry().
|
private |
|
private |
|
private |
|
inlinestatic |
Definition at line 87 of file SnapOverlayOp.h.
|
inlinestatic |
Definition at line 75 of file SnapOverlayOp.h.
|
private |
Definition at line 124 of file SnapOverlayOp.h.
|
private |
Definition at line 119 of file SnapOverlayOp.h.
|
private |
Definition at line 120 of file SnapOverlayOp.h.
|
private |
Definition at line 122 of file SnapOverlayOp.h.