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
2026-10-05 11:02:06 +08:00
parent f3d0b8a553
commit e540bbcf35
562 changed files with 1420 additions and 560 deletions
+18
View File
@@ -152,6 +152,24 @@
#include <imgui/imgui_internal.h>
#include <imguizmo/ImGuizmo.h>
#include "libslic3r/CutUtils.hpp"
#include "libslic3r/EmbossShape.hpp"
#include "libslic3r/ExPolygon.hpp"
#include "libslic3r/GCode/GCodeProcessor.hpp"
#include "libslic3r/MultiMaterialSegmentation.hpp"
#include "libslic3r/SLA/Pad.hpp"
#include "libslic3r/TextConfiguration.hpp"
#include "libslic3r/TriangleMesh.hpp"
#include "slic3r/GUI/3DBed.hpp"
#include "slic3r/GUI/FrameProfiler.hpp"
#include "slic3r/GUI/GLSelectionRectangle.hpp"
#include "slic3r/GUI/IMToolbar.hpp"
#include "slic3r/GUI/ImGuiWrapper.hpp"
#include "slic3r/GUI/KeyChord.hpp"
#include "slic3r/GUI/ObjectDataViewModel.hpp"
#include "slic3r/GUI/PartPlate.hpp"
#include "slic3r/GUI/SceneCache.hpp"
#include "slic3r/Utils/NetworkAgent.hpp"
#ifdef __WXMSW__
#if wxUSE_POPUPWIN