24#include <geos/export.h>
27#include <geos/geom/Location.h>
28#include <geos/geomgraph/EdgeEnd.h>
42class GEOS_DLL DirectedEdge final:
public EdgeEnd {
57 DirectedEdge(
Edge* newEdge,
bool newIsForward);
62 void setInResult(
bool v)
67 bool isInResult()
const
72 bool isVisited()
const
78 void setVisited(
bool v)
83 void setEdgeRing(EdgeRing* er)
88 EdgeRing* getEdgeRing()
const
93 void setMinEdgeRing(EdgeRing* mer)
98 EdgeRing* getMinEdgeRing()
const
103 int getDepth(
int position)
const
105 return depth[position];
108 void setDepth(
int position,
int newDepth);
110 int getDepthDelta()
const;
131 bool isForward()
const
136 void setSym(DirectedEdge* de)
141 DirectedEdge* getNext()
const
146 void setNext(DirectedEdge* newNext)
151 DirectedEdge* getNextMin()
const
156 void setNextMin(DirectedEdge* nm)
191 std::string print()
const override;
193 std::string printEdge();
214 DirectedEdge* nextMin;
229 void computeDirectedLabel();
void setEdgeDepths(int position, int newDepth)
Set both edge depths.
void setVisitedEdge(bool newIsVisited)
bool isLineEdge()
Tells whether this edge is a Line.
DirectedEdge * getSym() const
Each Edge gives rise to a pair of symmetric DirectedEdges, in opposite directions.
Definition geomgraph/DirectedEdge.h:126
static int depthFactor(geom::Location currLocation, geom::Location nextLocation)
Computes the factor for the change in depth when moving from one location to another....
bool isInteriorAreaEdge()
Tells whether this edge is an Area.
Definition geomgraph/EdgeRing.h:57
Definition geomgraph/Edge.h:63
Location
Constants representing the location of a point relative to a geometry.
Definition Location.h:32
Contains classes that implement topology graphs.
Definition Depth.h:31
Basic namespace for all GEOS functionalities.
Definition geos.h:39