# geos::operation::overlay::snap::GeometrySnapper Class Reference

Snaps the vertices and segments of a geometry to another's vertices. Should improve robustness for overlay operations. More...

`#include <GeometrySnapper.h>`

List of all members.

## Public Types

typedef std::auto_ptr < geom::Geometry > | GeomPtr
typedef std::pair< GeomPtr, GeomPtr > | GeomPtrPair

## Public Member Functions

| GeometrySnapper (const geom::Geometry &g)
std::auto_ptr< geom::Geometry > | snapTo (const geom::Geometry &g, double snapTolerance)
| Snaps the vertices in the component LineStrings of the source geometry to the vertices of the given snap geometry with a given snap tolerance.

## Static Public Member Functions

static void | snap (const geom::Geometry &g0, const geom::Geometry &g1, double snapTolerance, GeomPtrPair &ret)
static double | computeOverlaySnapTolerance (const geom::Geometry &g)
| Estimates the snap tolerance for a Geometry, taking into account its precision model.
static double | computeSizeBasedSnapTolerance (const geom::Geometry &g)
static double | computeOverlaySnapTolerance (const geom::Geometry &g1, const geom::Geometry &g2)
| Computes the snap tolerance based on input geometries;.

## Detailed Description

Snaps the vertices and segments of a geometry to another's vertices. Should improve robustness for overlay operations.

## Constructor & Destructor Documentation

geos::operation::overlay::snap::GeometrySnapper::GeometrySnapper | ( | const geom::Geometry & | g ) | `[inline]`

Creates a new snapper acting on the given geometry

Parameters:

  g | the geometry to snap

## Member Function Documentation

static double geos::operation::overlay::snap::GeometrySnapper::computeOverlaySnapTolerance | ( | const geom::Geometry & | g ) | `[static]`

Estimates the snap tolerance for a Geometry, taking into account its precision model.

Parameters:

  g | a Geometry

Returns:
  the estimated snap tolerance

static void geos::operation::overlay::snap::GeometrySnapper::snap | ( | const geom::Geometry & | g0,
|  | const geom::Geometry & | g1,
|  | double | snapTolerance,
|  | GeomPtrPair & | ret
| ) |  | `[static]`

Snaps two geometries together with a given tolerance.

Parameters:

  g0 | a geometry to snap
  g1 | a geometry to snap
  snapTolerance | the tolerance to use
  ret | the snapped geometries as a pair of auto_ptrs (output parameter)

std::auto_ptr<geom::Geometry> geos::operation::overlay::snap::GeometrySnapper::snapTo | ( | const geom::Geometry & | g,
|  | double | snapTolerance
| ) |  |

Snaps the vertices in the component LineStrings of the source geometry to the vertices of the given snap geometry with a given snap tolerance.

Parameters:

  g | a geometry to snap the source to
  snapTolerance |

Returns:
  a new snapped Geometry

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

- GeometrySnapper.h