ENH: improve normal support's efficiency

Similar to tree support, make as many steps parallel as possible.
Jira: STUDIO-2525

Change-Id: Iee310bbf6911d8d3e4262ee8ed6bd133d09670a9
(cherry picked from commit 3798f1a3ecb85bbfb81925b3702fb4384e18994d)
This commit is contained in:
Arthur 2023-03-20 12:02:15 +08:00 committed by Lane.Wei
parent ef1e4a132d
commit 1ac8013fa5
4 changed files with 179 additions and 133 deletions

View file

@ -75,7 +75,8 @@ public:
bool intersection(const Line& line, Point* intersection) const;
bool first_intersection(const Line& line, Point* intersection) const;
bool intersections(const Line &line, Points *intersections) const;
bool intersections(const Line& line, Points* intersections) const;
bool overlaps(const Polygons& other) const;
// Considering CCW orientation of this polygon, find all convex resp. concave points
// with the angle at the vertex larger than a threshold.
@ -265,6 +266,8 @@ inline Polygons to_polygons(std::vector<Points> &&paths)
// Do polygons match? If they match, they must have the same topology,
// however their contours may be rotated.
bool polygons_match(const Polygon &l, const Polygon &r);
bool overlaps(const Polygons& polys1, const Polygons& polys2);
} // Slic3r
// start Boost