22#ifndef GEOS_GEOMGRAPH_DIRECTEDEDGE_H
23#define GEOS_GEOMGRAPH_DIRECTEDEDGE_H
25#include <geos/export.h>
28#include <geos/geomgraph/EdgeEnd.h>
30#include <geos/inline.h>
44class GEOS_DLL DirectedEdge:
public EdgeEnd {
59 DirectedEdge(
Edge *newEdge,
bool newIsForward);
64 void setInResult(
bool newIsInResult);
70 void setVisited(
bool newIsVisited);
72 void setEdgeRing(
EdgeRing *newEdgeRing);
76 void setMinEdgeRing(
EdgeRing *newMinEdgeRing);
80 int getDepth(
int position);
82 void setDepth(
int position,
int newDepth);
84 int getDepthDelta()
const;
105 void setSym(DirectedEdge *de);
107 DirectedEdge* getNext();
109 void setNext(DirectedEdge *newNext);
111 DirectedEdge* getNextMin();
113 void setNextMin(DirectedEdge *newNextMin);
145 virtual std::string print()
const;
147 std::string printEdge();
166 DirectedEdge *nextMin;
181 void computeDirectedLabel();
188# include "geos/geomgraph/DirectedEdge.inl"
static int depthFactor(int currLocation, int nextLocation)
Computes the factor for the change in depth when moving from one location to another....
DirectedEdge * getSym()
Each Edge gives rise to a pair of symmetric DirectedEdges, in opposite directions.
void setEdgeDepths(int position, int newDepth)
Set both edge depths.
void setVisitedEdge(bool newIsVisited)
Marks both DirectedEdges attached to a given Edge.
bool isLineEdge()
Tells wheter this edge is a Line.
bool isInteriorAreaEdge()
Tells wheter this edge is an Area.
Definition geomgraph/EdgeRing.h:59
Definition geomgraph/Edge.h:66
Contains classes that implement topology graphs.
Definition IndexedNestedRingTester.h:34
Basic namespace for all GEOS functionalities.
Definition IndexedNestedRingTester.h:25