diff --git a/.clang-tidy b/.clang-tidy index f45561badb..3f0aaa8bde 100644 --- a/.clang-tidy +++ b/.clang-tidy @@ -14,7 +14,9 @@ CheckOptions: # admesh's stl.h, which the include path also exposes without its directory. # Clipper's own clipper.hpp is only included through libslic3r/clipper.hpp or # clipper_z.hpp, which configure it first, and Boost.Polygon's headers only - # work through boost/polygon/polygon.hpp or voronoi.hpp. minilzo's config + # work through boost/polygon/polygon.hpp or voronoi.hpp. Clipper2's headers + # are included through clipper2/clipper.h, or clipper2_z.hpp, which defines + # USINGZ first. minilzo's config # headers are internal to minilzo.h. # FFmpeg's C headers are left alone because they are only included inside # extern "C", which an inserted include would miss. OS-specific headers (GLib, @@ -59,4 +61,5 @@ CheckOptions: png(lib)?conf\.h; mcut[/\\]platform\.h; boost[/\\]polygon[/\\].*; + clipper2[/\\]clipper\.(core|engine|offset|minkowski|rectclip|export|triangulation|version)\.h; lzo(conf|defs)\.h diff --git a/src/libslic3r/Algorithm/LineSplit.cpp b/src/libslic3r/Algorithm/LineSplit.cpp index 5b084861d2..789ca39be6 100644 --- a/src/libslic3r/Algorithm/LineSplit.cpp +++ b/src/libslic3r/Algorithm/LineSplit.cpp @@ -1,6 +1,7 @@ #include "LineSplit.hpp" #include "AABBTreeLines.hpp" +#include "libslic3r/ClipperUtils.hpp" #include "libslic3r/ClipperZUtils.hpp" #include "libslic3r/Point.hpp" #include "libslic3r/Line.hpp" diff --git a/src/libslic3r/Algorithm/LineSplit.hpp b/src/libslic3r/Algorithm/LineSplit.hpp index e5577cdd7f..098ff72d09 100644 --- a/src/libslic3r/Algorithm/LineSplit.hpp +++ b/src/libslic3r/Algorithm/LineSplit.hpp @@ -2,6 +2,7 @@ #define SRC_LIBSLIC3R_ALGORITHM_LINE_SPLIT_HPP_ #include "ClipperZUtils.hpp" +#include "libslic3r/libslic3r.h" #include "libslic3r/Point.hpp" #include #include diff --git a/src/libslic3r/Arachne/utils/ExtrusionLine.cpp b/src/libslic3r/Arachne/utils/ExtrusionLine.cpp index cb92fccab2..c1c29c50e9 100644 --- a/src/libslic3r/Arachne/utils/ExtrusionLine.cpp +++ b/src/libslic3r/Arachne/utils/ExtrusionLine.cpp @@ -10,6 +10,7 @@ #include "ExtrusionLine.hpp" #include "../../VariableWidth.hpp" +#include "libslic3r/ClipperZUtils.hpp" #include "libslic3r/libslic3r.h" #include "libslic3r/Point.hpp" #include "libslic3r/Arachne/utils/ExtrusionJunction.hpp" diff --git a/src/libslic3r/ClipperUtils.cpp b/src/libslic3r/ClipperUtils.cpp index 88be185f8c..d80936515e 100644 --- a/src/libslic3r/ClipperUtils.cpp +++ b/src/libslic3r/ClipperUtils.cpp @@ -1,14 +1,29 @@ #include #include +#include +#include +#include +#include +#include #include #include #include #include "ClipperUtils.hpp" +#include "BoundingBox.hpp" +#include "ExPolygon.hpp" #include "Geometry.hpp" +#include "Point.hpp" +#include "Polygon.hpp" +#include "Polyline.hpp" +#include "Line.hpp" #include "ShortestPath.hpp" +#include "libslic3r.h" +#include "Surface.hpp" #include +#include +#include // #define CLIPPER_UTILS_DEBUG diff --git a/src/libslic3r/ClipperZUtils.cpp b/src/libslic3r/ClipperZUtils.cpp index f7a4b79b0d..a07f40dc4a 100644 --- a/src/libslic3r/ClipperZUtils.cpp +++ b/src/libslic3r/ClipperZUtils.cpp @@ -1,6 +1,8 @@ #include "ClipperZUtils.hpp" +#include "ClipperUtils.hpp" #include +#include namespace Slic3r { namespace ClipperZUtils { diff --git a/src/libslic3r/ClipperZUtils.hpp b/src/libslic3r/ClipperZUtils.hpp index 159a4e81b3..781357caa5 100644 --- a/src/libslic3r/ClipperZUtils.hpp +++ b/src/libslic3r/ClipperZUtils.hpp @@ -1,8 +1,13 @@ #ifndef slic3r_ClipperZUtils_hpp_ #define slic3r_ClipperZUtils_hpp_ +#include "libslic3r.h" +#include +#include +#include #include #include +#include #include #include diff --git a/src/libslic3r/ElephantFootCompensation.cpp b/src/libslic3r/ElephantFootCompensation.cpp index aaf18608ee..40b856ee4b 100644 --- a/src/libslic3r/ElephantFootCompensation.cpp +++ b/src/libslic3r/ElephantFootCompensation.cpp @@ -1,3 +1,6 @@ +#include "Point.hpp" +#include "BoundingBox.hpp" +#include "Polygon.hpp" #include "libslic3r.h" #include "ClipperUtils.hpp" #include "EdgeGrid.hpp" @@ -8,8 +11,14 @@ #include "SVG.hpp" #include "Utils.hpp" +#include #include #include +#include +#include +#include +#include +#include // #define CONTOUR_DISTANCE_DEBUG_SVG diff --git a/src/libslic3r/Fill/FillBase.cpp b/src/libslic3r/Fill/FillBase.cpp index 80c147f4a4..91a3bb42af 100644 --- a/src/libslic3r/Fill/FillBase.cpp +++ b/src/libslic3r/Fill/FillBase.cpp @@ -48,8 +48,6 @@ #include "libslic3r/Line.hpp" #include "libslic3r/Polygon.hpp" #include "libslic3r/Utils.hpp" -#include "clipper2/clipper.core.h" -#include "clipper2/clipper.offset.h" // #define INFILL_DEBUG_OUTPUT namespace Slic3r { diff --git a/src/libslic3r/Geometry.cpp b/src/libslic3r/Geometry.cpp index 1c775be3a8..6c097428f4 100644 --- a/src/libslic3r/Geometry.cpp +++ b/src/libslic3r/Geometry.cpp @@ -1,16 +1,29 @@ +#include "Point.hpp" +#include "Polygon.hpp" +#include "MultiPoint.hpp" +#include "BoundingBox.hpp" #include "libslic3r.h" #include "Exception.hpp" #include "Geometry.hpp" #include "ClipperUtils.hpp" #include "ExPolygon.hpp" #include "Line.hpp" +#include +#include +#include #include +#include +#include #include #include +#include +#include +#include #include #include #include #include +#include #include #include #include diff --git a/src/libslic3r/PerimeterGenerator.cpp b/src/libslic3r/PerimeterGenerator.cpp index 2f8e29c237..5b775f7e25 100644 --- a/src/libslic3r/PerimeterGenerator.cpp +++ b/src/libslic3r/PerimeterGenerator.cpp @@ -1,23 +1,41 @@ #include "PerimeterGenerator.hpp" #include "AABBTreeLines.hpp" +#include "Arachne/utils/ExtrusionLine.hpp" +#include "Arachne/utils/ExtrusionJunction.hpp" #include "BridgeDetector.hpp" #include "ClipperUtils.hpp" #include "ClipperZUtils.hpp" +#include "ExPolygon.hpp" #include "ExtrusionEntity.hpp" #include "ExtrusionEntityCollection.hpp" #include "Feature/FuzzySkin/FuzzySkin.hpp" +#include "Polygon.hpp" +#include "Polyline.hpp" +#include "Point.hpp" +#include "Flow.hpp" #include "PrintConfig.hpp" #include "ShortestPath.hpp" +#include "Surface.hpp" #include "VariableWidth.hpp" #include "Arachne/WallToolPaths.hpp" #include "Geometry/ConvexHull.hpp" #include "ExPolygonCollection.hpp" #include "Geometry.hpp" #include "Line.hpp" +#include #include #include +#include +#include +#include +#include +#include +#include #include #include +#include +#include "libslic3r.h" +#include #include "libslic3r/AABBTreeLines.hpp" #include "Print.hpp" static const int overhang_sampling_number = 6; diff --git a/src/libslic3r/PrintObject.cpp b/src/libslic3r/PrintObject.cpp index 26f4dc4b7d..d4201cf696 100644 --- a/src/libslic3r/PrintObject.cpp +++ b/src/libslic3r/PrintObject.cpp @@ -31,7 +31,6 @@ #include "Fill/Fill.hpp" #include "Fill/FillLightning.hpp" #include "Format/STL.hpp" -#include "clipper2/clipper.offset.h" #include "format.hpp" #include "AABBTreeIndirect.hpp" #include "AABBTreeLines.hpp" diff --git a/src/libslic3r/Support/SupportCommon.cpp b/src/libslic3r/Support/SupportCommon.cpp index d4495cf4a2..46ed7e968c 100644 --- a/src/libslic3r/Support/SupportCommon.cpp +++ b/src/libslic3r/Support/SupportCommon.cpp @@ -13,11 +13,27 @@ #include #include +#include +#include +#include +#include +#include #include +#include +#include +#include #include "SupportCommon.hpp" +#include "libslic3r/PrintConfig.hpp" +#include "libslic3r/Polygon.hpp" +#include "libslic3r/Slicing.hpp" +#include "libslic3r/ExtrusionEntity.hpp" +#include "libslic3r/Polyline.hpp" #include "SupportLayer.hpp" #include "SupportParameters.hpp" +#include "libslic3r/libslic3r.h" +#include "libslic3r/Surface.hpp" +#include "libslic3r/Utils.hpp" // #define SLIC3R_DEBUG diff --git a/src/libslic3r/Support/TreeSupport3D.cpp b/src/libslic3r/Support/TreeSupport3D.cpp index 096bf91664..09f741ec25 100644 --- a/src/libslic3r/Support/TreeSupport3D.cpp +++ b/src/libslic3r/Support/TreeSupport3D.cpp @@ -12,6 +12,7 @@ #include "BuildVolume.hpp" #include "ClipperUtils.hpp" #include "EdgeGrid.hpp" +#include "libslic3r/Exception.hpp" #include "libslic3r/ExPolygon.hpp" #include "Fill/Fill.hpp" #include "libslic3r/Flow.hpp"