22 #ifndef GEOS_GEOMGRAPH_EDGERING_H
23 #define GEOS_GEOMGRAPH_EDGERING_H
25 #include <geos/export.h>
26 #include <geos/geomgraph/Label.h>
28 #include <geos/inline.h>
36 #pragma warning(disable: 4251) // warning C4251: needs to have dll-interface to be used by clients of class
42 class GeometryFactory;
46 class CoordinateSequence;
62 friend std::ostream& operator<< (std::ostream& os,
const EdgeRing& er);
113 int getMaxNodeDegree();
134 for (std::vector<EdgeRing*>::const_iterator
135 it=holes.begin(), itEnd=holes.end();
141 assert(hole->getShell()==
this);
144 #endif // ndef NDEBUG
149 DirectedEdge *startDe;
151 const geom::GeometryFactory *geometryFactory;
156 void mergeLabel(
const Label& deLabel);
172 void addPoints(
Edge *edge,
bool isForward,
bool isFirstEdge);
182 std::vector<DirectedEdge*> edges;
197 void computeMaxNodeDegree();
201 std::ostream& operator<< (std::ostream& os,
const EdgeRing& er);
210 #endif // ifndef GEOS_GEOMGRAPH_EDGERING_H
Definition: geomgraph/Edge.h:66
A Label indicates the topological relationship of a component of a topology graph to a given Geometry...
Definition: Label.h:57
Definition: geomgraph/EdgeRing.h:59
Models an OGC SFS LinearRing.
Definition: LinearRing.h:57
Basic namespace for all GEOS functionalities.
Definition: IndexedNestedRingTester.h:25
void mergeLabel(const Label &deLabel, int geomIndex)
Merge the RHS label from a DirectedEdge into the label for this EdgeRing.
bool containsPoint(const geom::Coordinate &p)
std::vector< EdgeRing * > holes
a list of EdgeRings which are holes in this EdgeRing
Definition: geomgraph/EdgeRing.h:175
std::vector< DirectedEdge * > & getEdges()
Represents a linear polygon, which may include holes.
Definition: Polygon.h:67
Coordinate is the lightweight class used to store coordinates.
Definition: Coordinate.h:60
The internal representation of a list of coordinates inside a Geometry.
Definition: CoordinateSequence.h:59
Supplies a set of utility methods for building Geometry objects from CoordinateSequence or other Geom...
Definition: GeometryFactory.h:67
geom::Polygon * toPolygon(const geom::GeometryFactory *geometryFactory)
void computePoints(DirectedEdge *newStart)
throw(const TopologyException &)
A directed EdgeEnd.
Definition: geomgraph/DirectedEdge.h:44