GEOS  3.9.1dev
Public Types | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | List of all members
geos::operation::overlay::snap::SnapIfNeededOverlayOp Class Reference

Performs an overlay operation using snapping and enhanced precision to improve the robustness of the result. More...

#include <SnapIfNeededOverlayOp.h>

Collaboration diagram for geos::operation::overlay::snap::SnapIfNeededOverlayOp:
[legend]

Public Types

typedef std::unique_ptr< geom::GeometryGeomPtr
 

Public Member Functions

 SnapIfNeededOverlayOp (const geom::Geometry &g1, const geom::Geometry &g2)
 
GeomPtr getResultGeometry (OverlayOp::OpCode opCode)
 

Static Public Member Functions

static std::unique_ptr< geom::GeometryoverlayOp (const geom::Geometry &g0, const geom::Geometry &g1, OverlayOp::OpCode opCode)
 
static std::unique_ptr< geom::Geometryintersection (const geom::Geometry &g0, const geom::Geometry &g1)
 
static std::unique_ptr< geom::GeometryUnion (const geom::Geometry &g0, const geom::Geometry &g1)
 
static std::unique_ptr< geom::Geometrydifference (const geom::Geometry &g0, const geom::Geometry &g1)
 
static std::unique_ptr< geom::GeometrysymDifference (const geom::Geometry &g0, const geom::Geometry &g1)
 

Private Member Functions

 SnapIfNeededOverlayOp (const SnapIfNeededOverlayOp &other)=delete
 
SnapIfNeededOverlayOpoperator= (const SnapIfNeededOverlayOp &rhs)=delete
 

Private Attributes

const geom::Geometrygeom0
 
const geom::Geometrygeom1
 

Detailed Description

Performs an overlay operation using snapping and enhanced precision to improve the robustness of the result.

This class only uses snapping if an error is detected when running the standard JTS overlay code. Errors detected include thrown exceptions (in particular, TopologyException) and invalid overlay computations.

Definition at line 47 of file SnapIfNeededOverlayOp.h.

Member Typedef Documentation

Definition at line 91 of file SnapIfNeededOverlayOp.h.

Constructor & Destructor Documentation

geos::operation::overlay::snap::SnapIfNeededOverlayOp::SnapIfNeededOverlayOp ( const geom::Geometry g1,
const geom::Geometry g2 
)
inline

Definition at line 83 of file SnapIfNeededOverlayOp.h.

geos::operation::overlay::snap::SnapIfNeededOverlayOp::SnapIfNeededOverlayOp ( const SnapIfNeededOverlayOp other)
privatedelete

Member Function Documentation

static std::unique_ptr<geom::Geometry> geos::operation::overlay::snap::SnapIfNeededOverlayOp::difference ( const geom::Geometry g0,
const geom::Geometry g1 
)
inlinestatic

Definition at line 72 of file SnapIfNeededOverlayOp.h.

GeomPtr geos::operation::overlay::snap::SnapIfNeededOverlayOp::getResultGeometry ( OverlayOp::OpCode  opCode)

Referenced by overlayOp().

Here is the caller graph for this function:

static std::unique_ptr<geom::Geometry> geos::operation::overlay::snap::SnapIfNeededOverlayOp::intersection ( const geom::Geometry g0,
const geom::Geometry g1 
)
inlinestatic

Definition at line 60 of file SnapIfNeededOverlayOp.h.

SnapIfNeededOverlayOp& geos::operation::overlay::snap::SnapIfNeededOverlayOp::operator= ( const SnapIfNeededOverlayOp rhs)
privatedelete
static std::unique_ptr<geom::Geometry> geos::operation::overlay::snap::SnapIfNeededOverlayOp::overlayOp ( const geom::Geometry g0,
const geom::Geometry g1,
OverlayOp::OpCode  opCode 
)
inlinestatic

Definition at line 52 of file SnapIfNeededOverlayOp.h.

References getResultGeometry().

Here is the call graph for this function:

static std::unique_ptr<geom::Geometry> geos::operation::overlay::snap::SnapIfNeededOverlayOp::symDifference ( const geom::Geometry g0,
const geom::Geometry g1 
)
inlinestatic

Definition at line 78 of file SnapIfNeededOverlayOp.h.

static std::unique_ptr<geom::Geometry> geos::operation::overlay::snap::SnapIfNeededOverlayOp::Union ( const geom::Geometry g0,
const geom::Geometry g1 
)
inlinestatic

Definition at line 66 of file SnapIfNeededOverlayOp.h.

Member Data Documentation

const geom::Geometry& geos::operation::overlay::snap::SnapIfNeededOverlayOp::geom0
private

Definition at line 97 of file SnapIfNeededOverlayOp.h.

const geom::Geometry& geos::operation::overlay::snap::SnapIfNeededOverlayOp::geom1
private

Definition at line 98 of file SnapIfNeededOverlayOp.h.


The documentation for this class was generated from the following file: