ENH: add clipper2 for preparing

Add clipper2 code into repo

Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: Ib98ea3085055db7d125a92879c46b54e39bdc6b1
(cherry picked from commit 7398e71236a300531a172163c71f15440c37bd5e)
This commit is contained in:
salt.wei 2022-11-08 21:51:21 +08:00 committed by Lane.Wei
parent f258da6add
commit e863d1054a
16 changed files with 7863 additions and 2 deletions

View file

@ -4,6 +4,7 @@
#include "ShortestPath.hpp"
#include "VariableWidth.hpp"
#include "CurveAnalyzer.hpp"
#include "Clipper2Utils.hpp"
#include <cmath>
#include <cassert>
@ -230,7 +231,7 @@ static ExtrusionEntityCollection traverse_loops(const PerimeterGenerator &perime
Polylines inside_polines = (it == lower_polygons_series->begin()) ?
intersection_pl({ polygon }, it->second) :
intersection_pl(remain_polines, it->second);
intersection_pl_2(remain_polines, it->second);
extrusion_paths_append(
paths,
std::move(inside_polines),
@ -243,7 +244,7 @@ static ExtrusionEntityCollection traverse_loops(const PerimeterGenerator &perime
remain_polines = (it == lower_polygons_series->begin()) ?
diff_pl({ polygon }, it->second) :
diff_pl(remain_polines, it->second);
diff_pl_2(remain_polines, it->second);
if (remain_polines.size() == 0)
break;