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

#include <EdgeMerger.h>

Public Member Functions

 EdgeMerger (std::vector< Edge * > &p_edges)
 
std::vector< Edge * > merge ()
 

Static Public Member Functions

static std::vector< Edge * > merge (std::vector< Edge * > &edges)
 

Private Attributes

std::vector< Edge * > & edges
 
std::map< EdgeKey, Edge * > edgeMap
 

Detailed Description

Performs merging on the noded edges of the input geometries. Merging takes place on edges which are coincident (i.e. have the same coordinate list, modulo direction). The following situations can occur:

One constraint that is maintained is that the direction of linear edges should be preserved if possible (which is the case if there is no other coincident edge, or if all coincident edges have the same direction). This ensures that the overlay output line direction will be as consistent as possible with input lines.

Author
mdavis

Definition at line 65 of file EdgeMerger.h.

Constructor & Destructor Documentation

geos::operation::overlayng::EdgeMerger::EdgeMerger ( std::vector< Edge * > &  p_edges)

Member Function Documentation

static std::vector<Edge*> geos::operation::overlayng::EdgeMerger::merge ( std::vector< Edge * > &  edges)
static
std::vector<Edge*> geos::operation::overlayng::EdgeMerger::merge ( )

Member Data Documentation

std::map<EdgeKey, Edge*> geos::operation::overlayng::EdgeMerger::edgeMap
private

Definition at line 72 of file EdgeMerger.h.

std::vector<Edge*>& geos::operation::overlayng::EdgeMerger::edges
private

Definition at line 71 of file EdgeMerger.h.


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