22 #ifndef GEOS_GEOMGRAPH_EDGERING_H 23 #define GEOS_GEOMGRAPH_EDGERING_H 39 #pragma warning(disable: 4251) // warning C4251: needs to have dll-interface to be used by clients of class 45 class GeometryFactory;
111 std::vector<DirectedEdge*>& getEdges();
113 int getMaxNodeDegree();
134 for(
const auto& hole : holes) {
136 assert(hole->getShell() ==
this);
139 #endif // ndef NDEBUG 151 void mergeLabel(
const Label& deLabel);
165 void mergeLabel(
const Label& deLabel,
int geomIndex);
167 void addPoints(
Edge* edge,
bool isForward,
bool isFirstEdge);
170 std::vector<std::unique_ptr<EdgeRing>>
holes;
179 std::vector<geom::Coordinate>
pts;
185 std::unique_ptr<geom::LinearRing>
ring;
192 void computeMaxNodeDegree();
205 #endif // ifndef GEOS_GEOMGRAPH_EDGERING_H
Coordinate is the lightweight class used to store coordinates.
const geom::GeometryFactory * geometryFactory
std::vector< DirectedEdge * > edges
the DirectedEdges making up this EdgeRing
std::vector< geom::Coordinate > pts
std::vector< std::unique_ptr< EdgeRing > > holes
a list of EdgeRings which are holes in this EdgeRing
std::ostream & operator<<(std::ostream &os, const Coordinate &c)
Output function.
EdgeRing * shell
if non-null, the ring is a hole and this EdgeRing is its containing shell
Supplies a set of utility methods for building Geometry objects from CoordinateSequence or other Geom...
A Label indicates the topological relationship of a component of a topology graph to a given Geometry...
Basic namespace for all GEOS functionalities.
Models an OGC SFS LinearRing. A LinearRing is a LineString which is both closed and simple...
std::unique_ptr< geom::LinearRing > ring
void testInvariant() const