24 #include <geos/export.h> 25 #include <geos/geomgraph/EdgeEnd.h> 26 #include <geos/geom/Location.h> 27 #include <geos/geom/Coordinate.h> 37 #pragma warning(disable: 4251) // warning C4251: needs to have dll-interface to be used by clients of class 43 class BoundaryNodeRule;
65 typedef std::set<EdgeEnd*, EdgeEndLT> container;
67 typedef container::iterator iterator;
68 typedef container::const_iterator const_iterator;
69 typedef container::reverse_iterator reverse_iterator;
79 virtual void insert(
EdgeEnd* e) = 0;
92 virtual std::size_t getDegree();
94 virtual iterator begin();
96 virtual iterator end();
98 virtual reverse_iterator rbegin();
100 virtual reverse_iterator rend();
102 virtual const_iterator
105 return edgeMap.begin();
108 virtual const_iterator
111 return edgeMap.end();
114 virtual container& getEdges();
118 virtual void computeLabelling(std::vector<GeometryGraph*>* geomGraph);
121 virtual bool isAreaLabelsConsistent(
const GeometryGraph& geomGraph);
123 virtual void propagateSideLabels(uint32_t geomIndex);
127 virtual iterator find(
EdgeEnd* eSearch);
129 virtual std::string print()
const;
152 std::vector<GeometryGraph*>* geom);
158 std::array<geom::Location, 2> ptInAreaLocation;
162 virtual bool checkAreaLabelsConsistent(uint32_t geomIndex);
167 EdgeEndStar::getDegree()
172 inline EdgeEndStar::iterator
178 inline EdgeEndStar::container&
179 EdgeEndStar::getEdges()
184 inline EdgeEndStar::reverse_iterator
190 inline EdgeEndStar::iterator
196 inline EdgeEndStar::reverse_iterator
197 EdgeEndStar::rbegin()
202 inline EdgeEndStar::iterator
203 EdgeEndStar::find(EdgeEnd* eSearch)
208 std::ostream& operator<< (std::ostream&,
const EdgeEndStar&);
virtual void insertEdgeEnd(EdgeEnd *e)
Insert an EdgeEnd into the map.
Definition: EdgeEndStar.h:143
A EdgeEndStar is an ordered list of EdgeEnds around a node.
Definition: EdgeEndStar.h:62
Coordinate is the lightweight class used to store coordinates.
Definition: Coordinate.h:58
A GeometryGraph is a graph that models a given Geometry.
Definition: GeometryGraph.h:71
Models the end of an edge incident on a node.
Definition: EdgeEnd.h:54
An interface for rules which determine whether node points which are in boundaries of lineal geometry...
Definition: BoundaryNodeRule.h:50
Location
Constants representing the location of a point relative to a geometry.
Definition: Location.h:32
Basic namespace for all GEOS functionalities.
Definition: Angle.h:25
EdgeEndStar::container edgeMap
A map which maintains the edges in sorted order around the node.
Definition: EdgeEndStar.h:137