|
GEOS
3.13.1
|
#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. | |
| 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. More... | |
| 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. More... | |
| void | computeIM (geom::IntersectionMatrix &im) override |
| Update the IM with the contribution for this component. More... | |
| 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 |
The edge component of a geometry graph
| 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
|
inlineoverridevirtual |
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.
| 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
|
inline |
The depthDelta is the change in depth as an edge is crossed from R to L.