diff --git a/CuraEngineInfillGenerate/tiles/cont_honeycomb.wkt b/CuraEngineInfillGenerate/tiles/cont_honeycomb.wkt index fad619e..e9d32c2 100644 --- a/CuraEngineInfillGenerate/tiles/cont_honeycomb.wkt +++ b/CuraEngineInfillGenerate/tiles/cont_honeycomb.wkt @@ -1,3 +1,2 @@ -POLYGON ((866 2000, 1732 1500, 1732 500, 866 0, 0 500, 0 1500)) -LINESTRING (866 0, 166 404, 166 1595, 866 2000) -LINESTRING (1830 404, 1834 404, 1834 1595) +POLYGON ((866 2000, 1732 1500, 1732 500, 866 0, 0 500, 0 1500, 866 2000)) +MULTILINESTRING ((1334 404, 1334 1595), (866 0, 166 404, 166 1595, 866 2000)) diff --git a/include/infill/content_reader.h b/include/infill/content_reader.h index ea71662..a22dd7b 100644 --- a/include/infill/content_reader.h +++ b/include/infill/content_reader.h @@ -36,6 +36,12 @@ std::tuple>, std::vector> multilinestring; + boost::geometry::read_wkt(line, multilinestring); + linestrings.insert(linestrings.end(), multilinestring.begin(), multilinestring.end()); + } if (line.starts_with("POLYGON")) { geometry::polygon_outer<> polygon; diff --git a/include/infill/geometry.h b/include/infill/geometry.h index cdcff48..90622f6 100644 --- a/include/infill/geometry.h +++ b/include/infill/geometry.h @@ -42,7 +42,7 @@ static ClipperLib::IntPoint computeCoG(const auto& contour) return cog; } -static ClipperLib::Paths clip(const auto& polys, const std::vector>& outer_contours) +static ClipperLib::Paths clip(const auto& polys, const bool& is_poly_closed, const std::vector>& outer_contours) { ClipperLib::Clipper clipper; ClipperLib::Paths outline_poly; @@ -50,18 +50,27 @@ static ClipperLib::Paths clip(const auto& polys, const std::vector