16 #ifndef GEOS_PLANARGRAPH_NODEMAP_H
17 #define GEOS_PLANARGRAPH_NODEMAP_H
19 #include <geos/export.h>
20 #include <geos/geom/Coordinate.h>
27 #pragma warning(disable: 4251) // warning C4251: needs to have dll-interface to be used by clients of class
32 namespace planargraph {
33 class DirectedEdgeStar;
41 namespace planargraph {
48 class GEOS_DLL NodeMap {
50 typedef std::map<geom::Coordinate, Node*, geom::CoordinateLessThen> container;
59 container& getNodeMap();
61 virtual ~NodeMap() =
default;
76 Node* remove(geom::Coordinate& pt);
83 Node* find(
const geom::Coordinate& coord);
94 return nodeMap.begin();
100 return nodeMap.begin();
102 container::const_iterator
105 return nodeMap.begin();
111 return nodeMap.end();
113 container::const_iterator
116 return nodeMap.end();
126 void getNodes(std::vector<Node*>& nodes);
137 #endif // GEOS_PLANARGRAPH_NODEMAP_H