22 #ifndef GEOS_GEOMGRAPH_DIRECTEDEDGE_H
23 #define GEOS_GEOMGRAPH_DIRECTEDEDGE_H
25 #include <geos/export.h>
28 #include <geos/geom/Location.h>
29 #include <geos/geomgraph/EdgeEnd.h>
31 #include <geos/inline.h>
45 class GEOS_DLL DirectedEdge:
public EdgeEnd {
60 DirectedEdge(Edge* newEdge,
bool newIsForward);
65 void setInResult(
bool newIsInResult);
71 void setVisited(
bool newIsVisited);
73 void setEdgeRing(EdgeRing* newEdgeRing);
75 EdgeRing* getEdgeRing();
77 void setMinEdgeRing(EdgeRing* newMinEdgeRing);
79 EdgeRing* getMinEdgeRing();
81 int getDepth(
int position);
83 void setDepth(
int position,
int newDepth);
85 int getDepthDelta()
const;
92 void setVisitedEdge(
bool newIsVisited);
102 DirectedEdge* getSym();
106 void setSym(DirectedEdge* de);
108 DirectedEdge* getNext();
110 void setNext(DirectedEdge* newNext);
112 DirectedEdge* getNextMin();
114 void setNextMin(DirectedEdge* newNextMin);
135 bool isInteriorAreaEdge();
144 void setEdgeDepths(
int position,
int newDepth);
146 std::string print()
const override;
148 std::string printEdge();
167 DirectedEdge* nextMin;
173 EdgeRing* minEdgeRing;
182 void computeDirectedLabel();
189 # include "geos/geomgraph/DirectedEdge.inl"
192 #endif // ifndef GEOS_GEOMGRAPH_DIRECTEDEDGE_H