# 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>`

List of all members.

## Public Types

typedef std::auto_ptr < geom::Geometry > | GeomPtr

## Public Member Functions

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

## Static Public Member Functions

static std::auto_ptr < geom::Geometry > | overlayOp (const geom::Geometry &g0, const geom::Geometry &g1, OverlayOp::OpCode opCode)
static std::auto_ptr < geom::Geometry > | intersection (const geom::Geometry &g0, const geom::Geometry &g1)
static std::auto_ptr < geom::Geometry > | Union (const geom::Geometry &g0, const geom::Geometry &g1)
static std::auto_ptr < geom::Geometry > | difference (const geom::Geometry &g0, const geom::Geometry &g1)
static std::auto_ptr < geom::Geometry > | symDifference (const geom::Geometry &g0, const geom::Geometry &g1)

## 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.

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

- SnapIfNeededOverlayOp.h