geos::operation::geounion::UnionStrategy Class Referenceabstract

`#include <UnionStrategy.h>`

Inheritance diagram for geos::operation::geounion::UnionStrategy:

## Public Member Functions

virtual std::unique_ptr< geom::Geometry > | Union (const geom::Geometry *, const geom::Geometry *)=0
virtual std::unique_ptr< geom::Geometry > | Union (std::unique_ptr< geom::Geometry > &&, std::unique_ptr< geom::Geometry > &&)
virtual bool | isFloatingPrecision () const =0

## Detailed Description

A strategy class that adapts UnaryUnion to different kinds of overlay algorithms.

Author
  Martin Davis

## Member Function Documentation

## isFloatingPrecision()

virtual bool geos::operation::geounion::UnionStrategy::isFloatingPrecision | ( |  | ) | const

pure virtual

Indicates whether the union function operates using a floating (full) precision model. If this is the case, then the unary union code can make use of the operation::union::OverlapUnion performance optimization, and perhaps other optimizations as well. Otherwise, the union result extent may not be the same as the extent of the inputs, which prevents using some optimizations.

Implemented in geos::operation::geounion::ClassicUnionStrategy, and geos::operation::overlayng::UnaryUnionNG::NGUnionStrategy.

## Union()

virtual std::unique_ptr< geom::Geometry > geos::operation::geounion::UnionStrategy::Union | ( | const geom::Geometry * | ,
|  | const geom::Geometry * | )

pure virtual

Computes the union of two geometries. This method may throw a `util::TopologyException` if one is encountered

Implemented in geos::operation::geounion::ClassicUnionStrategy, and geos::operation::overlayng::UnaryUnionNG::NGUnionStrategy.

References Union().

Referenced by Union().

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

- UnionStrategy.h