17 #include <geos/export.h>
19 #include <geos/operation/overlayng/InputGeometry.h>
20 #include <geos/operation/overlayng/OverlayNG.h>
21 #include <geos/geom/Location.h>
22 #include <geos/geom/LineString.h>
30 class GeometryFactory;
80 std::vector<std::unique_ptr<geom::LineString>> lines;
97 void markResultLines();
121 void addResultLines();
122 void addResultLinesMerged();
124 std::unique_ptr<geom::LineString> toLine(
OverlayEdge* edge);
126 void addResultLinesForNodes();
131 void addResultLinesRings();
146 std::unique_ptr<geom::LineString> buildLine(
OverlayEdge* node);
166 , geometryFactory(geomFact)
167 , hasResultArea(p_hasResultArea)
168 , inputAreaIndex(inputGeom->getAreaIndex())
176 std::vector<std::unique_ptr<geom::LineString>> getLines();
178 void setStrictMode(
bool p_isStrictResultMode)
180 isAllowCollapseLines = ! p_isStrictResultMode;
181 isAllowMixedResult = ! p_isStrictResultMode;