16 #ifndef GEOS_PLANARGRAPH_DIRECTEDEDGESTAR_H
17 #define GEOS_PLANARGRAPH_DIRECTEDEDGESTAR_H
19 #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 {
53 mutable std::vector<DirectedEdge*> outEdges;
55 void sortEdges()
const;
68 void add(DirectedEdge *de);
73 void remove(DirectedEdge *de);
79 std::vector<DirectedEdge*>::iterator
iterator() {
return begin(); }
81 std::vector<DirectedEdge*>::iterator begin();
84 std::vector<DirectedEdge*>::iterator end();
87 std::vector<DirectedEdge*>::const_iterator begin()
const;
90 std::vector<DirectedEdge*>::const_iterator end()
const;
96 std::size_t
getDegree()
const {
return outEdges.size(); }
108 std::vector<DirectedEdge*>& getEdges();
115 int getIndex(
const Edge *edge);
128 int getIndex(
int i)
const;
145 #endif // GEOS_PLANARGRAPH_DIRECTEDEDGESTAR_H
DirectedEdgeStar()
Constructs a DirectedEdgeStar with no edges.
Definition: planargraph/DirectedEdgeStar.h:61
A sorted collection of DirectedEdge which leave a Node in a PlanarGraph.
Definition: planargraph/DirectedEdgeStar.h:46
Coordinate is the lightweight class used to store coordinates.
Definition: Coordinate.h:60
Represents a directed edge in a PlanarGraph.
Definition: planargraph/DirectedEdge.h:46
std::size_t getDegree() const
Returns the number of edges around the Node associated with this DirectedEdgeStar.
Definition: planargraph/DirectedEdgeStar.h:96
std::vector< DirectedEdge * >::iterator iterator()
Returns an Iterator over the DirectedEdges, in ascending order by angle with the positive x-axis...
Definition: planargraph/DirectedEdgeStar.h:79
Represents an undirected edge of a PlanarGraph.
Definition: planargraph/Edge.h:54