GEOS 3.14.0dev
|
#include <DirectedEdge.h>
Public Member Functions | |
DirectedEdge (Edge *newEdge, bool newIsForward) | |
void | setInResult (bool v) |
bool | isInResult () const |
bool | isVisited () const |
void | setVisited (bool v) |
void | setEdgeRing (EdgeRing *er) |
EdgeRing * | getEdgeRing () const |
void | setMinEdgeRing (EdgeRing *mer) |
EdgeRing * | getMinEdgeRing () const |
int | getDepth (int position) const |
void | setDepth (int position, int newDepth) |
int | getDepthDelta () const |
void | setVisitedEdge (bool newIsVisited) |
DirectedEdge * | getSym () const |
Each Edge gives rise to a pair of symmetric DirectedEdges, in opposite directions. | |
bool | isForward () const |
void | setSym (DirectedEdge *de) |
DirectedEdge * | getNext () const |
void | setNext (DirectedEdge *newNext) |
DirectedEdge * | getNextMin () const |
void | setNextMin (DirectedEdge *nm) |
bool | isLineEdge () |
Tells whether this edge is a Line. | |
bool | isInteriorAreaEdge () |
Tells whether this edge is an Area. | |
void | setEdgeDepths (int position, int newDepth) |
Set both edge depths. | |
std::string | print () const override |
std::string | printEdge () |
Public Member Functions inherited from geos::geomgraph::EdgeEnd | |
EdgeEnd (Edge *newEdge, const geom::Coordinate &newP0, const geom::Coordinate &newP1, const Label &newLabel) | |
EdgeEnd (Edge *newEdge, const geom::Coordinate &newP0, const geom::Coordinate &newP1) | |
Edge * | getEdge () |
Label & | getLabel () |
const Label & | getLabel () const |
geom::Coordinate & | getCoordinate () |
const geom::Coordinate & | getCoordinate () const |
geom::Coordinate & | getDirectedCoordinate () |
int | getQuadrant () |
double | getDx () |
double | getDy () |
void | setNode (Node *newNode) |
Node * | getNode () |
int | compareTo (const EdgeEnd *e) const |
int | compareDirection (const EdgeEnd *e) const |
virtual void | computeLabel (const algorithm::BoundaryNodeRule &bnr) |
Static Public Member Functions | |
static int | depthFactor (geom::Location currLocation, geom::Location nextLocation) |
Computes the factor for the change in depth when moving from one location to another. E.g. if crossing from the INTERIOR to the EXTERIOR the depth decreases, so the factor is -1. | |
Protected Attributes | |
bool | isForwardVar |
Protected Attributes inherited from geos::geomgraph::EdgeEnd | |
Edge * | edge |
Label | label |
Additional Inherited Members | |
Protected Member Functions inherited from geos::geomgraph::EdgeEnd | |
EdgeEnd (Edge *newEdge) | |
void | init (const geom::Coordinate &newP0, const geom::Coordinate &newP1) |
A directed EdgeEnd.
|
inline |
Each Edge gives rise to a pair of symmetric DirectedEdges, in opposite directions.
bool geos::geomgraph::DirectedEdge::isInteriorAreaEdge | ( | ) |
Tells whether this edge is an Area.
This is an interior Area edge if
bool geos::geomgraph::DirectedEdge::isLineEdge | ( | ) |
Tells whether this edge is a Line.
This edge is a line edge if
|
overridevirtual |
Reimplemented from geos::geomgraph::EdgeEnd.
void geos::geomgraph::DirectedEdge::setEdgeDepths | ( | int | position, |
int | newDepth | ||
) |
Set both edge depths.
One depth for a given side is provided. The other is computed depending on the Location transition and the depthDelta of the edge.
void geos::geomgraph::DirectedEdge::setVisitedEdge | ( | bool | newIsVisited | ) |
Marks both DirectedEdges attached to a given Edge.
This is used for edges corresponding to lines, which will only appear oriented in a single direction in the result.