GEOS 3.14.0dev
|
#include <UnionStrategy.h>
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 |
A strategy class that adapts UnaryUnion to different kinds of overlay algorithms.
|
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::overlayng::UnaryUnionNG::NGUnionStrategy, and geos::operation::geounion::ClassicUnionStrategy.
|
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.