GEOS  3.9.1dev
Public Types | Public Member Functions | Public Attributes | Private Attributes | List of all members
geos::geomgraph::EdgeIntersectionList Class Reference

A list of edge intersections along an Edge. More...

#include <EdgeIntersectionList.h>

Collaboration diagram for geos::geomgraph::EdgeIntersectionList:
[legend]

Public Types

using container = std::vector< EdgeIntersection >
 
using const_iterator = container::const_iterator
 

Public Member Functions

 EdgeIntersectionList (const Edge *edge)
 
 ~EdgeIntersectionList ()=default
 
void add (const geom::Coordinate &coord, size_t segmentIndex, double dist)
 
const_iterator begin () const
 
const_iterator end () const
 
bool isEmpty () const
 
bool isIntersection (const geom::Coordinate &pt) const
 
void addEndpoints ()
 
void addSplitEdges (std::vector< Edge * > *edgeList)
 
EdgecreateSplitEdge (const EdgeIntersection *ei0, const EdgeIntersection *ei1)
 
std::string print () const
 

Public Attributes

const Edgeedge
 

Private Attributes

container nodeMap
 
bool sorted
 

Detailed Description

A list of edge intersections along an Edge.

Implements splitting an edge with intersections into multiple resultant edges.

Definition at line 60 of file EdgeIntersectionList.h.

Member Typedef Documentation

using geos::geomgraph::EdgeIntersectionList::const_iterator = container::const_iterator

Definition at line 66 of file EdgeIntersectionList.h.

Definition at line 65 of file EdgeIntersectionList.h.

Constructor & Destructor Documentation

geos::geomgraph::EdgeIntersectionList::EdgeIntersectionList ( const Edge edge)
geos::geomgraph::EdgeIntersectionList::~EdgeIntersectionList ( )
default

Member Function Documentation

void geos::geomgraph::EdgeIntersectionList::add ( const geom::Coordinate coord,
size_t  segmentIndex,
double  dist 
)
void geos::geomgraph::EdgeIntersectionList::addEndpoints ( )
void geos::geomgraph::EdgeIntersectionList::addSplitEdges ( std::vector< Edge * > *  edgeList)

Creates new edges for all the edges that the intersections in this list split the parent edge into. Adds the edges to the input list (this is so a single list can be used to accumulate all split edges for a Geometry).

Parameters
edgeLista list of EdgeIntersections
const_iterator geos::geomgraph::EdgeIntersectionList::begin ( ) const
inline

Definition at line 86 of file EdgeIntersectionList.h.

Edge* geos::geomgraph::EdgeIntersectionList::createSplitEdge ( const EdgeIntersection ei0,
const EdgeIntersection ei1 
)
const_iterator geos::geomgraph::EdgeIntersectionList::end ( ) const
inline

Definition at line 97 of file EdgeIntersectionList.h.

References geos::geom::operator<<().

Here is the call graph for this function:

bool geos::geomgraph::EdgeIntersectionList::isEmpty ( ) const
bool geos::geomgraph::EdgeIntersectionList::isIntersection ( const geom::Coordinate pt) const
std::string geos::geomgraph::EdgeIntersectionList::print ( ) const

Member Data Documentation

const Edge* geos::geomgraph::EdgeIntersectionList::edge

Definition at line 74 of file EdgeIntersectionList.h.

container geos::geomgraph::EdgeIntersectionList::nodeMap
mutableprivate

Definition at line 69 of file EdgeIntersectionList.h.

bool geos::geomgraph::EdgeIntersectionList::sorted
mutableprivate

Definition at line 70 of file EdgeIntersectionList.h.


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