Remove Unused Project Includes and Forward-Declare Where a Type Is Only Referenced

Generated with include-what-you-use and applied conservatively. Only OrcaSlicer's own headers, the ones under src/ and tests/, are removed or forward-declared; standard-library and third-party includes are left alone. An include is removed only when both the Release and the Debug configuration leave it unused, never from inside a conditional block, and never from a file with platform-specific blocks, which only gain includes. Files whose only use of a header sits behind a feature or debug macro (libvgcode's OpenGL ES and marker code, the ARACHNE/TESTS_EXPORT_SVGS debug output) keep their includes.

clonable_ptr.hpp gains #pragma once; it had no include guard and was only safe while Config.hpp was its sole includer.
This commit is contained in:
Hanif Koh committed 2026-10-05 11:02:06 +08:00
1 parent f3d0b8a553
commit e540bbcf35
562 files changed
+1420 -560

No files matched your search

+2 -1
View File
@@ -27,8 +27,9 @@
#include <libslic3r/TriangleMeshSlicer.hpp>
#include <libslic3r/SLA/SupportTreeMesher.hpp>
#include <libslic3r/SLA/Concurrency.hpp>
#include <vector>
#include "libslic3r/BoundingBox.hpp"
#include "libslic3r/ExtrusionEntity.hpp"
namespace {
-1
View File
@@ -1,4 +1,3 @@
#include "libslic3r/libslic3r.h"
#define NANOSVG_IMPLEMENTATION
#include "nanosvg/nanosvg.h"
#define NANOSVGRAST_IMPLEMENTATION
-3
View File
@@ -2,16 +2,13 @@
#include <catch2/catch_all.hpp>
#include <catch2/catch_test_macros.hpp>
#include <catch2/catch_approx.hpp>
#include "test_utils.hpp"
#include "libslic3r/Point.hpp"
#include <cstdlib>
#include <cmath>
#include <libslic3r/SLA/IndexedMesh.hpp>
#include <libslic3r/SLA/Hollowing.hpp>
#include <utility>
#include "sla_test_utils.hpp"
using namespace Slic3r;
-1
View File
@@ -5,7 +5,6 @@
#include <cstddef>
#include <iterator>
#include <libslic3r/ExPolygon.hpp>
#include <libslic3r/BoundingBox.hpp>
#include "libslic3r/TriangleMesh.hpp"
#include "libslic3r/libslic3r.h"
+1
View File
@@ -34,6 +34,7 @@
#include "libslic3r/SLA/ConcaveHull.hpp"
#include "libslic3r/SLA/RasterBase.hpp"
#include "libslic3r/BoundingBox.hpp"
#include "libslic3r/Line.hpp"
void test_support_model_collision(const std::string &obj_filename,
const sla::SupportTreeConfig &input_supportcfg,
+6 -11
View File
@@ -3,7 +3,6 @@
#include <catch2/catch_all.hpp>
#include <catch2/catch_test_macros.hpp>
#include "test_utils.hpp"
// Debug
#include <cstddef>
@@ -12,7 +11,6 @@
#include <cstdint>
#include <fstream>
#include <string>
#include "libslic3r/SLA/SupportTree.hpp"
#include "libslic3r/SLA/Hollowing.hpp"
#include <unordered_map>
#include <random>
@@ -23,20 +21,17 @@
#include <vector>
#include <utility>
#include "libslic3r/libslic3r.h"
#include "libslic3r/Format/OBJ.hpp"
#include "libslic3r/SLAPrint.hpp"
#include "libslic3r/TriangleMesh.hpp"
#include "libslic3r/SLA/Pad.hpp"
#include "libslic3r/SLA/SupportTreeBuilder.hpp"
#include "libslic3r/SLA/SupportTreeBuildsteps.hpp"
#include "libslic3r/SLA/SupportPointGenerator.hpp"
#include "libslic3r/SLA/AGGRaster.hpp"
#include "libslic3r/SLA/ConcaveHull.hpp"
#include "libslic3r/MTUtils.hpp"
#include "libslic3r/ExPolygon.hpp"
#include "libslic3r/ExtrusionEntity.hpp"
namespace Slic3r::sla { class RasterGrayscaleAA; }
namespace Slic3r::sla { struct PadConfig; }
namespace Slic3r::sla { struct SupportTreeConfig; }
#include "libslic3r/SVG.hpp"
#include "libslic3r/Format/OBJ.hpp"
using namespace Slic3r;