diff --git a/CuraEngine-clipper51x.patch b/CuraEngine-clipper51x.patch deleted file mode 100644 index b171104..0000000 --- a/CuraEngine-clipper51x.patch +++ /dev/null @@ -1,82 +0,0 @@ -From 2f6d8132a66b142541ed9a6ab21c7ebf800de13c Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= -Date: Sun, 23 Jun 2013 16:30:24 +0200 -Subject: [PATCH] Added PolyTreeToExPolygons function form Clipper - documentation and introduced support for Clipper 5.1.x - ---- - layerPart.h | 47 ++++++++++++++++++++++++++++++++++++++++++++--- - 1 file changed, 44 insertions(+), 3 deletions(-) - -diff --git a/layerPart.h b/layerPart.h -index 1be61f6..ea52eca 100644 ---- a/layerPart.h -+++ b/layerPart.h -@@ -15,6 +15,44 @@ - */ - - -+////////////////////////////////////////////////////////////////////////////////////////// -+// -+// old API compatibility -+// polytree to expolygons -+// http://www.angusj.com/delphi/clipper/documentation/Docs/Units/ClipperLib/Types/ExPolygons.htm -+ -+struct ExPolygon -+{ -+ ClipperLib::Polygon outer; -+ ClipperLib::Polygons holes; -+}; -+typedef std::vector ExPolygons; -+ -+void AddOuterPolyNodeToExPolygons(const ClipperLib::PolyNode * polynode, ExPolygons& expolygons) -+{ -+ size_t cnt = expolygons.size(); -+ expolygons.resize(cnt + 1); -+ expolygons[cnt].outer = polynode->Contour; -+ expolygons[cnt].holes.resize(polynode->ChildCount()); -+ for (int i = 0; i < polynode->ChildCount(); ++i) -+ { -+ expolygons[cnt].holes[i] = polynode->Childs[i]->Contour; -+ //Add outer polygons contained by (nested within) holes ... -+ for (int j = 0; j < polynode->Childs[i]->ChildCount(); ++j) -+ AddOuterPolyNodeToExPolygons(polynode->Childs[i]->Childs[j], expolygons); -+ } -+} -+ -+void PolyTreeToExPolygons(const ClipperLib::PolyTree * polytree, ExPolygons& expolygons) -+{ -+ expolygons.clear(); -+ for (int i = 0; i < polytree->ChildCount(); ++i) -+ AddOuterPolyNodeToExPolygons(polytree->Childs[i], expolygons); -+} -+ -+// -+////////////////////////////////////////////////////////////////////////////////////////// -+ - void createLayerWithParts(SliceLayer& storageLayer, SlicerLayer* layer, int unionAllType) - { - ClipperLib::Polygons polyList; -@@ -31,13 +69,16 @@ void createLayerWithParts(SliceLayer& storageLayer, SlicerLayer* layer, int unio - polyList.push_back(p); - } - -- ClipperLib::ExPolygons resultPolys; -+ ExPolygons resultPolys; -+ ClipperLib::PolyTree resultPolyTree; - ClipperLib::Clipper clipper; - clipper.AddPolygons(polyList, ClipperLib::ptSubject); - if (unionAllType) -- clipper.Execute(ClipperLib::ctUnion, resultPolys, ClipperLib::pftNonZero, ClipperLib::pftNonZero); -+ clipper.Execute(ClipperLib::ctUnion, resultPolyTree, ClipperLib::pftNonZero, ClipperLib::pftNonZero); - else -- clipper.Execute(ClipperLib::ctUnion, resultPolys); -+ clipper.Execute(ClipperLib::ctUnion, resultPolyTree); -+ -+ PolyTreeToExPolygons(&resultPolyTree, resultPolys); - - for(unsigned int i=0; i