geos::geomgraph::Edge Class Referencefinal

`#include <Edge.h>`

Inheritance diagram for geos::geomgraph::Edge:

## Public Member Functions

void | testInvariant () const
| Edge (geom::CoordinateSequence *newPts, const Label &newLabel)
| Takes ownership of CoordinateSequence.
| Edge (geom::CoordinateSequence *newPts)
| Takes ownership of CoordinateSequence.
size_t | getNumPoints () const
const geom::CoordinateSequence * | getCoordinates () const
const geom::Coordinate & | getCoordinate (std::size_t i) const
const geom::Coordinate & | getCoordinate () const
const Depth & | getDepth () const
int | getDepthDelta () const
| The depthDelta is the change in depth as an edge is crossed from R to L.
void | setDepthDelta (int newDepthDelta)
size_t | getMaximumSegmentIndex () const
EdgeIntersectionList & | getEdgeIntersectionList ()
const EdgeIntersectionList & | getEdgeIntersectionList () const
index::MonotoneChainEdge * | getMonotoneChainEdge ()
| Return this Edge's index::MonotoneChainEdge, ownership is retained by this object.
bool | isClosed () const
bool | isCollapsed () const
| An Edge is collapsed if it is an Area edge and it consists of two segments which are equal and opposite (eg a zero-width V).
Edge * | getCollapsedEdge ()
void | setIsolated (bool newIsIsolated)
bool | isIsolated () const override
void | addIntersections (algorithm::LineIntersector *li, std::size_t segmentIndex, std::size_t geomIndex)
| Adds EdgeIntersections for one or both intersections found for a segment of an edge to the edge intersection list.
void | addIntersection (algorithm::LineIntersector *li, std::size_t segmentIndex, std::size_t geomIndex, std::size_t intIndex)
| Add an EdgeIntersection for intersection intIndex.
void | computeIM (geom::IntersectionMatrix &im) override
| Update the IM with the contribution for this component.
bool | isPointwiseEqual (const Edge *e) const
| return true if the coordinate sequences of the Edges are identical
std::string | print () const
std::string | printReverse () const
bool | equals (const Edge &e) const
bool | equals (const Edge *e) const
const geom::Envelope * | getEnvelope ()
Public Member Functions inherited from geos::geomgraph::GraphComponent
| GraphComponent (const Label &newLabel)
Label & | getLabel ()
const Label & | getLabel () const
void | setLabel (const Label &newLabel)
void | setInResult (bool p_isInResult)
bool | isInResult () const
void | setCovered (bool isCovered)
bool | isCovered () const
bool | isCoveredSet () const
bool | isVisited () const
void | setVisited (bool p_isVisited)
void | updateIM (geom::IntersectionMatrix &im)

## Static Public Member Functions

static void | updateIM (const Label &lbl, geom::IntersectionMatrix &im)

## Public Attributes

std::unique_ptr< geom::CoordinateSequence > | pts
| Externally-set, owned by Edge. FIXME: refuse ownership.
EdgeIntersectionList | eiList

## Friends

std::ostream & | operator<< (std::ostream &os, const Edge &el)

## Additional Inherited Members

Protected Attributes inherited from geos::geomgraph::GraphComponent
Label | label

## Detailed Description

The edge component of a geometry graph

## Member Function Documentation

## addIntersection()

void geos::geomgraph::Edge::addIntersection | ( | algorithm::LineIntersector * | li,
|  | std::size_t | segmentIndex,
|  | std::size_t | geomIndex,
|  | std::size_t | intIndex )

Add an EdgeIntersection for intersection intIndex.

An intersection that falls exactly on a vertex of the edge is normalized to use the higher of the two possible segmentIndexes

## computeIM()

void geos::geomgraph::Edge::computeIM | ( | geom::IntersectionMatrix & | im | ) |

inline override virtual

Update the IM with the contribution for this component.

A component only contributes if it has a labelling for both parent geometries

Implements geos::geomgraph::GraphComponent.

## equals()

bool geos::geomgraph::Edge::equals | ( | const Edge & | e | ) | const

equals is defined to be:

e1 equals e2 iff the coordinates of e1 are the same or the reverse of the coordinates in e2

References Edge(), and equals().

Referenced by equals().

## getDepthDelta()

int geos::geomgraph::Edge::getDepthDelta | ( |  | ) | const

inline

The depthDelta is the change in depth as an edge is crossed from R to L.

Returns
  the change in depth as the edge is crossed from R to L

## isIsolated()

bool geos::geomgraph::Edge::isIsolated | ( |  | ) | const

inline override virtual

Implements geos::geomgraph::GraphComponent.

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

- geomgraph/Edge.h