22 #ifndef GEOS_GEOMGRAPH_EDGEENDSTAR_H 23 #define GEOS_GEOMGRAPH_EDGEENDSTAR_H 40 #pragma warning(disable: 4251) // warning C4251: needs to have dll-interface to be used by clients of class 46 class BoundaryNodeRule;
82 virtual void insert(
EdgeEnd* e) = 0;
95 virtual std::size_t getDegree();
97 virtual iterator begin();
99 virtual iterator end();
101 virtual reverse_iterator rbegin();
103 virtual reverse_iterator rend();
105 virtual const_iterator
108 return edgeMap.begin();
111 virtual const_iterator
114 return edgeMap.end();
117 virtual container& getEdges();
121 virtual void computeLabelling(std::vector<GeometryGraph*>* geomGraph);
124 virtual bool isAreaLabelsConsistent(
const GeometryGraph& geomGraph);
126 virtual void propagateSideLabels(uint32_t geomIndex);
130 virtual iterator find(
EdgeEnd* eSearch);
132 virtual std::string print()
const;
155 std::vector<GeometryGraph*>* geom);
165 virtual bool checkAreaLabelsConsistent(uint32_t geomIndex);
170 EdgeEndStar::getDegree()
172 return edgeMap.size();
178 return edgeMap.begin();
182 EdgeEndStar::getEdges()
190 return edgeMap.rend();
196 return edgeMap.end();
200 EdgeEndStar::rbegin()
202 return edgeMap.rbegin();
208 return edgeMap.find(eSearch);
224 #endif // ifndef GEOS_GEOMGRAPH_EDGEENDSTAR_H virtual void insertEdgeEnd(EdgeEnd *e)
Insert an EdgeEnd into the map.
A EdgeEndStar is an ordered list of EdgeEnds around a node.
std::set< EdgeEnd *, EdgeEndLT > container
virtual const_iterator end() const
Coordinate is the lightweight class used to store coordinates.
container::iterator iterator
A GeometryGraph is a graph that models a given Geometry.
virtual const_iterator begin() const
container::const_iterator const_iterator
Models the end of an edge incident on a node.
An interface for rules which determine whether node points which are in boundaries of lineal geometry...
std::array< geom::Location, 2 > ptInAreaLocation
The location of the point for this star in Geometry i Areas.
Location
Constants representing the location of a point relative to a geometry.
Basic namespace for all GEOS functionalities.
container::reverse_iterator reverse_iterator
std::ostream & operator<<(std::ostream &o, const HCoordinate &c)
EdgeEndStar::container edgeMap
A map which maintains the edges in sorted order around the node.