GEOS: geos::geomgraph::Edge Class Reference

GEOS 3.5.0

- Main Page
- Related Pages
- Namespaces
- Classes
- Files

- Class List
- Class Hierarchy
- Class Members

Public Member Functions | Static Public Member Functions | Public Attributes | Friends | List of all members
geos::geomgraph::Edge Class Reference

`#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.
virtual int | getNumPoints () const
virtual void | setName (const std::string &newName)
virtual const geom::CoordinateSequence * | getCoordinates () const
virtual const geom::Coordinate & | getCoordinate (int i) const
virtual const geom::Coordinate & | getCoordinate () const
virtual Depth & | getDepth ()
virtual int | getDepthDelta () const
| The depthDelta is the change in depth as an edge is crossed from R to L. More...
virtual void | setDepthDelta (int newDepthDelta)
virtual int | getMaximumSegmentIndex () const
virtual EdgeIntersectionList & | getEdgeIntersectionList ()
virtual index::MonotoneChainEdge * | getMonotoneChainEdge ()
| Return this Edge's index::MonotoneChainEdge, ownership is retained by this object.
virtual bool | isClosed () const
virtual 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).
virtual Edge * | getCollapsedEdge ()
virtual void | setIsolated (bool newIsIsolated)
virtual bool | isIsolated () const
virtual void | addIntersections (algorithm::LineIntersector *li, int segmentIndex, int geomIndex)
| Adds EdgeIntersections for one or both intersections found for a segment of an edge to the edge intersection list.
virtual void | addIntersection (algorithm::LineIntersector *li, int segmentIndex, int geomIndex, int intIndex)
| Add an EdgeIntersection for intersection intIndex. More...
virtual void | computeIM (geom::IntersectionMatrix &im)
| Update the IM with the contribution for this component. More...
virtual bool | isPointwiseEqual (const Edge *e) const
| return true if the coordinate sequences of the Edges are identical
virtual std::string | print () const
virtual std::string | printReverse () const
virtual bool | equals (const Edge &e) const
virtual bool | equals (const Edge *e) const
virtual 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)
virtual void | setInResult (bool isInResult)
virtual bool | isInResult () const
virtual void | setCovered (bool isCovered)
virtual bool | isCovered () const
virtual bool | isCoveredSet () const
virtual bool | isVisited () const
virtual void | setVisited (bool isVisited)
virtual void | updateIM (geom::IntersectionMatrix &im)

## Static Public Member Functions
static void | updateIM (const Label &lbl, geom::IntersectionMatrix &im)

## Public Attributes
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

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

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

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

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.

References equals(), geos::geom::operator<<(), and geos::geom::operator==().

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

equals is defined to be:

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

Referenced by computeIM().

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

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

References geos::geom::CoordinateSequence::getAt().

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

- geomgraph/Edge.h