24#include <geos/export.h>
25#include <geos/geomgraph/EdgeEnd.h>
26#include <geos/geom/Location.h>
27#include <geos/geom/Coordinate.h>
38#pragma warning(disable: 4251)
44class BoundaryNodeRule;
66 typedef std::set<EdgeEnd*, EdgeEndLT> container;
68 typedef container::iterator iterator;
69 typedef container::const_iterator const_iterator;
70 typedef container::reverse_iterator reverse_iterator;
93 virtual std::size_t getDegree();
95 virtual iterator begin();
97 virtual iterator end();
99 virtual reverse_iterator rbegin();
101 virtual reverse_iterator rend();
103 virtual const_iterator
106 return edgeMap.begin();
109 virtual const_iterator
112 return edgeMap.end();
115 virtual container& getEdges();
117 virtual EdgeEnd* getNextCW(EdgeEnd* ee);
119 virtual void computeLabelling(
const std::vector<std::unique_ptr<GeometryGraph>>&geomGraph);
122 virtual bool isAreaLabelsConsistent(
const GeometryGraph& geomGraph);
124 virtual void propagateSideLabels(uint32_t geomIndex);
128 virtual iterator find(EdgeEnd* eSearch);
130 virtual std::string print()
const;
153 const std::vector<std::unique_ptr<GeometryGraph>>&geom);
159 std::array<geom::Location, 2> ptInAreaLocation;
163 virtual bool checkAreaLabelsConsistent(uint32_t geomIndex);
168EdgeEndStar::getDegree()
173inline EdgeEndStar::iterator
179inline EdgeEndStar::container&
180EdgeEndStar::getEdges()
185inline EdgeEndStar::reverse_iterator
191inline EdgeEndStar::iterator
197inline EdgeEndStar::reverse_iterator
203inline EdgeEndStar::iterator
204EdgeEndStar::find(EdgeEnd* eSearch)
209std::ostream& operator<< (std::ostream&,
const EdgeEndStar&);
An interface for rules which determine whether node points which are in boundaries of lineal geometry...
Definition BoundaryNodeRule.h:50
Coordinate is the lightweight class used to store coordinates.
Definition Coordinate.h:217
A EdgeEndStar is an ordered list of EdgeEnds around a node.
Definition EdgeEndStar.h:63
virtual geom::Coordinate & getCoordinate()
EdgeEndStar::container edgeMap
A map which maintains the edges in sorted order around the node.
Definition EdgeEndStar.h:138
virtual void insert(EdgeEnd *e)=0
Insert a EdgeEnd into this EdgeEndStar.
virtual void insertEdgeEnd(EdgeEnd *e)
Insert an EdgeEnd into the map.
Definition EdgeEndStar.h:144
Models the end of an edge incident on a node.
Definition EdgeEnd.h:54
Location
Constants representing the location of a point relative to a geometry.
Definition Location.h:32
Basic namespace for all GEOS functionalities.
Definition geos.h:39