Use clipper2 and remove colinear points.
Later on we can try to set lightning infill as the default infill pattern of tree support.
jira: none
Change-Id: Id545b15d778071cec6e56d212ab68db1ab90ad2a
ENH: [tree support] use 2 walls if necessary
Add impact_strength_z for filaments. Use 2 walls more for weaker filaments.
jira: none
Change-Id: I0c7cfcff31f1026d57630283775e7aeb6c311146
ENH: [tree support] ease removal of large area supports
Use xy_expansion to expand overhangs for better removal of large area supports
jira: none
Change-Id: Ief59a811204478e0e0a63ae10a9d63f24512fcfb
ENH: [tree support]shrink polygon support
jira: none
Change-Id: I621aa30191d235329156015ef98d260c5b1d9ca8
FIX: fix organic tree, remove ePolygon support more easily
1. add protection to organic tree when xy_distance is set to 0.
2. add detailed classification of nodes(BigFlat && Thinplate && SharpTail && Cantilever && Normal)
3. modify the corresponding generation logic when drawing ePolygon node circles
Change-Id: I5c52522b9adad832c9542a400ebf4e1e27a61754
FIX: dont set overhang with large areas to 'SharpTail'
Change-Id: Ib118abc54edcb0024be5b0d5d6a51b4bd7b5cb47
FIX: merge support interfaces into a continuous large one
jira: STUDIO-8611
github: #5132
Change-Id: I12ee4a9f88a78304a98f354bfaa92e2a05f19ec2
ENH: dont expand sharp tails
Also add interface below sharp tails when using soluble supports.
Change-Id: Ibf3af1fe466dd7f02f00357c49ad639249efab16
FIX:split holes to help remove
when one overhang area contains holes, split it into 4 pieces with one hole's center. when choosing this center hole, consider if it's collided in lower layers, then choose the bigger hole.
new: add xy_expansion to gap_width to balance the offset later in draw_circles
Change-Id: Ib2452a5f5afdc56e219e69caf8c373d9d9ce8cbf
FIX: sync printer preset when sync extruder info
jira: none
Change-Id: I0b856d38f75816036e428844aabe6fb4c58471f2
FIX: wall count=1 not working
Change-Id: Ib9c174b49f217cc76b42c6ecdb8acdec4f7051b7
ENH: merge circle nodes into polygon overhangs nearby
AND set the number of support_roof_layers below interface to 2, which developing the interface quality.
Change-Id: I3675d37a12321317672a096dc63a9e51e2b1e984
FIX: smooth, floor embedding, delete useless codes
Change-Id: I3a5e2634e35e2ed1c310e89fd22b1d75d9cde682
FIX: remove include "Brim.cpp"
Change-Id: Id99ff4495f6d0f78d8a865d14d997a5cd9aa0791
FIX: fix sharptail detection in organic tree
Change-Id: Ic1b9a0ebf595c814f7d58356270b2a740980c3b4
(cherry picked from commit f9bbc160ae44f3126ae10c4b964fa730d7deb03f)
jira:STUDIO-7406
most of code is from PrusaSlicer and OrcaSlicer,thanks for Filip Sykala - NTB T15p(PrusaSlicer) and Noisyfox(OrcaSlicer)
Port Emboss & SVG gizmo from PrusaSlicer (#2819)
* Rework UI jobs to make them more understandable and flexible.
Change-Id: I765c7658b0881869754bdb161d720e4cbb180c92
(cherry picked from commit 3cef4611793899fa0ac39cb4d3a3abed7270a8e9)
Previously we assume the NFP of exclude regions are rectangle, which was
not always right. Now we calculate the NFP and find a best new position
to shift.
Change-Id: I02c075603cf71dd3c9146d7ac7a6706c0f850669
(cherry picked from commit 713ebd666c90d5dcfaf89914c37d211e9a470e99)
1. Parallelize the majority of overhang detection, leaving only a small
part of sharp tail detection as sequential. This strategy makes
is_support_necessary 10 times faster.
2. Use the overlaps function to detect overlapping, instead of using
intersection().empty()
3. Control the max recursion depth to prevent crashing due to too deep
recursion.
Jira: STUDIO-2445, STUDIO-2458
Change-Id: I35283da3e4a22d7afe251b804ce30b90a9d754df
(cherry picked from commit 1a6fedd1a0c82906f1807234ea1b816247ca6fd7)