GEOS  3.14.0dev
Public Member Functions | List of all members
geos::operation::geounion::UnionStrategy Class Referenceabstract

#include <UnionStrategy.h>

Inheritance diagram for geos::operation::geounion::UnionStrategy:
geos::operation::geounion::ClassicUnionStrategy geos::operation::overlayng::UnaryUnionNG::NGUnionStrategy

Public Member Functions

virtual std::unique_ptr< geom::GeometryUnion (const geom::Geometry *, const geom::Geometry *)=0
 
virtual std::unique_ptr< geom::GeometryUnion (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::overlayng::UnaryUnionNG::NGUnionStrategy, and geos::operation::geounion::ClassicUnionStrategy.


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