GEOS
3.6.2
|
#include <Edge.h>
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. | |
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. | |
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::Envelope * | getEnvelope () |
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) |
The edge component of a geometry graph
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.