17 #ifndef GEOS_PLANARGRAPH_DIRECTEDEDGESTAR_H
18 #define GEOS_PLANARGRAPH_DIRECTEDEDGESTAR_H
20 #include <geos/export.h>
26 #pragma warning(disable: 4251) // warning C4251: needs to have dll-interface to be used by clients of class
34 namespace planargraph {
41 namespace planargraph {
51 mutable std::vector<DirectedEdge*> outEdges;
53 void sortEdges()
const;
66 void add(DirectedEdge *de);
71 void remove(DirectedEdge *de);
77 std::vector<DirectedEdge*>::iterator
iterator() {
return begin(); }
79 std::vector<DirectedEdge*>::iterator begin();
82 std::vector<DirectedEdge*>::iterator end();
85 std::vector<DirectedEdge*>::const_iterator begin()
const;
88 std::vector<DirectedEdge*>::const_iterator end()
const;
94 std::size_t
getDegree()
const {
return outEdges.size(); }
106 std::vector<DirectedEdge*>& getEdges();
113 int getIndex(
const Edge *edge);
126 int getIndex(
int i)
const;
143 #endif // GEOS_PLANARGRAPH_DIRECTEDEDGESTAR_H