22 #ifndef GEOS_GEOMGRAPH_EDGEENDSTAR_H
23 #define GEOS_GEOMGRAPH_EDGEENDSTAR_H
25 #include <geos/export.h>
26 #include <geos/geomgraph/EdgeEnd.h>
27 #include <geos/geom/Coordinate.h>
29 #include <geos/inline.h>
38 #pragma warning(disable: 4251) // warning C4251: needs to have dll-interface to be used by clients of class
44 class BoundaryNodeRule;
66 typedef std::set<EdgeEnd *, EdgeEndLT> container;
68 typedef container::iterator iterator;
69 typedef container::reverse_iterator reverse_iterator;
78 virtual void insert(
EdgeEnd *e)=0;
89 virtual std::size_t getDegree();
91 virtual iterator begin();
93 virtual iterator end();
95 virtual reverse_iterator rbegin();
97 virtual reverse_iterator rend();
99 virtual container &getEdges();
104 virtual void computeLabelling(std::vector<GeometryGraph*> *geomGraph);
107 virtual bool isAreaLabelsConsistent(
const GeometryGraph& geomGraph);
109 virtual void propagateSideLabels(
int geomIndex);
113 virtual iterator find(
EdgeEnd *eSearch);
115 virtual std::string print();
132 virtual int getLocation(
int geomIndex,
134 std::vector<GeometryGraph*> *geom);
140 int ptInAreaLocation[2];
144 virtual bool checkAreaLabelsConsistent(
int geomIndex);
149 EdgeEndStar::getDegree()
154 inline EdgeEndStar::iterator
160 inline EdgeEndStar::container&
161 EdgeEndStar::getEdges()
166 inline EdgeEndStar::reverse_iterator
172 inline EdgeEndStar::iterator
178 inline EdgeEndStar::reverse_iterator
179 EdgeEndStar::rbegin()
184 inline EdgeEndStar::iterator
185 EdgeEndStar::find(EdgeEnd *eSearch)
202 #endif // ifndef GEOS_GEOMGRAPH_EDGEENDSTAR_H
virtual void insertEdgeEnd(EdgeEnd *e)
Insert an EdgeEnd into the map.
Definition: EdgeEndStar.h:128
A EdgeEndStar is an ordered list of EdgeEnds around a node.
Definition: EdgeEndStar.h:63
Coordinate is the lightweight class used to store coordinates.
Definition: Coordinate.h:60
Definition: GeometryGraph.h:72
Models the end of an edge incident on a node.
Definition: EdgeEnd.h:56
Definition: BoundaryNodeRule.h:50
EdgeEndStar::container edgeMap
A map which maintains the edges in sorted order around the node.
Definition: EdgeEndStar.h:123