GEOS  3.9.1dev
Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | List of all members
geos::operation::overlayng::OverlayPoints Class Reference

#include <OverlayPoints.h>

Collaboration diagram for geos::operation::overlayng::OverlayPoints:
[legend]

Public Member Functions

 OverlayPoints (int p_opCode, const Geometry *p_geom0, const Geometry *p_geom1, const PrecisionModel *p_pm)
 
 OverlayPoints (const OverlayPoints &)=delete
 
OverlayPointsoperator= (const OverlayPoints &)=delete
 
std::unique_ptr< GeometrygetResult ()
 

Static Public Member Functions

static std::unique_ptr< Geometryoverlay (int opCode, const Geometry *geom0, const Geometry *geom1, const PrecisionModel *pm)
 

Private Member Functions

void computeIntersection (std::map< Coordinate, std::unique_ptr< Point >> &map0, std::map< Coordinate, std::unique_ptr< Point >> &map1, std::vector< std::unique_ptr< Point >> &resultList)
 
void computeDifference (std::map< Coordinate, std::unique_ptr< Point >> &map0, std::map< Coordinate, std::unique_ptr< Point >> &map1, std::vector< std::unique_ptr< Point >> &resultList)
 
void computeUnion (std::map< Coordinate, std::unique_ptr< Point >> &map0, std::map< Coordinate, std::unique_ptr< Point >> &map1, std::vector< std::unique_ptr< Point >> &resultList)
 
std::map< Coordinate, std::unique_ptr< Point > > buildPointMap (const Geometry *geom)
 
Coordinate roundCoord (const Point *pt, const PrecisionModel *pm) const
 

Private Attributes

int opCode
 
const Geometrygeom0
 
const Geometrygeom1
 
const PrecisionModelpm
 
const GeometryFactorygeometryFactory
 
std::vector< std::unique_ptr< Point > > resultList
 

Detailed Description

Performs an overlay operation on inputs which are both point geometries.

Semantics are:

Author
Martin Davis

Definition at line 55 of file OverlayPoints.h.

Constructor & Destructor Documentation

geos::operation::overlayng::OverlayPoints::OverlayPoints ( int  p_opCode,
const Geometry p_geom0,
const Geometry p_geom1,
const PrecisionModel p_pm 
)
inline

Creates an instance of an overlay operation on inputs which are both point geometries.

Definition at line 94 of file OverlayPoints.h.

geos::operation::overlayng::OverlayPoints::OverlayPoints ( const OverlayPoints )
delete

Member Function Documentation

std::map<Coordinate, std::unique_ptr<Point> > geos::operation::overlayng::OverlayPoints::buildPointMap ( const Geometry geom)
private
void geos::operation::overlayng::OverlayPoints::computeDifference ( std::map< Coordinate, std::unique_ptr< Point >> &  map0,
std::map< Coordinate, std::unique_ptr< Point >> &  map1,
std::vector< std::unique_ptr< Point >> &  resultList 
)
private
void geos::operation::overlayng::OverlayPoints::computeIntersection ( std::map< Coordinate, std::unique_ptr< Point >> &  map0,
std::map< Coordinate, std::unique_ptr< Point >> &  map1,
std::vector< std::unique_ptr< Point >> &  resultList 
)
private
void geos::operation::overlayng::OverlayPoints::computeUnion ( std::map< Coordinate, std::unique_ptr< Point >> &  map0,
std::map< Coordinate, std::unique_ptr< Point >> &  map1,
std::vector< std::unique_ptr< Point >> &  resultList 
)
private
std::unique_ptr<Geometry> geos::operation::overlayng::OverlayPoints::getResult ( )

Gets the result of the overlay.

Returns
the overlay result
OverlayPoints& geos::operation::overlayng::OverlayPoints::operator= ( const OverlayPoints )
delete
static std::unique_ptr<Geometry> geos::operation::overlayng::OverlayPoints::overlay ( int  opCode,
const Geometry geom0,
const Geometry geom1,
const PrecisionModel pm 
)
static

Performs an overlay operation on inputs which are both point geometries.

Coordinate geos::operation::overlayng::OverlayPoints::roundCoord ( const Point pt,
const PrecisionModel pm 
) const
private

Member Data Documentation

const Geometry* geos::operation::overlayng::OverlayPoints::geom0
private

Definition at line 61 of file OverlayPoints.h.

const Geometry* geos::operation::overlayng::OverlayPoints::geom1
private

Definition at line 62 of file OverlayPoints.h.

const GeometryFactory* geos::operation::overlayng::OverlayPoints::geometryFactory
private

Definition at line 64 of file OverlayPoints.h.

int geos::operation::overlayng::OverlayPoints::opCode
private

Definition at line 60 of file OverlayPoints.h.

const PrecisionModel* geos::operation::overlayng::OverlayPoints::pm
private

Definition at line 63 of file OverlayPoints.h.

std::vector<std::unique_ptr<Point> > geos::operation::overlayng::OverlayPoints::resultList
private

Definition at line 65 of file OverlayPoints.h.


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