24#include <geos/export.h>
29#include <geos/geomgraph/EdgeEndStar.h>
30#include <geos/geomgraph/Label.h>
31#include <geos/geom/Coordinate.h>
53class GEOS_DLL DirectedEdgeStar:
public EdgeEndStar {
61 resultAreaEdgesComputed(
false)
64 ~DirectedEdgeStar()
override =
default;
75 int getOutgoingDegree();
114 void linkMinimalDirectedEdges(
EdgeRing* er);
116 void linkAllDirectedEdges();
131 std::string print()
const override;
138 std::vector<DirectedEdge*> resultAreaEdgeList;
142 bool resultAreaEdgesComputed;
147 const std::vector<DirectedEdge*>& getResultAreaEdges();
152 SCANNING_FOR_INCOMING = 1,
156 int computeDepths(EdgeEndStar::iterator startIt,
157 EdgeEndStar::iterator endIt,
int startDepth);
void computeDepths(DirectedEdge *de)
Compute the DirectedEdge depths for a subsequence of the edge array.
void updateLabelling(const Label &nodeLabel)
Update incomplete dirEdge labels from the labelling for the node.
void linkResultDirectedEdges()
Traverse the star of DirectedEdges, linking the included edges together.
void findCoveredLineEdges()
Traverse the star of edges, maintaing the current location in the result area at this node (if any).
void insert(EdgeEnd *ee) override
Insert a directed edge in the list.
void mergeSymLabels()
For each dirEdge in the star, merge the label from the sym dirEdge into the label.
void computeLabelling(std::vector< GeometryGraph * > *geom) override
Compute the labelling for all dirEdges in this star, as well as the overall labelling.
A directed EdgeEnd.
Definition geomgraph/DirectedEdge.h:42
Models the end of an edge incident on a node.
Definition EdgeEnd.h:54
Definition geomgraph/EdgeRing.h:57
A Label indicates the topological relationship of a component of a topology graph to a given Geometry...
Definition Label.h:57
Contains classes that implement topology graphs.
Definition Depth.h:31
Basic namespace for all GEOS functionalities.
Definition geos.h:39