GEOS
3.9.1dev
|
#include <Edge.h>
Public Member Functions | |
void | testInvariant () const |
Edge (geom::CoordinateSequence *newPts, const Label &newLabel) | |
Takes ownership of CoordinateSequence. More... | |
Edge (geom::CoordinateSequence *newPts) | |
Takes ownership of CoordinateSequence. More... | |
~Edge () override | |
virtual size_t | getNumPoints () const |
virtual const geom::CoordinateSequence * | getCoordinates () const |
virtual const geom::Coordinate & | getCoordinate (size_t 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 size_t | getMaximumSegmentIndex () const |
virtual EdgeIntersectionList & | getEdgeIntersectionList () |
virtual index::MonotoneChainEdge * | getMonotoneChainEdge () |
Return this Edge's index::MonotoneChainEdge, ownership is retained by this object. More... | |
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). More... | |
virtual Edge * | getCollapsedEdge () |
virtual void | setIsolated (bool newIsIsolated) |
bool | isIsolated () const override |
virtual void | addIntersections (algorithm::LineIntersector *li, size_t segmentIndex, size_t geomIndex) |
Adds EdgeIntersections for one or both intersections found for a segment of an edge to the edge intersection list. More... | |
virtual void | addIntersection (algorithm::LineIntersector *li, size_t segmentIndex, size_t geomIndex, 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... | |
virtual bool | isPointwiseEqual (const Edge *e) const |
return true if the coordinate sequences of the Edges are identical More... | |
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 const geom::Envelope * | getEnvelope () |
Public Member Functions inherited from geos::geomgraph::GraphComponent | |
GraphComponent () | |
GraphComponent (const Label &newLabel) | |
virtual | ~GraphComponent ()=default |
Label & | getLabel () |
const Label & | getLabel () const |
void | setLabel (const Label &newLabel) |
virtual void | setInResult (bool p_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 p_isVisited) |
virtual 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. More... | |
EdgeIntersectionList | eiList |
Private Attributes | |
std::unique_ptr< index::MonotoneChainEdge > | mce |
Lazily-created, owned by Edge. More... | |
geom::Envelope | env |
Depth | depth |
int | depthDelta |
bool | isIsolatedVar |
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
Definition at line 66 of file geomgraph/Edge.h.
geos::geomgraph::Edge::Edge | ( | geom::CoordinateSequence * | newPts, |
const Label & | newLabel | ||
) |
Takes ownership of CoordinateSequence.
geos::geomgraph::Edge::Edge | ( | geom::CoordinateSequence * | newPts | ) |
Takes ownership of CoordinateSequence.
|
override |
|
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 |
Adds EdgeIntersections for one or both intersections found for a segment of an edge to the edge intersection list.
|
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.
Definition at line 232 of file geomgraph/Edge.h.
|
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 geos::geomgraph::operator==().
|
inlinevirtual |
Definition at line 255 of file geomgraph/Edge.h.
|
virtual |
|
inlinevirtual |
Definition at line 122 of file geomgraph/Edge.h.
|
inlinevirtual |
Definition at line 129 of file geomgraph/Edge.h.
|
inlinevirtual |
Definition at line 115 of file geomgraph/Edge.h.
|
inlinevirtual |
Definition at line 137 of file geomgraph/Edge.h.
|
inlinevirtual |
The depthDelta is the change in depth as an edge is crossed from R to L.
Definition at line 149 of file geomgraph/Edge.h.
|
inlinevirtual |
Definition at line 170 of file geomgraph/Edge.h.
|
virtual |
|
inlinevirtual |
Definition at line 163 of file geomgraph/Edge.h.
|
virtual |
Return this Edge's index::MonotoneChainEdge, ownership is retained by this object.
|
inlinevirtual |
Definition at line 109 of file geomgraph/Edge.h.
|
inlinevirtual |
Definition at line 183 of file geomgraph/Edge.h.
|
virtual |
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).
|
inlineoverridevirtual |
Implements geos::geomgraph::GraphComponent.
Definition at line 205 of file geomgraph/Edge.h.
|
virtual |
return true if the coordinate sequences of the Edges are identical
|
virtual |
|
virtual |
|
inlinevirtual |
Definition at line 156 of file geomgraph/Edge.h.
|
inlinevirtual |
Definition at line 198 of file geomgraph/Edge.h.
|
inline |
Definition at line 85 of file geomgraph/Edge.h.
References geos::geom::operator<<().
|
static |
|
friend |
|
private |
Definition at line 76 of file geomgraph/Edge.h.
|
private |
Definition at line 78 of file geomgraph/Edge.h.
EdgeIntersectionList geos::geomgraph::Edge::eiList |
Definition at line 98 of file geomgraph/Edge.h.
|
private |
Definition at line 74 of file geomgraph/Edge.h.
|
private |
Definition at line 80 of file geomgraph/Edge.h.
|
private |
Lazily-created, owned by Edge.
Definition at line 72 of file geomgraph/Edge.h.
std::unique_ptr<geom::CoordinateSequence> geos::geomgraph::Edge::pts |
Externally-set, owned by Edge. FIXME: refuse ownership.
Definition at line 96 of file geomgraph/Edge.h.