23#include <geos/export.h>
28#include <geos/geom/Coordinate.h>
29#include <geos/geomgraph/Node.h>
34#pragma warning(disable: 4251)
49class GEOS_DLL NodeMap {
52 typedef std::map<geom::Coordinate*, Node*, geom::CoordinateLessThen> container;
54 typedef container::iterator iterator;
56 typedef container::const_iterator const_iterator;
58 typedef std::pair<geom::Coordinate*, Node*> pair;
62 const NodeFactory& nodeFact;
67 NodeMap(
const NodeFactory& newNodeFact);
71 Node* addNode(
const geom::Coordinate& coord);
73 Node* addNode(Node* n);
77 Node* find(
const geom::Coordinate& coord)
const;
82 return nodeMap.begin();
94 return nodeMap.begin();
100 return nodeMap.end();
103 void getBoundaryNodes(uint8_t geomIndex,
104 std::vector<Node*>& bdyNodes)
const;
106 std::string print()
const;
113 for(iterator it = begin(), itEnd = end(); it != itEnd; ++it) {
115 geomgraph::Node* n = p.second;
116 geom::Coordinate* c =
const_cast<geom::Coordinate*
>(
117 &(n->getCoordinate())
119 assert(p.first == c);
127 NodeMap(
const NodeMap& other) =
delete;
128 NodeMap& operator=(
const NodeMap& rhs) =
delete;
Basic namespace for all GEOS functionalities.
Definition: geos.h:39