diff --git a/src/libslic3r/Arachne/utils/ExtrusionLine.hpp b/src/libslic3r/Arachne/utils/ExtrusionLine.hpp index f153768762..f3469bfe01 100644 --- a/src/libslic3r/Arachne/utils/ExtrusionLine.hpp +++ b/src/libslic3r/Arachne/utils/ExtrusionLine.hpp @@ -11,7 +11,7 @@ #include "../../BoundingBox.hpp" #include "../../ExtrusionEntity.hpp" #include "../../Flow.hpp" -#include "../../../clipper/clipper_z.hpp" +#include namespace Slic3r { struct ThickPolyline; diff --git a/src/libslic3r/Arrange/Items/ArrangeItem.cpp b/src/libslic3r/Arrange/Items/ArrangeItem.cpp index 70a216d222..391d8f8f45 100644 --- a/src/libslic3r/Arrange/Items/ArrangeItem.cpp +++ b/src/libslic3r/Arrange/Items/ArrangeItem.cpp @@ -6,10 +6,10 @@ #include "libslic3r/Arrange/Core/NFP/NFPConcave_Tesselate.hpp" -#include "libslic3r/Arrange/ArrangeImpl.hpp" -#include "libslic3r/Arrange/Tasks/ArrangeTaskImpl.hpp" -#include "libslic3r/Arrange/Tasks/FillBedTaskImpl.hpp" -#include "libslic3r/Arrange/Tasks/MultiplySelectionTaskImpl.hpp" +#include "libslic3r/Arrange/ArrangeImpl.hpp" // IWYU pragma: keep +#include "libslic3r/Arrange/Tasks/ArrangeTaskImpl.hpp" // IWYU pragma: keep +#include "libslic3r/Arrange/Tasks/FillBedTaskImpl.hpp" // IWYU pragma: keep +#include "libslic3r/Arrange/Tasks/MultiplySelectionTaskImpl.hpp" // IWYU pragma: keep #include "libslic3r/Geometry/ConvexHull.hpp" diff --git a/src/libslic3r/Arrange/Items/SimpleArrangeItem.cpp b/src/libslic3r/Arrange/Items/SimpleArrangeItem.cpp index e44a55270b..b1055eab91 100644 --- a/src/libslic3r/Arrange/Items/SimpleArrangeItem.cpp +++ b/src/libslic3r/Arrange/Items/SimpleArrangeItem.cpp @@ -3,10 +3,10 @@ ///|/ PrusaSlicer is released under the terms of the AGPLv3 or higher ///|/ #include "SimpleArrangeItem.hpp" -#include "libslic3r/Arrange/ArrangeImpl.hpp" -#include "libslic3r/Arrange/Tasks/ArrangeTaskImpl.hpp" -#include "libslic3r/Arrange/Tasks/FillBedTaskImpl.hpp" -#include "libslic3r/Arrange/Tasks/MultiplySelectionTaskImpl.hpp" +#include "libslic3r/Arrange/ArrangeImpl.hpp" // IWYU pragma: keep +#include "libslic3r/Arrange/Tasks/ArrangeTaskImpl.hpp" // IWYU pragma: keep +#include "libslic3r/Arrange/Tasks/FillBedTaskImpl.hpp" // IWYU pragma: keep +#include "libslic3r/Arrange/Tasks/MultiplySelectionTaskImpl.hpp" // IWYU pragma: keep namespace Slic3r { namespace arr2 { diff --git a/src/libslic3r/BranchingTree/PointCloud.cpp b/src/libslic3r/BranchingTree/PointCloud.cpp index a8b72e45a4..009f8c4359 100644 --- a/src/libslic3r/BranchingTree/PointCloud.cpp +++ b/src/libslic3r/BranchingTree/PointCloud.cpp @@ -7,7 +7,7 @@ #include "libslic3r/Tesselate.hpp" #include "libslic3r/SLA/SupportTreeUtils.hpp" -#include +#include // IWYU pragma: keep namespace Slic3r { namespace branchingtree { diff --git a/src/libslic3r/BuildVolume.cpp b/src/libslic3r/BuildVolume.cpp index e877439fe2..babb3e71e0 100644 --- a/src/libslic3r/BuildVolume.cpp +++ b/src/libslic3r/BuildVolume.cpp @@ -5,7 +5,7 @@ #include "BuildVolume.hpp" #include "ClipperUtils.hpp" #include "Geometry/ConvexHull.hpp" -#include "GCode/GCodeProcessor.hpp" +#include "libslic3r/GCode/GCodeProcessor.hpp" #include "Point.hpp" #include diff --git a/src/libslic3r/ClipperUtils.hpp b/src/libslic3r/ClipperUtils.hpp index f399fb6e3b..98bb077f79 100644 --- a/src/libslic3r/ClipperUtils.hpp +++ b/src/libslic3r/ClipperUtils.hpp @@ -19,7 +19,8 @@ #else /* SLIC3R_USE_CLIPPER2 */ -#include "clipper.hpp" +#include "libslic3r/clipper.hpp" + // import these wherever we're included using Slic3r::ClipperLib::jtMiter; using Slic3r::ClipperLib::jtRound; diff --git a/src/libslic3r/Config.cpp b/src/libslic3r/Config.cpp index e26a599971..44ff6f0022 100644 --- a/src/libslic3r/Config.cpp +++ b/src/libslic3r/Config.cpp @@ -1431,7 +1431,7 @@ t_config_option_keys DynamicConfig::equal(const DynamicConfig &other) const } -#include +#include // IWYU pragma: keep CEREAL_REGISTER_TYPE(Slic3r::ConfigOption) CEREAL_REGISTER_TYPE(Slic3r::ConfigOptionSingle) CEREAL_REGISTER_TYPE(Slic3r::ConfigOptionSingle) diff --git a/src/libslic3r/CustomGCode.cpp b/src/libslic3r/CustomGCode.cpp index 92fc8c0d9d..eace7ca9c0 100644 --- a/src/libslic3r/CustomGCode.cpp +++ b/src/libslic3r/CustomGCode.cpp @@ -5,7 +5,7 @@ #include "CustomGCode.hpp" #include "Config.hpp" #include "GCode.hpp" -#include "GCode/GCodeWriter.hpp" +#include "libslic3r/GCode/GCodeWriter.hpp" namespace Slic3r { diff --git a/src/libslic3r/Extruder.cpp b/src/libslic3r/Extruder.cpp index 22b9161d09..1700998d55 100644 --- a/src/libslic3r/Extruder.cpp +++ b/src/libslic3r/Extruder.cpp @@ -8,7 +8,7 @@ ///|/ PrusaSlicer is released under the terms of the AGPLv3 or higher ///|/ #include "Extruder.hpp" -#include "GCode/GCodeWriter.hpp" +#include "libslic3r/GCode/GCodeWriter.hpp" #include "PrintConfig.hpp" namespace Slic3r { diff --git a/src/libslic3r/Format/AnycubicSLA.cpp b/src/libslic3r/Format/AnycubicSLA.cpp index 60416683a6..5ac2324428 100644 --- a/src/libslic3r/Format/AnycubicSLA.cpp +++ b/src/libslic3r/Format/AnycubicSLA.cpp @@ -11,7 +11,7 @@ #include #include -#include +#include // IWYU pragma: keep #include #include diff --git a/src/libslic3r/Format/PrintRequest.cpp b/src/libslic3r/Format/PrintRequest.cpp index c7a0a53fb1..7dceaea77d 100644 --- a/src/libslic3r/Format/PrintRequest.cpp +++ b/src/libslic3r/Format/PrintRequest.cpp @@ -5,7 +5,7 @@ #include #include #include -#include +#include #include "libslic3r/Exception.hpp" #include "libslic3r/Model.hpp" diff --git a/src/libslic3r/Format/SL1.cpp b/src/libslic3r/Format/SL1.cpp index f8e39d217c..3a0283a350 100644 --- a/src/libslic3r/Format/SL1.cpp +++ b/src/libslic3r/Format/SL1.cpp @@ -16,7 +16,7 @@ #include "libslic3r/MTUtils.hpp" #include "libslic3r/PrintConfig.hpp" -#include "libslic3r/miniz_extension.hpp" +#include "libslic3r/miniz_extension.hpp" // IWYU pragma: keep #include #include "libslic3r/GCode/ThumbnailData.hpp" #include "libslic3r/Utils/JsonUtils.hpp" diff --git a/src/libslic3r/GCode.cpp b/src/libslic3r/GCode.cpp index 493a756c0f..468e56f425 100644 --- a/src/libslic3r/GCode.cpp +++ b/src/libslic3r/GCode.cpp @@ -23,18 +23,18 @@ #include "Config.hpp" #include "Geometry/Circle.hpp" #include "libslic3r.h" -#include "GCode/ExtrusionProcessor.hpp" +#include "libslic3r/GCode/ExtrusionProcessor.hpp" #include "I18N.hpp" #include "GCode.hpp" #include "Exception.hpp" #include "ExtrusionEntity.hpp" #include "Geometry/ConvexHull.hpp" -#include "GCode/LabelObjects.hpp" -#include "GCode/PrintExtents.hpp" -#include "GCode/Thumbnails.hpp" -#include "GCode/WipeTower.hpp" -#include "GCode/WipeTowerIntegration.hpp" -#include "GCode/Travels.hpp" +#include "libslic3r/GCode/LabelObjects.hpp" +#include "libslic3r/GCode/PrintExtents.hpp" +#include "libslic3r/GCode/Thumbnails.hpp" +#include "libslic3r/GCode/WipeTower.hpp" +#include "libslic3r/GCode/WipeTowerIntegration.hpp" +#include "libslic3r/GCode/Travels.hpp" #include "Point.hpp" #include "Polygon.hpp" #include "PrintConfig.hpp" diff --git a/src/libslic3r/GCode.hpp b/src/libslic3r/GCode.hpp index ed8a883995..259203c6fe 100644 --- a/src/libslic3r/GCode.hpp +++ b/src/libslic3r/GCode.hpp @@ -15,7 +15,7 @@ #ifndef slic3r_GCode_hpp_ #define slic3r_GCode_hpp_ -#include "GCode/ExtrusionProcessor.hpp" +#include "libslic3r/GCode/ExtrusionProcessor.hpp" #include "JumpPointSearch.hpp" #include "libslic3r.h" #include "ExPolygon.hpp" @@ -24,22 +24,22 @@ #include "PlaceholderParser.hpp" #include "PrintConfig.hpp" #include "Geometry/ArcWelder.hpp" -#include "GCode/AvoidCrossingPerimeters.hpp" -#include "GCode/CoolingBuffer.hpp" -#include "GCode/FindReplace.hpp" -#include "GCode/GCodeWriter.hpp" -#include "GCode/LabelObjects.hpp" -#include "GCode/PressureEqualizer.hpp" -#include "GCode/RetractWhenCrossingPerimeters.hpp" -#include "GCode/SmoothPath.hpp" -#include "GCode/SpiralVase.hpp" -#include "GCode/ToolOrdering.hpp" -#include "GCode/Wipe.hpp" -#include "GCode/WipeTowerIntegration.hpp" -#include "GCode/SeamPlacer.hpp" -#include "GCode/GCodeProcessor.hpp" -#include "GCode/ThumbnailData.hpp" -#include "GCode/Travels.hpp" +#include "libslic3r/GCode/AvoidCrossingPerimeters.hpp" +#include "libslic3r/GCode/CoolingBuffer.hpp" +#include "libslic3r/GCode/FindReplace.hpp" +#include "libslic3r/GCode/GCodeWriter.hpp" +#include "libslic3r/GCode/LabelObjects.hpp" +#include "libslic3r/GCode/PressureEqualizer.hpp" +#include "libslic3r/GCode/RetractWhenCrossingPerimeters.hpp" +#include "libslic3r/GCode/SmoothPath.hpp" +#include "libslic3r/GCode/SpiralVase.hpp" +#include "libslic3r/GCode/ToolOrdering.hpp" +#include "libslic3r/GCode/Wipe.hpp" +#include "libslic3r/GCode/WipeTowerIntegration.hpp" +#include "libslic3r/GCode/SeamPlacer.hpp" +#include "libslic3r/GCode/GCodeProcessor.hpp" +#include "libslic3r/GCode/ThumbnailData.hpp" +#include "libslic3r/GCode/Travels.hpp" #include "EdgeGrid.hpp" #include "tcbspan/span.hpp" diff --git a/src/libslic3r/GCode/Thumbnails.cpp b/src/libslic3r/GCode/Thumbnails.cpp index 5aad21e44e..b13259394b 100644 --- a/src/libslic3r/GCode/Thumbnails.cpp +++ b/src/libslic3r/GCode/Thumbnails.cpp @@ -3,7 +3,7 @@ ///|/ PrusaSlicer is released under the terms of the AGPLv3 or higher ///|/ #include "Thumbnails.hpp" -#include "../miniz_extension.hpp" +#include "libslic3r/miniz_extension.hpp" // IWYU pragma: keep #include "../format.hpp" #include diff --git a/src/libslic3r/MeshBoolean.cpp b/src/libslic3r/MeshBoolean.cpp index 2223257395..c9e9e99d0f 100644 --- a/src/libslic3r/MeshBoolean.cpp +++ b/src/libslic3r/MeshBoolean.cpp @@ -9,7 +9,7 @@ #undef PI // Include igl first. It defines "L" macro which then clashes with our localization -#include +#include // IWYU pragma: keep #undef L // CGAL headers diff --git a/src/libslic3r/MinAreaBoundingBox.cpp b/src/libslic3r/MinAreaBoundingBox.cpp index 4c919e8f61..18a9a57f85 100644 --- a/src/libslic3r/MinAreaBoundingBox.cpp +++ b/src/libslic3r/MinAreaBoundingBox.cpp @@ -19,7 +19,7 @@ #include #endif -#include +#include // IWYU pragma: keep #include namespace Slic3r { diff --git a/src/libslic3r/Model.cpp b/src/libslic3r/Model.cpp index ba3e1075b9..3df96f2640 100644 --- a/src/libslic3r/Model.cpp +++ b/src/libslic3r/Model.cpp @@ -42,7 +42,7 @@ #include "SVG.hpp" #include -#include "GCode/GCodeWriter.hpp" +#include "libslic3r/GCode/GCodeWriter.hpp" namespace Slic3r { diff --git a/src/libslic3r/Preset.cpp b/src/libslic3r/Preset.cpp index 1df3b342d3..96a5572435 100644 --- a/src/libslic3r/Preset.cpp +++ b/src/libslic3r/Preset.cpp @@ -44,7 +44,7 @@ #include "libslic3r.h" #include "Utils.hpp" #include "PlaceholderParser.hpp" -#include "GCode/Thumbnails.hpp" +#include "libslic3r/GCode/Thumbnails.hpp" #include "PresetBundle.hpp" diff --git a/src/libslic3r/Print.cpp b/src/libslic3r/Print.cpp index edfb1715cc..09af1ba0ae 100644 --- a/src/libslic3r/Print.cpp +++ b/src/libslic3r/Print.cpp @@ -32,8 +32,8 @@ #include "ShortestPath.hpp" #include "Thread.hpp" #include "GCode.hpp" -#include "GCode/WipeTower.hpp" -#include "GCode/ConflictChecker.hpp" +#include "libslic3r/GCode/WipeTower.hpp" +#include "libslic3r/GCode/ConflictChecker.hpp" #include "Utils.hpp" #include "BuildVolume.hpp" #include "format.hpp" diff --git a/src/libslic3r/Print.hpp b/src/libslic3r/Print.hpp index 0da013da73..f5ad11f2f1 100644 --- a/src/libslic3r/Print.hpp +++ b/src/libslic3r/Print.hpp @@ -21,8 +21,8 @@ #ifndef slic3r_Print_hpp_ #define slic3r_Print_hpp_ -#include "Fill/FillAdaptive.hpp" -#include "Fill/FillLightning.hpp" +#include "libslic3r/Fill/FillAdaptive.hpp" +#include "libslic3r/Fill/FillLightning.hpp" #include "PrintBase.hpp" #include "BoundingBox.hpp" @@ -32,10 +32,10 @@ #include "Slicing.hpp" #include "SupportSpotsGenerator.hpp" #include "TriangleMeshSlicer.hpp" -#include "GCode/ToolOrdering.hpp" -#include "GCode/WipeTower.hpp" -#include "GCode/ThumbnailData.hpp" -#include "GCode/GCodeProcessor.hpp" +#include "libslic3r/GCode/ToolOrdering.hpp" +#include "libslic3r/GCode/WipeTower.hpp" +#include "libslic3r/GCode/ThumbnailData.hpp" +#include "libslic3r/GCode/GCodeProcessor.hpp" #include "MultiMaterialSegmentation.hpp" #include "libslic3r.h" diff --git a/src/libslic3r/PrintConfig.cpp b/src/libslic3r/PrintConfig.cpp index 1f270287c0..602bc1d09c 100644 --- a/src/libslic3r/PrintConfig.cpp +++ b/src/libslic3r/PrintConfig.cpp @@ -25,7 +25,7 @@ #include "format.hpp" #include "SLA/SupportTree.hpp" -#include "GCode/Thumbnails.hpp" +#include "libslic3r/GCode/Thumbnails.hpp" #include #include @@ -6114,6 +6114,6 @@ bool is_XL_printer(const PrintConfig &cfg) } // namespace Slic3r -#include +#include // IWYU pragma: keep CEREAL_REGISTER_TYPE(Slic3r::DynamicPrintConfig) CEREAL_REGISTER_POLYMORPHIC_RELATION(Slic3r::DynamicConfig, Slic3r::DynamicPrintConfig) diff --git a/src/libslic3r/PrintObject.cpp b/src/libslic3r/PrintObject.cpp index d4b8736e49..d809c08aed 100644 --- a/src/libslic3r/PrintObject.cpp +++ b/src/libslic3r/PrintObject.cpp @@ -12,7 +12,7 @@ #include "ExPolygon.hpp" #include "Exception.hpp" #include "Flow.hpp" -#include "GCode/ExtrusionProcessor.hpp" +#include "libslic3r/GCode/ExtrusionProcessor.hpp" #include "KDTreeIndirect.hpp" #include "Line.hpp" #include "Point.hpp" @@ -36,8 +36,8 @@ #include "Tesselate.hpp" #include "TriangleMeshSlicer.hpp" #include "Utils.hpp" -#include "Fill/FillAdaptive.hpp" -#include "Fill/FillLightning.hpp" +#include "libslic3r/Fill/FillAdaptive.hpp" +#include "libslic3r/Fill/FillLightning.hpp" #include "Format/STL.hpp" #include "Support/SupportMaterial.hpp" #include "SupportSpotsGenerator.hpp" diff --git a/src/libslic3r/SLA/Clustering.cpp b/src/libslic3r/SLA/Clustering.cpp index ca6400c096..73d7133e77 100644 --- a/src/libslic3r/SLA/Clustering.cpp +++ b/src/libslic3r/SLA/Clustering.cpp @@ -6,7 +6,7 @@ #include "boost/geometry/index/rtree.hpp" #include -#include +#include // IWYU pragma: keep namespace Slic3r { namespace sla { diff --git a/src/libslic3r/SLA/SpatIndex.cpp b/src/libslic3r/SLA/SpatIndex.cpp index 9112d88dcd..b7f9eca4ec 100644 --- a/src/libslic3r/SLA/SpatIndex.cpp +++ b/src/libslic3r/SLA/SpatIndex.cpp @@ -5,7 +5,7 @@ #include "SpatIndex.hpp" // for concave hull merging decisions -#include +#include // IWYU pragma: keep #ifdef _MSC_VER #pragma warning(push) diff --git a/src/libslic3r/SLA/SupportPointGenerator.cpp b/src/libslic3r/SLA/SupportPointGenerator.cpp index 6091d2a433..e68d22d5c2 100644 --- a/src/libslic3r/SLA/SupportPointGenerator.cpp +++ b/src/libslic3r/SLA/SupportPointGenerator.cpp @@ -15,7 +15,6 @@ #include "libslic3r/Tesselate.hpp" #include "libslic3r/MinAreaBoundingBox.hpp" #include "libslic3r/libslic3r.h" - #include #include diff --git a/src/libslic3r/SLA/ZCorrection.cpp b/src/libslic3r/SLA/ZCorrection.cpp index 5843d8858b..d072cd222a 100644 --- a/src/libslic3r/SLA/ZCorrection.cpp +++ b/src/libslic3r/SLA/ZCorrection.cpp @@ -1,6 +1,6 @@ #include "ZCorrection.hpp" -#include "Execution/ExecutionTBB.hpp" +#include "libslic3r/Execution/ExecutionTBB.hpp" #include "libslic3r/ClipperUtils.hpp" diff --git a/src/libslic3r/SLAPrint.cpp b/src/libslic3r/SLAPrint.cpp index 4dbc71b954..43b3968e0e 100644 --- a/src/libslic3r/SLAPrint.cpp +++ b/src/libslic3r/SLAPrint.cpp @@ -4,7 +4,7 @@ ///|/ PrusaSlicer is released under the terms of the AGPLv3 or higher ///|/ #include "SLAPrint.hpp" -#include "SLAPrintSteps.hpp" +#include "SLAPrintSteps.hpp" // IWYU pragma: keep #include "CSGMesh/CSGMeshCopy.hpp" #include "CSGMesh/PerformCSGMeshBooleans.hpp" #include "format.hpp" diff --git a/src/libslic3r/SLAPrint.hpp b/src/libslic3r/SLAPrint.hpp index aebfe7b8aa..347e558032 100644 --- a/src/libslic3r/SLAPrint.hpp +++ b/src/libslic3r/SLAPrint.hpp @@ -6,22 +6,48 @@ #ifndef slic3r_SLAPrint_hpp_ #define slic3r_SLAPrint_hpp_ +#include +#include #include #include #include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include #include "PrintBase.hpp" #include "SLA/SupportTree.hpp" #include "Point.hpp" #include "Format/SLAArchiveWriter.hpp" -#include "GCode/ThumbnailData.hpp" +#include "libslic3r/GCode/ThumbnailData.hpp" #include "libslic3r/CSGMesh/CSGMesh.hpp" #include "libslic3r/MeshBoolean.hpp" #include "libslic3r/OpenVDBUtils.hpp" - -#include +#include "admesh/stl.h" +#include "libslic3r/AnyPtr.hpp" +#include "libslic3r/Config.hpp" +#include "libslic3r/Model.hpp" +#include "libslic3r/ObjectID.hpp" +#include "libslic3r/PrintConfig.hpp" +#include "libslic3r/SLA/Hollowing.hpp" +#include "libslic3r/SLA/Pad.hpp" +#include "libslic3r/SLA/SupportPoint.hpp" +#include "libslic3r/TriangleMesh.hpp" +#include "libslic3r/libslic3r.h" namespace Slic3r { +namespace sla { +struct JobController; +} // namespace sla enum SLAPrintStep : unsigned int { slapsMergeSlicesAndEval, diff --git a/src/libslic3r/SVG.hpp b/src/libslic3r/SVG.hpp index 00cba9de17..ba752c482e 100644 --- a/src/libslic3r/SVG.hpp +++ b/src/libslic3r/SVG.hpp @@ -11,7 +11,7 @@ #define slic3r_SVG_hpp_ #include "libslic3r.h" -#include "clipper.hpp" +#include "libslic3r/clipper.hpp" #include "ExPolygon.hpp" #include "Line.hpp" #include "TriangleMesh.hpp" diff --git a/src/libslic3r/ShortestPath.cpp b/src/libslic3r/ShortestPath.cpp index fcab5d62d9..b80a7c2b9c 100644 --- a/src/libslic3r/ShortestPath.cpp +++ b/src/libslic3r/ShortestPath.cpp @@ -8,7 +8,7 @@ #undef assert #endif -#include "clipper.hpp" +#include "libslic3r/clipper.hpp" #include "ShortestPath.hpp" #include "KDTreeIndirect.hpp" #include "MutablePriorityQueue.hpp" diff --git a/src/libslic3r/Support/SupportCommon.cpp b/src/libslic3r/Support/SupportCommon.cpp index bc8f53e74d..ed2fbdc98a 100644 --- a/src/libslic3r/Support/SupportCommon.cpp +++ b/src/libslic3r/Support/SupportCommon.cpp @@ -2,15 +2,15 @@ ///|/ ///|/ PrusaSlicer is released under the terms of the AGPLv3 or higher ///|/ -#include "../ClipperUtils.hpp" -#include "../ClipperZUtils.hpp" -#include "../ExtrusionEntityCollection.hpp" -#include "../Layer.hpp" -#include "../Print.hpp" -#include "../Fill/FillBase.hpp" -#include "../MutablePolygon.hpp" -#include "../Geometry.hpp" -#include "../Point.hpp" +#include "libslic3r/ClipperUtils.hpp" +#include "libslic3r/ClipperZUtils.hpp" // IWYU pragma: keep +#include "libslic3r/ExtrusionEntityCollection.hpp" +#include "libslic3r/Layer.hpp" +#include "libslic3r/Print.hpp" +#include "libslic3r/Fill/FillBase.hpp" +#include "libslic3r/MutablePolygon.hpp" +#include "libslic3r/Geometry.hpp" +#include "libslic3r/Point.hpp" #include #include diff --git a/src/libslic3r/Support/SupportMaterial.cpp b/src/libslic3r/Support/SupportMaterial.cpp index 93155beb98..5d0b7b4fd5 100644 --- a/src/libslic3r/Support/SupportMaterial.cpp +++ b/src/libslic3r/Support/SupportMaterial.cpp @@ -10,16 +10,16 @@ ///|/ ///|/ PrusaSlicer is released under the terms of the AGPLv3 or higher ///|/ -#include "../ClipperUtils.hpp" -#include "../ExtrusionEntityCollection.hpp" -#include "../Layer.hpp" -#include "../Print.hpp" -#include "../Fill/FillBase.hpp" -#include "../Geometry.hpp" -#include "../Point.hpp" -#include "../MutablePolygon.hpp" +#include "libslic3r/ClipperUtils.hpp" +#include "libslic3r/ExtrusionEntityCollection.hpp" +#include "libslic3r/Layer.hpp" +#include "libslic3r/Print.hpp" +#include "libslic3r/Fill/FillBase.hpp" +#include "libslic3r/Geometry.hpp" +#include "libslic3r/Point.hpp" +#include "libslic3r/MutablePolygon.hpp" -#include "../Support/SupportCommon.hpp" +#include "libslic3r/Support/SupportCommon.hpp" #include "SupportMaterial.hpp" #include diff --git a/src/libslic3r/SupportSpotsGenerator.cpp b/src/libslic3r/SupportSpotsGenerator.cpp index bab5c9b3f2..ddd2c0522e 100644 --- a/src/libslic3r/SupportSpotsGenerator.cpp +++ b/src/libslic3r/SupportSpotsGenerator.cpp @@ -9,7 +9,7 @@ #include "ExPolygon.hpp" #include "ExtrusionEntity.hpp" #include "ExtrusionEntityCollection.hpp" -#include "GCode/ExtrusionProcessor.hpp" +#include "libslic3r/GCode/ExtrusionProcessor.hpp" #include "Line.hpp" #include "Point.hpp" #include "Polygon.hpp" diff --git a/src/libslic3r/clonable_ptr.hpp b/src/libslic3r/clonable_ptr.hpp index ee3888bf11..20b50fbd01 100644 --- a/src/libslic3r/clonable_ptr.hpp +++ b/src/libslic3r/clonable_ptr.hpp @@ -18,6 +18,9 @@ * or copy at http://opensource.org/licenses/MIT) */ +#ifndef libslic3r_clonable_ptr_hpp_ +#define libslic3r_clonable_ptr_hpp_ + #include "assert.h" namespace Slic3r { @@ -170,3 +173,5 @@ template inline bool operator>(const clonable_ptr& l, const } } // namespace Slic3r + +#endif // libslic3r_clonable_ptr_hpp_ diff --git a/src/libslic3r/miniz_extension.cpp b/src/libslic3r/miniz_extension.cpp index 1fd544fdd0..5c31ee0af2 100644 --- a/src/libslic3r/miniz_extension.cpp +++ b/src/libslic3r/miniz_extension.cpp @@ -10,6 +10,10 @@ #include "boost/nowide/cstdio.hpp" #endif +#if defined(__linux__) +#include +#endif + #include "libslic3r/I18N.hpp" namespace Slic3r { diff --git a/src/libslic3r/utils.cpp b/src/libslic3r/utils.cpp index 71c9bbccb3..5e8b43cf37 100644 --- a/src/libslic3r/utils.cpp +++ b/src/libslic3r/utils.cpp @@ -41,7 +41,7 @@ #include #include -#include +#include // IWYU pragma: keep #include diff --git a/src/slic3r/GUI/AboutDialog.cpp b/src/slic3r/GUI/AboutDialog.cpp index 041d26c1f2..0b8fe93497 100644 --- a/src/slic3r/GUI/AboutDialog.cpp +++ b/src/slic3r/GUI/AboutDialog.cpp @@ -18,7 +18,7 @@ #include "MainFrame.hpp" #include "format.hpp" -#include +#include // IWYU pragma: keep namespace Slic3r { namespace GUI { diff --git a/src/slic3r/GUI/CameraUtils.cpp b/src/slic3r/GUI/CameraUtils.cpp index 0f4da6eaf3..08fcc24aae 100644 --- a/src/slic3r/GUI/CameraUtils.cpp +++ b/src/slic3r/GUI/CameraUtils.cpp @@ -3,8 +3,8 @@ ///|/ PrusaSlicer is released under the terms of the AGPLv3 or higher ///|/ #include "CameraUtils.hpp" -#include // projecting points -#include +#include // IWYU pragma: keep +#include // IWYU pragma: keep #include "slic3r/GUI/3DScene.hpp" // GLVolume #include "libslic3r/Geometry/ConvexHull.hpp" diff --git a/src/slic3r/GUI/DesktopIntegrationDialog.cpp b/src/slic3r/GUI/DesktopIntegrationDialog.cpp index 4aa15fd0e5..d8f3dc025b 100644 --- a/src/slic3r/GUI/DesktopIntegrationDialog.cpp +++ b/src/slic3r/GUI/DesktopIntegrationDialog.cpp @@ -15,7 +15,7 @@ #include "libslic3r/Platform.hpp" #include "libslic3r/Config.hpp" -#include +#include // IWYU pragma: keep #include #include #include diff --git a/src/slic3r/GUI/DoubleSliderForLayers.cpp b/src/slic3r/GUI/DoubleSliderForLayers.cpp index 460373bc2d..2f068671a0 100644 --- a/src/slic3r/GUI/DoubleSliderForLayers.cpp +++ b/src/slic3r/GUI/DoubleSliderForLayers.cpp @@ -14,7 +14,6 @@ #include #include "ImGuiWrapper.hpp" -#include "imgui/imgui_internal.h" #ifndef IMGUI_DEFINE_MATH_OPERATORS #define IMGUI_DEFINE_MATH_OPERATORS diff --git a/src/slic3r/GUI/EditGCodeDialog.cpp b/src/slic3r/GUI/EditGCodeDialog.cpp index 7b166d6712..9e91e78e74 100644 --- a/src/slic3r/GUI/EditGCodeDialog.cpp +++ b/src/slic3r/GUI/EditGCodeDialog.cpp @@ -23,6 +23,7 @@ #include "libslic3r/PlaceholderParser.hpp" #include "libslic3r/Preset.hpp" +#include "libslic3r/PresetBundle.hpp" // IWYU pragma: keep #include "libslic3r/Print.hpp" namespace Slic3r { diff --git a/src/slic3r/GUI/Field.cpp b/src/slic3r/GUI/Field.cpp index a4b2180551..e9e92b37b1 100644 --- a/src/slic3r/GUI/Field.cpp +++ b/src/slic3r/GUI/Field.cpp @@ -19,7 +19,8 @@ #include #include -#include +#include // IWYU pragma: keep +#include // IWYU pragma: keep #include #include #include diff --git a/src/slic3r/GUI/GLCanvas3D.cpp b/src/slic3r/GUI/GLCanvas3D.cpp index f7df232df2..3c8ee6df00 100644 --- a/src/slic3r/GUI/GLCanvas3D.cpp +++ b/src/slic3r/GUI/GLCanvas3D.cpp @@ -11,7 +11,7 @@ #include "libslic3r/libslic3r.h" #include "GLCanvas3D.hpp" -#include +#include // IWYU pragma: keep #include #include "libslic3r/BuildVolume.hpp" @@ -78,6 +78,9 @@ #include #include +#ifndef IMGUI_DEFINE_MATH_OPERATORS +#define IMGUI_DEFINE_MATH_OPERATORS +#endif #include #include diff --git a/src/slic3r/GUI/GUI_App.cpp b/src/slic3r/GUI/GUI_App.cpp index 67628ddb19..805d012a43 100644 --- a/src/slic3r/GUI/GUI_App.cpp +++ b/src/slic3r/GUI/GUI_App.cpp @@ -8,7 +8,7 @@ ///|/ #include "libslic3r/Technologies.hpp" #include "GUI_App.hpp" -#include "GUI_Init.hpp" +#include "GUI_Init.hpp" // IWYU pragma: keep #include "GUI_ObjectList.hpp" #include "GUI_ObjectManipulation.hpp" #include "GUI_Factories.hpp" @@ -83,18 +83,18 @@ #include "slic3r/Config/Snapshot.hpp" #include "ConfigSnapshotDialog.hpp" #include "FirmwareDialog.hpp" -#include "Preferences.hpp" +#include "slic3r/GUI/Preferences.hpp" // IWYU pragma: keep #include "Tab.hpp" #include "SysInfoDialog.hpp" #include "KBShortcutsDialog.hpp" #include "UpdateDialogs.hpp" #include "Mouse3DController.hpp" #include "RemovableDriveManager.hpp" -#include "InstanceCheck.hpp" +#include "InstanceCheck.hpp" // IWYU pragma: keep #include "NotificationManager.hpp" #include "UnsavedChangesDialog.hpp" #include "SavePresetDialog.hpp" -#include "PrintHostDialogs.hpp" +#include "PrintHostDialogs.hpp" // IWYU pragma: keep #include "DesktopIntegrationDialog.hpp" #include "SendSystemInfoDialog.hpp" #include "Downloader.hpp" @@ -102,7 +102,7 @@ #include "WifiConfigDialog.hpp" #include "UserAccount.hpp" #include "WebViewDialog.hpp" -#include "LoginDialog.hpp" +#include "LoginDialog.hpp" // IWYU pragma: keep #include "PresetArchiveDatabase.hpp" #include "BitmapCache.hpp" @@ -1279,8 +1279,7 @@ bool GUI_App::on_init_inner() // Verify resources path const wxString resources_dir = from_u8(Slic3r::resources_dir()); - wxCHECK_MSG(wxDirExists(resources_dir), false, - wxString::Format("Resources path does not exist or is not a directory: %s", resources_dir)); + wxCHECK_MSG(wxDirExists(resources_dir), false, wxString::Format("Resources path does not exist or is not a directory: %s", resources_dir)); #ifdef __linux__ if (! check_old_linux_datadir(GetAppName())) { diff --git a/src/slic3r/GUI/GUI_ObjectList.cpp b/src/slic3r/GUI/GUI_ObjectList.cpp index 205646b0bc..dc0e290b0a 100644 --- a/src/slic3r/GUI/GUI_ObjectList.cpp +++ b/src/slic3r/GUI/GUI_ObjectList.cpp @@ -7,6 +7,7 @@ #include "libslic3r/libslic3r.h" #include "libslic3r/PresetBundle.hpp" #include "libslic3r/TextConfiguration.hpp" +#include "libslic3r/BuildVolume.hpp" // IWYU pragma: keep #include "GUI_ObjectList.hpp" #include "GUI_Factories.hpp" #include "GUI_ObjectManipulation.hpp" @@ -35,6 +36,7 @@ #include #include #include +#include // IWYU pragma: keep #include "slic3r/Utils/FixModelByWin10.hpp" diff --git a/src/slic3r/GUI/GUI_Preview.cpp b/src/slic3r/GUI/GUI_Preview.cpp index b903162d54..0d6fdeb8d9 100644 --- a/src/slic3r/GUI/GUI_Preview.cpp +++ b/src/slic3r/GUI/GUI_Preview.cpp @@ -27,7 +27,7 @@ #include #include -#include +#include // IWYU pragma: keep #include #include #include diff --git a/src/slic3r/GUI/Gizmos/GLGizmoCut.cpp b/src/slic3r/GUI/Gizmos/GLGizmoCut.cpp index 82f7644300..daa03187a6 100644 --- a/src/slic3r/GUI/Gizmos/GLGizmoCut.cpp +++ b/src/slic3r/GUI/Gizmos/GLGizmoCut.cpp @@ -23,6 +23,9 @@ #include "libslic3r/AppConfig.hpp" #include "libslic3r/TriangleMeshSlicer.hpp" +#ifndef IMGUI_DEFINE_MATH_OPERATORS +#define IMGUI_DEFINE_MATH_OPERATORS +#endif #include "imgui/imgui_internal.h" #include "slic3r/GUI/MsgDialog.hpp" diff --git a/src/slic3r/GUI/Gizmos/GLGizmoMeasure.cpp b/src/slic3r/GUI/Gizmos/GLGizmoMeasure.cpp index 2e60f16edb..48b952a408 100644 --- a/src/slic3r/GUI/Gizmos/GLGizmoMeasure.cpp +++ b/src/slic3r/GUI/Gizmos/GLGizmoMeasure.cpp @@ -12,6 +12,10 @@ #include "libslic3r/PresetBundle.hpp" #include "libslic3r/MeasureUtils.hpp" +#include +#ifndef IMGUI_DEFINE_MATH_OPERATORS +#define IMGUI_DEFINE_MATH_OPERATORS +#endif #include #include diff --git a/src/slic3r/GUI/Gizmos/GLGizmoSVG.cpp b/src/slic3r/GUI/Gizmos/GLGizmoSVG.cpp index 3c4fb8bff9..69a7ea2871 100644 --- a/src/slic3r/GUI/Gizmos/GLGizmoSVG.cpp +++ b/src/slic3r/GUI/Gizmos/GLGizmoSVG.cpp @@ -32,7 +32,7 @@ #include // measure enumeration of fonts #include // save for svg #include -#include +#include // IWYU pragma: keep using namespace Slic3r; using namespace Slic3r::Emboss; diff --git a/src/slic3r/GUI/MainFrame.cpp b/src/slic3r/GUI/MainFrame.cpp index 63ff77dbad..f5fd06a053 100644 --- a/src/slic3r/GUI/MainFrame.cpp +++ b/src/slic3r/GUI/MainFrame.cpp @@ -50,6 +50,7 @@ #include "Plater.hpp" #include "../Utils/Process.hpp" #include "format.hpp" +#include "slic3r/GUI/InstanceCheck.hpp" // IWYU pragma: keep #include #include diff --git a/src/slic3r/GUI/NotificationManager.cpp b/src/slic3r/GUI/NotificationManager.cpp index 006f631b91..5462e3999d 100644 --- a/src/slic3r/GUI/NotificationManager.cpp +++ b/src/slic3r/GUI/NotificationManager.cpp @@ -11,7 +11,7 @@ #include "wxExtensions.hpp" #include "ObjectDataViewModel.hpp" #include "libslic3r/Config.hpp" -#include "../Utils/PrintHost.hpp" +#include "slic3r/Utils/PrintHost.hpp" // IWYU pragma: keep #include "libslic3r/Config.hpp" #include "format.hpp" diff --git a/src/slic3r/GUI/OptionsGroup.cpp b/src/slic3r/GUI/OptionsGroup.cpp index eed3551ee6..6dae3aa17f 100644 --- a/src/slic3r/GUI/OptionsGroup.cpp +++ b/src/slic3r/GUI/OptionsGroup.cpp @@ -17,10 +17,11 @@ #include "format.hpp" #include -#include +#include // IWYU pragma: keep #include #include #include +#include "slic3r/GUI/Search.hpp" // IWYU pragma: keep #include "libslic3r/Exception.hpp" #include "libslic3r/Utils.hpp" #include "libslic3r/AppConfig.hpp" diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp index bbaf4c5d73..cd1166f71a 100644 --- a/src/slic3r/GUI/Plater.cpp +++ b/src/slic3r/GUI/Plater.cpp @@ -30,7 +30,7 @@ #include #include #include -#include +#include // IWYU pragma: keep #include #include #include @@ -3975,6 +3975,8 @@ Plater::Plater(wxWindow *parent, MainFrame *main_frame) // Initialization performed in the private c-tor } +Plater::~Plater() = default; + bool Plater::is_project_dirty() const { return p->is_project_dirty(); } bool Plater::is_presets_dirty() const { return p->is_presets_dirty(); } void Plater::update_project_dirty_from_presets() { p->update_project_dirty_from_presets(); } diff --git a/src/slic3r/GUI/Plater.hpp b/src/slic3r/GUI/Plater.hpp index 5876cceaaa..37ca2de49c 100644 --- a/src/slic3r/GUI/Plater.hpp +++ b/src/slic3r/GUI/Plater.hpp @@ -75,7 +75,7 @@ public: Plater(const Plater &) = delete; Plater &operator=(Plater &&) = delete; Plater &operator=(const Plater &) = delete; - ~Plater() = default; + ~Plater(); bool is_project_dirty() const; bool is_presets_dirty() const; diff --git a/src/slic3r/GUI/Sidebar.cpp b/src/slic3r/GUI/Sidebar.cpp index 334b04eff1..5b05b1ef84 100644 --- a/src/slic3r/GUI/Sidebar.cpp +++ b/src/slic3r/GUI/Sidebar.cpp @@ -31,7 +31,7 @@ #include #include #include -#include +#include // IWYU pragma: keep #include "wx/generic/stattextg.h" #ifdef _WIN32 #include diff --git a/src/slic3r/GUI/SysInfoDialog.cpp b/src/slic3r/GUI/SysInfoDialog.cpp index 6a7c3159e5..784a7d4177 100644 --- a/src/slic3r/GUI/SysInfoDialog.cpp +++ b/src/slic3r/GUI/SysInfoDialog.cpp @@ -15,7 +15,7 @@ #include -#include +#include // IWYU pragma: keep #include #include "GUI_App.hpp" #include "MainFrame.hpp" diff --git a/src/slic3r/GUI/UnsavedChangesDialog.cpp b/src/slic3r/GUI/UnsavedChangesDialog.cpp index ce4a73e415..5556153c0d 100644 --- a/src/slic3r/GUI/UnsavedChangesDialog.cpp +++ b/src/slic3r/GUI/UnsavedChangesDialog.cpp @@ -17,6 +17,7 @@ #include "libslic3r/PrintConfig.hpp" #include "libslic3r/PresetBundle.hpp" #include "libslic3r/Color.hpp" +#include "slic3r/GUI/Sidebar.hpp" // IWYU pragma: keep #include "format.hpp" #include "GUI_App.hpp" #include "Plater.hpp" diff --git a/src/slic3r/GUI/WebViewDialog.cpp b/src/slic3r/GUI/WebViewDialog.cpp index 78cbc413be..02717f3c95 100644 --- a/src/slic3r/GUI/WebViewDialog.cpp +++ b/src/slic3r/GUI/WebViewDialog.cpp @@ -10,6 +10,9 @@ #include "slic3r/GUI/MsgDialog.hpp" #include "slic3r/GUI/Field.hpp" +#include // IWYU pragma: keep + + #include #include diff --git a/src/slic3r/Utils/EmbossStyleManager.cpp b/src/slic3r/Utils/EmbossStyleManager.cpp index 36fe9bda56..c3a993302a 100644 --- a/src/slic3r/Utils/EmbossStyleManager.cpp +++ b/src/slic3r/Utils/EmbossStyleManager.cpp @@ -5,6 +5,9 @@ #include "EmbossStyleManager.hpp" #include #include // Imgui texture +#ifndef IMGUI_DEFINE_MATH_OPERATORS +#define IMGUI_DEFINE_MATH_OPERATORS +#endif #include // ImTextCharFromUtf8 #include #include // ScopeGuard diff --git a/src/slic3r/Utils/HexFile.cpp b/src/slic3r/Utils/HexFile.cpp index 8e062e78f5..a9dbb62e33 100644 --- a/src/slic3r/Utils/HexFile.cpp +++ b/src/slic3r/Utils/HexFile.cpp @@ -5,7 +5,7 @@ #include "HexFile.hpp" #include -#include +#include // IWYU pragma: keep #include #include diff --git a/src/slic3r/Utils/Http.cpp b/src/slic3r/Utils/Http.cpp index 38ca8782aa..2d648b9494 100644 --- a/src/slic3r/Utils/Http.cpp +++ b/src/slic3r/Utils/Http.cpp @@ -12,7 +12,7 @@ #include #include #include -#include +#include // IWYU pragma: keep #include #include #include diff --git a/src/slic3r/Utils/PresetUpdater.cpp b/src/slic3r/Utils/PresetUpdater.cpp index f7939253c7..ec470919ee 100644 --- a/src/slic3r/Utils/PresetUpdater.cpp +++ b/src/slic3r/Utils/PresetUpdater.cpp @@ -14,7 +14,7 @@ #include #include #include -#include +#include // IWYU pragma: keep #include #include #include diff --git a/src/slic3r/Utils/UndoRedo.cpp b/src/slic3r/Utils/UndoRedo.cpp index 76c83f0f43..1e2fcf0d6f 100644 --- a/src/slic3r/Utils/UndoRedo.cpp +++ b/src/slic3r/Utils/UndoRedo.cpp @@ -12,12 +12,12 @@ #include #include -#include -#include -#include -#include -#include -#include +#include // IWYU pragma: keep +#include // IWYU pragma: keep +#include // IWYU pragma: keep +#include // IWYU pragma: keep +#include // IWYU pragma: keep +#include // IWYU pragma: keep #define CEREAL_FUTURE_EXPERIMENTAL #include @@ -25,7 +25,7 @@ #include #include -#include "slic3r/GUI/3DScene.hpp" +#include "slic3r/GUI/3DScene.hpp" // IWYU pragma: keep #include @@ -700,13 +700,13 @@ using OutputArchive = cereal::UserDataAdapter -#include -#include -#include +#include // IWYU pragma: keep +#include // IWYU pragma: keep +#include // IWYU pragma: keep +#include // IWYU pragma: keep namespace Slic3r { namespace UndoRedo {