16 #ifndef GEOS_PLANARGRAPH_DIRECTEDEDGESTAR_H
17 #define GEOS_PLANARGRAPH_DIRECTEDEDGESTAR_H
19 #include <geos/export.h>
25 #pragma warning(disable: 4251) // warning C4251: needs to have dll-interface to be used by clients of class
33 namespace planargraph {
40 namespace planargraph {
43 class GEOS_DLL DirectedEdgeStar {
50 mutable std::vector<DirectedEdge*> outEdges;
52 void sortEdges()
const;
58 DirectedEdgeStar(): sorted(false) {}
61 ~DirectedEdgeStar() {}
66 void add(DirectedEdge* de);
71 void remove(DirectedEdge* de);
77 std::vector<DirectedEdge*>::iterator
83 std::vector<DirectedEdge*>::iterator begin();
86 std::vector<DirectedEdge*>::iterator end();
89 std::vector<DirectedEdge*>::const_iterator begin()
const;
92 std::vector<DirectedEdge*>::const_iterator end()
const;
101 return outEdges.size();
114 std::vector<DirectedEdge*>& getEdges();
121 int getIndex(
const Edge* edge);
134 int getIndex(
int i)
const;
151 #endif // GEOS_PLANARGRAPH_DIRECTEDEDGESTAR_H