geos::geomgraph::Edge Class Reference

#include <Edge.h>

Inheritance diagram for geos::geomgraph::Edge:
geos::geomgraph::GraphComponent

List of all members.

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::CoordinategetCoordinate (int i) const
virtual const geom::CoordinategetCoordinate () const
virtual Depth & getDepth ()
virtual int getDepthDelta () const
 The depthDelta is the change in depth as an edge is crossed from R to L.
virtual void setDepthDelta (int newDepthDelta)
virtual int getMaximumSegmentIndex () const
virtual EdgeIntersectionListgetEdgeIntersectionList ()
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 EdgegetCollapsedEdge ()
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.
virtual void computeIM (geom::IntersectionMatrix &im)
 Update the IM with the contribution for this component.
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::EnvelopegetEnvelope ()

Static Public Member Functions

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

Public Attributes

geom::CoordinateSequencepts
 Externally-set, owned by Edge. FIXME: refuse ownership.
EdgeIntersectionList eiList

Friends

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

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  )  [inline, 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.

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

virtual int geos::geomgraph::Edge::getDepthDelta (  )  const [inline, virtual]

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

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

Generated on 26 Dec 2017 for GEOS by  doxygen 1.6.1