ENH: improve the support of blade-shape overhangs

1. reduce the gap between blade-shape overhang and support
   github: #3667
2. improve sharp tail detection of blade-shape overhangs by introducing
   lslices_extrudable.
   github: #2786, #3367
   jira: STUDIO-5065, STUDIO-6038

Change-Id: I4e899eace1aa28b100a6f4ce2b8d740c317f5530
(cherry picked from commit 08328b848e39c345b6c7b64021d1e0f04df24d08)
(cherry picked from commit 22056d5f7e7bef5574b53fc0453781cd365bf0e1)
This commit is contained in:
Arthur
2024-03-07 16:14:46 +08:00
committed by Noisyfox
parent c199730004
commit 107551f7b4
3 changed files with 37 additions and 38 deletions

View File

@@ -139,7 +139,7 @@ public:
// BBS
mutable ExPolygons sharp_tails;
mutable ExPolygons cantilevers;
mutable std::map<const ExPolygon*, float> sharp_tails_height;
mutable std::vector<float> sharp_tails_height;
// Collection of expolygons generated by slicing the possibly multiple meshes of the source geometry
// (with possibly differing extruder ID and slicing parameters) and merged.
@@ -150,6 +150,7 @@ public:
// These lslices are also used to detect overhangs and overlaps between successive layers, therefore it is important
// that the 1st lslice is not compensated by the Elephant foot compensation algorithm.
ExPolygons lslices;
ExPolygons lslices_extrudable; // BBS: the extrudable part of lslices used for tree support
std::vector<BoundingBox> lslices_bboxes;
// BBS