ENH: speed up one wall top generate

Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: I141565bea3ca4d3fbcc9569b175af5d4f5cdd40e
This commit is contained in:
qing.zhang 2023-03-08 15:10:57 +08:00 committed by Lane.Wei
parent 246ff2653d
commit 0cc953ad41
3 changed files with 28 additions and 4 deletions

View file

@ -147,6 +147,18 @@ void clip_clipper_polygon_with_subject_bbox(const Polygon &src, const BoundingBo
out.erase(std::remove_if(out.begin(), out.end(), [](const Polygon &polygon) { return polygon.empty(); }), out.end());
return out;
}
[[nodiscard]] Polygons clip_clipper_polygons_with_subject_bbox(const ExPolygons &src, const BoundingBox &bbox)
{
Polygons out;
out.reserve(number_polygons(src));
for (const ExPolygon &p : src) {
Polygons temp = clip_clipper_polygons_with_subject_bbox(p, bbox);
out.insert(out.end(), temp.begin(), temp.end());
}
out.erase(std::remove_if(out.begin(), out.end(), [](const Polygon &polygon) {return polygon.empty(); }), out.end());
return out;
}
}
static ExPolygons PolyTreeToExPolygons(ClipperLib::PolyTree &&polytree)