70class GEOS_DLL LineBuilder {
79 int8_t inputAreaIndex;
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)
const;
126 void addResultLinesForNodes();
131 void addResultLinesRings();
146 std::unique_ptr<geom::LineString> buildLine(
OverlayEdge* node);
166 , geometryFactory(geomFact)
167 , hasResultArea(p_hasResultArea)
168 , inputAreaIndex((int8_t)inputGeom->getAreaIndex())
173 LineBuilder(
const LineBuilder&) =
delete;
174 LineBuilder& operator=(
const LineBuilder&) =
delete;
176 std::vector<std::unique_ptr<geom::LineString>> getLines();
178 void setStrictMode(
bool p_isStrictResultMode)
180 isAllowCollapseLines = ! p_isStrictResultMode;
181 isAllowMixedResult = ! p_isStrictResultMode;