diff --git a/.clang-tidy b/.clang-tidy index a670e9e1b1..3f0aaa8bde 100644 --- a/.clang-tidy +++ b/.clang-tidy @@ -7,9 +7,17 @@ CheckOptions: misc-include-cleaner.UnusedIncludes: false # Headers that declare a symbol but are not the one to include: per-platform # implementations of wxWidgets and Boost.Thread (a Linux run would suggest the - # GTK or pthread one), library internals and forward declarations, CPython's - # headers behind Python.h, curl's behind curl.h, oneTBB's behind tbb/, and + # GTK or pthread one), library internals and forward declarations (MSVC's STL + # __msvc_* and the Windows UCRT's corecrt_* included), CPython's headers behind + # Python.h (python3.x/ on Linux and macOS, libpython/include/ on Windows), + # curl's behind curl.h, oneTBB's behind tbb/, and # 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. 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, # GTK, D-Bus, POSIX, the Windows SDK) are only used inside platform #if blocks, @@ -23,7 +31,11 @@ CheckOptions: .*[/\\]impl[/\\].*; .*_fwd\.hpp; python3\.[0-9]+[/\\].*; + libpython[/\\]include[/\\].*; bits[/\\].*; + corecrt_.*\.h; + __msvc_.*\.hpp; + boost[/\\]multiprecision[/\\]fwd\.hpp; imconfig\.h; expat_external\.h; admesh[/\\]stl\.h; @@ -44,4 +56,10 @@ CheckOptions: fcntl\.h; termios\.h; [/\\](um|shared)[/\\].*; - sal\.h + sal\.h; + clipper[/\\]clipper\.hpp; + 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/.claude/skills/orca-wxwidgets/SKILL.md b/.claude/skills/orca-wxwidgets/SKILL.md index 263d2e390f..0e39ce9d24 100644 --- a/.claude/skills/orca-wxwidgets/SKILL.md +++ b/.claude/skills/orca-wxwidgets/SKILL.md @@ -30,8 +30,9 @@ how you read the wx docs: Look things up in the source the app is built from — it beats memory, and 3.3 changed real behaviour: ```bash -WX=$(find deps -maxdepth 5 -type d -path '*dep_wxWidgets-prefix/src/dep_wxWidgets' | head -1) -# macOS: deps/build//dep_wxWidgets-prefix/src/dep_wxWidgets Linux: deps/build/dep_wxWidgets-prefix/... +WX=$(find -L deps -maxdepth 5 -type d -path '*dep_wxWidgets-prefix/src/dep_wxWidgets' 2>/dev/null | head -1) +# macOS: deps/build//dep_wxWidgets-prefix/src/dep_wxWidgets Linux, Windows: deps//dep_wxWidgets-prefix/... +# -L follows a worktree's deps/ symlinked to the main checkout. Not a glob: zsh aborts on one that matches nothing. # If deps are not built: git clone --depth 1 -b v3.3.2 https://github.com/SoftFever/Orca-deps-wxWidgets grep -n "CaptureMouse" -A 30 $WX/interface/wx/window.h # documented contract (doxygen source) grep -rn "@onlyfor\|not implemented" $WX/interface/wx/popupwin.h # documented platform limits @@ -40,6 +41,13 @@ grep -n "IsDark" $WX/docs/changes.txt # what changed in grep -n "NotifyCaptureLost" -r $WX/src/osx $WX/src/gtk $WX/src/msw # what each port actually does ``` +On Windows these lookups are bash: run them from Git Bash. PowerShell has no `grep`, and its `find` is +Windows' text-search `find.exe`. To locate the wx tree from PowerShell: + +```powershell +$WX = Resolve-Path deps\*\dep_wxWidgets-prefix\src\dep_wxWidgets, deps\*\*\dep_wxWidgets-prefix\src\dep_wxWidgets -ErrorAction SilentlyContinue | Select-Object -First 1 -ExpandProperty Path +``` + `interface/wx/.h` is the documentation; `src/common` holds shared behaviour and `src/{msw,osx,gtk,unix,generic}` the per-port implementation. When the docs and the source disagree, the source is what runs — the references mark such facts **[source]**. Orca-side design docs live in diff --git a/.claude/skills/orca-wxwidgets/references/controls-dataview.md b/.claude/skills/orca-wxwidgets/references/controls-dataview.md index 0789f47d79..3671e05991 100644 --- a/.claude/skills/orca-wxwidgets/references/controls-dataview.md +++ b/.claude/skills/orca-wxwidgets/references/controls-dataview.md @@ -331,6 +331,10 @@ OrcaSlicer: integer spinners are `::SpinInput` ([below](#spininput)); progress b Contract: - A page must be created with the book as its parent and added once; the book owns and deletes it (`interface/wx/bookctrl.h:253-254, 273`). `RemovePage` detaches without deleting, and you then own it (`:324-330`). +- Removing the selected page selects the page before it (the new first page if it was first) through `SetSelection`, + so that page is shown and PAGE_CHANGING/CHANGED are sent; removing a page before the selection only shifts the + index. This is `wxBookCtrlBase::DoSetSelectionAfterRemoval` (`src/common/bookctrl.cpp:477-495` **[source]**), + called from `DoRemovePage` by `wxSimplebook`, `wxChoicebook`, `wxListbook`, `wxToolbook` and Orca's `Notebook`. - `GetSelection()` inside a `PAGE_CHANGED` handler may return the old or the new page depending on the platform; use `event.GetSelection()` (`interface/wx/bookctrl.h:160-166`). - `wxSimplebook` has no UI; switch with `ChangeSelection()`. `SetSelection()` sends PAGE_CHANGING/CHANGED diff --git a/.claude/skills/orca-wxwidgets/references/mouse-keyboard-focus.md b/.claude/skills/orca-wxwidgets/references/mouse-keyboard-focus.md index 0ccb5e4b70..48646134d8 100644 --- a/.claude/skills/orca-wxwidgets/references/mouse-keyboard-focus.md +++ b/.claude/skills/orca-wxwidgets/references/mouse-keyboard-focus.md @@ -10,7 +10,7 @@ wx asserts are compiled out in Orca (`wxDEBUG_LEVEL=0`), so every misuse below t an assert fails silently. "GTK" means wxGTK3, Orca's Linux default (X11 and Wayland); GTK2 is only an opt-out build (`-DDEP_WX_GTK3=OFF`), noted where it differs. Paths starting `interface/`, `include/`, `src/`, `docs/` are in the wx tree -(`find deps -maxdepth 5 -type d -path '*dep_wxWidgets-prefix/src/dep_wxWidgets'`); Orca paths are +(located as in `SKILL.md` §Ground truth); Orca paths are relative to `src/slic3r/GUI/`. Contents: [Rules](#rules) · [Mouse capture](#mouse-capture) · [Mouse events](#mouse-events) · diff --git a/.claude/skills/orca-wxwidgets/references/orca-architecture.md b/.claude/skills/orca-wxwidgets/references/orca-architecture.md index 801494d802..6c23122910 100644 --- a/.claude/skills/orca-wxwidgets/references/orca-architecture.md +++ b/.claude/skills/orca-wxwidgets/references/orca-architecture.md @@ -332,7 +332,9 @@ indices: pages come and go per printer and per feature flag. pages depending on the printer and on `use_printer_agents`; a removed page stays registered but is not prebuilt (its `LazyPage::in_book()` is false). - Plugin pages are appended by `PluginPages::initialize` (`plugin/host/PluginPages.hpp`) with - namespaced ids (`plugin..`) that cannot collide with `TAB_ID_*`. + namespaced ids (`plugin..`) that cannot collide with `TAB_ID_*`. Each is a + `LazyPage` with order −1, destroyed when its capability goes away. + → [Deferred construction](#deferred-construction-lazy-lazypage-stagedbuild-idlescheduler) ### Preset tabs @@ -529,6 +531,32 @@ the main frame does nothing to a panel after creating it. m_idle.add(m_diff_dialog); ``` Cite: `IdleScheduler::tick`, `docs/HLSD/deferred-page-construction.md`. +- **Rule:** A lazy page that can be destroyed while the main frame lives takes a negative order and + stays out of `m_lazy_pages`. + **Why:** `m_lazy_pages` and `PrebuildQueue` hold raw `LazyBase*` and nothing removes one + (`PrebuildQueue` has only `add` and `clear`). The queue calls `pending()` on every task each slice, + and `prebuild_pages_when_idle` reads every entry of `m_lazy_pages`, so a page destroyed while still + listed can be read after it is freed. A page only taken out of the book is fine: it stays registered + and its `pending()` is false (`MainFrame::show_device`). + ```cpp + // Right (PluginPages::create_page): order -1, and no m_lazy_pages.push_back + auto* page = new GUI::LazyPage(m_parent, name, -1, [capability](wxWindow* parent) { + return new PluginPage(parent, capability); + }); + ``` + Cite: `PluginPages::create_page`, `PluginPages::remove_page`. +- **Rule:** Remove several lazy pages from a book left to right. + **Why:** removing the selected page selects and shows the page before it + (`references/controls-dataview.md` §Book controls), and showing an unbuilt `LazyPage` while the frame + is shown builds it. In any other order the page before the selected one can be one removed next, + built only to be destroyed; left to right it is one that stays (unless the selected page is the + book's first). + ```cpp + // Right (PluginPages::shutdown): m_order is the tabs' left-to-right order + for (const PluginCapabilityId& id : std::vector(m_order)) + remove_page(id); + ``` + Cite: `PluginPages::shutdown`, `PluginPages::relayout`, `PluginPages::on_plugin_deregister`. ## Plater and Sidebar diff --git a/.claude/skills/orca-wxwidgets/references/painting-custom-widgets.md b/.claude/skills/orca-wxwidgets/references/painting-custom-widgets.md index 905ff97d99..4f047042c3 100644 --- a/.claude/skills/orca-wxwidgets/references/painting-custom-widgets.md +++ b/.claude/skills/orca-wxwidgets/references/painting-custom-widgets.md @@ -6,7 +6,7 @@ to write a custom control on the wx side and how to author an Orca widget on the `StaticBox`/`StateHandler` foundation. Read it before writing or reviewing any `wxEVT_PAINT` handler, `render`/`doRender` method, `messureSize`, or a new class under `src/slic3r/GUI/Widgets/`. -wx cites are relative to the pinned wx 3.3.2 tree (`deps/build//dep_wxWidgets-prefix/src/dep_wxWidgets`). +wx cites are relative to the pinned wx 3.3.2 tree (located as in `SKILL.md` §Ground truth). Orca builds wx with `wxBUILD_DEBUG_LEVEL=0` and `libslic3r_gui` with `wxDEBUG_LEVEL=0`: every wx assert below is compiled out and `wxCHECK*` returns silently, so paint misuse shows up only as wrong, missing or stale pixels, never as an assert dialog. diff --git a/.claude/skills/orca-wxwidgets/references/platforms.md b/.claude/skills/orca-wxwidgets/references/platforms.md index 13ed32314a..f100b02269 100644 --- a/.claude/skills/orca-wxwidgets/references/platforms.md +++ b/.claude/skills/orca-wxwidgets/references/platforms.md @@ -78,8 +78,9 @@ Contents: [Rules](#rules) · [The wx build Orca uses](#the-wx-build-orca-uses) `references/colours-dark-mode.md`. - The checked-out source is the tree that every wx citation in this skill refers to: `deps/build//dep_wxWidgets-prefix/src/dep_wxWidgets` on macOS and - `deps/build/dep_wxWidgets-prefix/src/dep_wxWidgets` on Linux. Find it with - `find deps -maxdepth 5 -type d -path '*dep_wxWidgets-prefix/src/dep_wxWidgets'`. On macOS its + `deps//dep_wxWidgets-prefix/src/dep_wxWidgets` on Linux and Windows (`deps/build` for a + release build; `build_win.bat` names the others). Locate it with the bash or PowerShell lookup in + `SKILL.md` §Ground truth. On macOS its `src/osx/cocoa/colour.mm` already has the patch applied. - **Flatpak builds wx separately.** `deps/CMakeLists.txt` leaves `dep_wxWidgets` out of the deps target when `FLATPAK` is set. Instead, `scripts/flatpak/com.orcaslicer.OrcaSlicer.yml` has its own diff --git a/.claude/skills/orca-wxwidgets/references/popups-menus.md b/.claude/skills/orca-wxwidgets/references/popups-menus.md index be1abb69a8..3fab369436 100644 --- a/.claude/skills/orca-wxwidgets/references/popups-menus.md +++ b/.claude/skills/orca-wxwidgets/references/popups-menus.md @@ -5,7 +5,7 @@ How wx 3.3.2 popups and menus behave on each port, and the Orca wrappers built o `append_menu_item`, `Plater::PopupMenu` and the macOS menubar versus `BBLTopbar`. Read it before you add or change anything that opens over other UI and must close by itself, or any context menu or menubar item. -wx cites are relative to the wx tree root (`deps/build//dep_wxWidgets-prefix/src/dep_wxWidgets`). +wx cites are relative to the wx tree root (located as in `SKILL.md` §Ground truth). **[source]** marks behaviour derived from the implementation that the wx docs do not state or contradict. Orca builds wx with `wxBUILD_DEBUG_LEVEL=0`, so every "asserts" below means "fails silently in Orca". "GTK" means wxGTK3 (X11 and Wayland), the default Linux build; GTK2 is only an opt-out (`-DDEP_WX_GTK3=OFF`). diff --git a/.claude/skills/orca-wxwidgets/references/threads-timers-app.md b/.claude/skills/orca-wxwidgets/references/threads-timers-app.md index 8c8367c999..269c228a35 100644 --- a/.claude/skills/orca-wxwidgets/references/threads-timers-app.md +++ b/.claude/skills/orca-wxwidgets/references/threads-timers-app.md @@ -7,7 +7,7 @@ yields and nested event loops, progress dialogs, startup, shutdown and exception screen, and the access rules for `wxGetApp()` and `app_config`. Read it whenever code runs off the main thread, defers work, starts a timer, yields, shows progress, or runs during startup or shutdown. -wx cites are relative to the pinned wx 3.3.2 tree (`deps/build//dep_wxWidgets-prefix/src/dep_wxWidgets`). +wx cites are relative to the pinned wx 3.3.2 tree (located as in `SKILL.md` §Ground truth). Orca builds wx with `wxBUILD_DEBUG_LEVEL=0` and `libslic3r_gui` with `wxDEBUG_LEVEL=0`, so `wxASSERT` is compiled out and `wxCHECK*` returns silently: a timer started off the main thread never fires on macOS, `Exit()` on a loop that is not the active one is ignored, `Start(0)` on macOS fails — all without diff --git a/.claude/skills/orca-wxwidgets/references/windows-dialogs.md b/.claude/skills/orca-wxwidgets/references/windows-dialogs.md index 1c5be5af4c..ff8a858e24 100644 --- a/.claude/skills/orca-wxwidgets/references/windows-dialogs.md +++ b/.claude/skills/orca-wxwidgets/references/windows-dialogs.md @@ -6,10 +6,9 @@ port; what Orca's `DPIDialog`/`DPIFrame` add; the Orca dialog recipe; and the `M Read it before writing or reviewing any dialog, frame, close handler, `Destroy()`/`delete`, or code that keeps a pointer to a window across an event, a `CallAfter` or a modal loop. -wx cites are relative to the pinned wx 3.3.2 tree (`find deps -maxdepth 5 -type d -path -'*dep_wxWidgets-prefix/src/dep_wxWidgets'`). wx is built with `wxBUILD_DEBUG_LEVEL=0` and -`libslic3r_gui` with `wxDEBUG_LEVEL=0`: every wx assert quoted below is compiled out, so misuse -fails silently (dropped call, stuck loop, freed memory), never with an assert dialog. "GTK" below +wx cites are relative to the pinned wx 3.3.2 tree (located as in `SKILL.md` §Ground truth). wx is +built with `wxBUILD_DEBUG_LEVEL=0` and `libslic3r_gui` with `wxDEBUG_LEVEL=0`: every wx assert +quoted below is compiled out, so misuse fails silently (dropped call, stuck loop, freed memory), never with an assert dialog. "GTK" below means wxGTK as Orca builds it on Linux: GTK3 by default (X11 or Wayland); GTK2 is only an opt-out. Contents: [Rules](#rules) · [1 Creating and parenting](#1-creating-and-parenting-windows) · diff --git a/.claude/skills/orca-wxwidgets/references/wx-33-changes.md b/.claude/skills/orca-wxwidgets/references/wx-33-changes.md index c2075ea2fb..4a292d89af 100644 --- a/.claude/skills/orca-wxwidgets/references/wx-33-changes.md +++ b/.claude/skills/orca-wxwidgets/references/wx-33-changes.md @@ -14,7 +14,7 @@ Contents: [Rules](#rules) · [1 Reading the change logs](#1-reading-the-change-l [8 Migration done in Orca](#8-migration-already-done-in-orca) All `docs/`, `interface/`, `include/`, `src/`, `build/` cites are relative to the pinned wx tree -(`find deps -maxdepth 5 -type d -path '*dep_wxWidgets-prefix/src/dep_wxWidgets'`), except paths +(located as in `SKILL.md` §Ground truth), except paths explicitly called Orca's (`deps/…`, Orca's `src/CMakeLists.txt`) and bare Orca file + symbol cites. ## Rules diff --git a/src/OrcaSlicer.cpp b/src/OrcaSlicer.cpp index 87352f505e..992a9c9bc2 100644 --- a/src/OrcaSlicer.cpp +++ b/src/OrcaSlicer.cpp @@ -20,6 +20,49 @@ #endif /* SLIC3R_GUI */ #endif /* WIN32 */ +#include +#include +#include "libslic3r/PrintBase.hpp" +#include "slic3r/Utils/json_diff.hpp" +#include +#include +#include +#include +#include +#include "libslic3r/LocalesUtils.hpp" +#include +#include +#include +#include "libslic3r/Color.hpp" +#include "libslic3r/TriangleSelector.hpp" +#include +#include "libslic3r/Format/bbs_3mf.hpp" +#include +#include +#include +#include "libslic3r/Point.hpp" +#include "libslic3r_version.h" +#include "libslic3r/Semver.hpp" +#include "libslic3r/PrintConfig.hpp" +#include "libslic3r/BoundingBox.hpp" +#include "libslic3r/CustomGCode.hpp" +#include +#include +#include +#include +#include "libslic3r/ClipperUtils.hpp" +#include "libslic3r/GCode/WipeTowerEstimate.hpp" +#include "slic3r/GUI/Gizmos/GLGizmoBase.hpp" +#include +#include "libslic3r/Arrange.hpp" +#include "libslic3r/Polygon.hpp" +#include "libslic3r/GCode/ThumbnailData.hpp" +#include "slic3r/GUI/3DScene.hpp" +#include "slic3r/GUI/GLShader.hpp" +#include +#include +#include + #include #include #include diff --git a/src/OrcaSlicer.hpp b/src/OrcaSlicer.hpp index 380607e95f..9aceee4a20 100644 --- a/src/OrcaSlicer.hpp +++ b/src/OrcaSlicer.hpp @@ -1,7 +1,14 @@ #ifndef SLIC3R_HPP #define SLIC3R_HPP +#include +#include "libslic3r/BoundingBox.hpp" +#include "libslic3r/PrintConfig.hpp" +#include "libslic3r/Format/bbs_3mf.hpp" +#include "libslic3r/GCode/ThumbnailData.hpp" #include +#include +#include #include "libslic3r/Config.hpp" #include "libslic3r/Model.hpp" diff --git a/src/dev-utils/OrcaSlicer_profile_validator.cpp b/src/dev-utils/OrcaSlicer_profile_validator.cpp index c328c565c8..bbfa53c262 100644 --- a/src/dev-utils/OrcaSlicer_profile_validator.cpp +++ b/src/dev-utils/OrcaSlicer_profile_validator.cpp @@ -8,6 +8,28 @@ #define NANOSVGRAST_IMPLEMENTATION #include "nanosvg/nanosvgrast.h" +#include +#include +#include +#include "libslic3r/Point.hpp" +#include "libslic3r/libslic3r.h" +#include "libslic3r/Polygon.hpp" +#include "libslic3r/PrintConfig.hpp" +#include +#include "libslic3r/CustomGCode.hpp" +#include +#include +#include +#include +#include +#include +#include +#include "libslic3r/PlaceholderParser.hpp" +#include +#include +#include +#include + #include "libslic3r/BoundingBox.hpp" #include "libslic3r/GCode.hpp" #include "libslic3r/GCode/WipeTower.hpp" diff --git a/src/dev-utils/encoding-check.cpp b/src/dev-utils/encoding-check.cpp index 2a645e2ab2..0eb390f161 100644 --- a/src/dev-utils/encoding-check.cpp +++ b/src/dev-utils/encoding-check.cpp @@ -1,3 +1,4 @@ +#include #include #include #include diff --git a/src/dev-utils/generate_system_cache.cpp b/src/dev-utils/generate_system_cache.cpp index 017db79836..7baa11a8a0 100644 --- a/src/dev-utils/generate_system_cache.cpp +++ b/src/dev-utils/generate_system_cache.cpp @@ -4,9 +4,19 @@ #include #include +#include +#include #include #include +#include +#include +#include +#include +#include +#include #include +#include +#include "libslic3r/Config.hpp" using namespace Slic3r; namespace fs = boost::filesystem; diff --git a/src/dev-utils/profile_include_dump.cpp b/src/dev-utils/profile_include_dump.cpp index f2486dedfc..6561027f70 100644 --- a/src/dev-utils/profile_include_dump.cpp +++ b/src/dev-utils/profile_include_dump.cpp @@ -11,13 +11,19 @@ #include "libslic3r/Utils.hpp" #include +#include +#include #include #include "nlohmann/json.hpp" #include +#include +#include #include +#include "libslic3r/Config.hpp" #include #include +#include #include #include diff --git a/src/libslic3r/AABBMesh.cpp b/src/libslic3r/AABBMesh.cpp index be026f69d7..bcd34546ed 100644 --- a/src/libslic3r/AABBMesh.cpp +++ b/src/libslic3r/AABBMesh.cpp @@ -1,10 +1,19 @@ #include "AABBMesh.hpp" +#include "Point.hpp" +#include #include +#include +#include +#include +#include +#include #include #include +#include #include +#include #ifdef SLIC3R_HOLE_RAYCASTER #include diff --git a/src/libslic3r/AABBMesh.hpp b/src/libslic3r/AABBMesh.hpp index 9998f504b5..c9195b2105 100644 --- a/src/libslic3r/AABBMesh.hpp +++ b/src/libslic3r/AABBMesh.hpp @@ -1,6 +1,10 @@ #ifndef PRUSASLICER_AABBMESH_H #define PRUSASLICER_AABBMESH_H +#include +#include +#include +#include #include #include diff --git a/src/libslic3r/AABBTreeIndirect.hpp b/src/libslic3r/AABBTreeIndirect.hpp index 483ca8efc4..5fd83e0be9 100644 --- a/src/libslic3r/AABBTreeIndirect.hpp +++ b/src/libslic3r/AABBTreeIndirect.hpp @@ -6,15 +6,20 @@ #ifndef slic3r_AABBTreeIndirect_hpp_ #define slic3r_AABBTreeIndirect_hpp_ +#include #include +#include +#include #include #include +#include #include #include #include "BoundingBox.hpp" #include "Utils.hpp" // for next_highest_power_of_2() +#include "libslic3r.h" // Definition of the ray intersection hit structure. #include diff --git a/src/libslic3r/AABBTreeLines.hpp b/src/libslic3r/AABBTreeLines.hpp index 52c4cdf545..de0c88aeb1 100644 --- a/src/libslic3r/AABBTreeLines.hpp +++ b/src/libslic3r/AABBTreeLines.hpp @@ -6,9 +6,15 @@ #include "libslic3r.h" #include "libslic3r/AABBTreeIndirect.hpp" #include "libslic3r/Line.hpp" +#include #include +#include #include +#include +#include +#include #include +#include #include namespace Slic3r { diff --git a/src/libslic3r/AStar.hpp b/src/libslic3r/AStar.hpp index a7d9e7b8f9..e79295c503 100644 --- a/src/libslic3r/AStar.hpp +++ b/src/libslic3r/AStar.hpp @@ -1,7 +1,11 @@ #ifndef ASTAR_HPP #define ASTAR_HPP +#include #include // std::isinf() is here +#include +#include +#include #include #include "libslic3r/MutablePriorityQueue.hpp" diff --git a/src/libslic3r/Algorithm/LineSplit.cpp b/src/libslic3r/Algorithm/LineSplit.cpp index d91514dbf9..789ca39be6 100644 --- a/src/libslic3r/Algorithm/LineSplit.cpp +++ b/src/libslic3r/Algorithm/LineSplit.cpp @@ -1,8 +1,20 @@ #include "LineSplit.hpp" #include "AABBTreeLines.hpp" +#include "libslic3r/ClipperUtils.hpp" +#include "libslic3r/ClipperZUtils.hpp" +#include "libslic3r/Point.hpp" +#include "libslic3r/Line.hpp" +#include "libslic3r/ExPolygon.hpp" #include "SVG.hpp" #include "Utils.hpp" +#include +#include "libslic3r/libslic3r.h" +#include +#include +#include +#include +#include //#define DEBUG_SPLIT_LINE diff --git a/src/libslic3r/Algorithm/LineSplit.hpp b/src/libslic3r/Algorithm/LineSplit.hpp index 80f64e684c..098ff72d09 100644 --- a/src/libslic3r/Algorithm/LineSplit.hpp +++ b/src/libslic3r/Algorithm/LineSplit.hpp @@ -2,6 +2,12 @@ #define SRC_LIBSLIC3R_ALGORITHM_LINE_SPLIT_HPP_ #include "ClipperZUtils.hpp" +#include "libslic3r/libslic3r.h" +#include "libslic3r/Point.hpp" +#include +#include +#include +#include "libslic3r/ExPolygon.hpp" namespace Slic3r { namespace Algorithm { diff --git a/src/libslic3r/Algorithm/RegionExpansion.cpp b/src/libslic3r/Algorithm/RegionExpansion.cpp index 2cfb15ce6d..a4558a3939 100644 --- a/src/libslic3r/Algorithm/RegionExpansion.cpp +++ b/src/libslic3r/Algorithm/RegionExpansion.cpp @@ -1,11 +1,25 @@ #include "RegionExpansion.hpp" +#include "libslic3r/Point.hpp" +#include "libslic3r/ExPolygon.hpp" +#include "libslic3r/libslic3r.h" +#include "libslic3r/Polyline.hpp" +#include "libslic3r/Polygon.hpp" +#include +#include +#include +#include +#include +#include #include #include #include #include +#include #include +#include +#include namespace Slic3r { namespace Algorithm { diff --git a/src/libslic3r/Algorithm/RegionExpansion.hpp b/src/libslic3r/Algorithm/RegionExpansion.hpp index a3e5ddaa38..b493b72d5c 100644 --- a/src/libslic3r/Algorithm/RegionExpansion.hpp +++ b/src/libslic3r/Algorithm/RegionExpansion.hpp @@ -1,10 +1,12 @@ #ifndef SRC_LIBSLIC3R_ALGORITHM_REGION_EXPANSION_HPP_ #define SRC_LIBSLIC3R_ALGORITHM_REGION_EXPANSION_HPP_ +#include #include #include #include #include +#include namespace Slic3r { namespace Algorithm { diff --git a/src/libslic3r/AnyPtr.hpp b/src/libslic3r/AnyPtr.hpp index c40d10093e..7c0f28b834 100644 --- a/src/libslic3r/AnyPtr.hpp +++ b/src/libslic3r/AnyPtr.hpp @@ -1,6 +1,7 @@ #ifndef ANYPTR_HPP #define ANYPTR_HPP +#include #include #include #include diff --git a/src/libslic3r/AppConfig.cpp b/src/libslic3r/AppConfig.cpp index 061665fbe6..663072d866 100644 --- a/src/libslic3r/AppConfig.cpp +++ b/src/libslic3r/AppConfig.cpp @@ -1,3 +1,8 @@ +#include "Technologies.hpp" +#include "Config.hpp" +#include "PrintConfig.hpp" +#include "calib.hpp" +#include "Semver.hpp" #include "libslic3r/libslic3r.h" #include "libslic3r/Utils.hpp" #include "libslic3r/Format/DRC.hpp" @@ -9,9 +14,18 @@ #include "LocalesUtils.hpp" #include "Thread.hpp" #include "format.hpp" +#include "libslic3r_version.h" #include "nlohmann/json.hpp" #include +#include +#include +#include +#include +#include +#include +#include +#include #include #include #include diff --git a/src/libslic3r/AppConfig.hpp b/src/libslic3r/AppConfig.hpp index 1486cb6f9f..a08c018bb2 100644 --- a/src/libslic3r/AppConfig.hpp +++ b/src/libslic3r/AppConfig.hpp @@ -5,8 +5,11 @@ #include #include #include +#include "LocalesUtils.hpp" #include "nlohmann/json.hpp" #include +#include +#include #include "libslic3r/Config.hpp" #include "libslic3r/Semver.hpp" diff --git a/src/libslic3r/Arachne/BeadingStrategy/BeadingStrategy.cpp b/src/libslic3r/Arachne/BeadingStrategy/BeadingStrategy.cpp index 5ade0c9207..119ff8dd99 100644 --- a/src/libslic3r/Arachne/BeadingStrategy/BeadingStrategy.cpp +++ b/src/libslic3r/Arachne/BeadingStrategy/BeadingStrategy.cpp @@ -2,7 +2,9 @@ //CuraEngine is released under the terms of the AGPLv3 or higher. #include "BeadingStrategy.hpp" +#include "libslic3r/libslic3r.h" #include "libslic3r/Point.hpp" +#include namespace Slic3r::Arachne { diff --git a/src/libslic3r/Arachne/BeadingStrategy/BeadingStrategyFactory.cpp b/src/libslic3r/Arachne/BeadingStrategy/BeadingStrategyFactory.cpp index d6cb1331c1..242d54e63b 100644 --- a/src/libslic3r/Arachne/BeadingStrategy/BeadingStrategyFactory.cpp +++ b/src/libslic3r/Arachne/BeadingStrategy/BeadingStrategyFactory.cpp @@ -12,6 +12,7 @@ #include "DistributedBeadingStrategy.hpp" #include "RedistributeBeadingStrategy.hpp" #include "OuterWallInsetBeadingStrategy.hpp" +#include "libslic3r/libslic3r.h" #include "libslic3r/Arachne/BeadingStrategy/BeadingStrategy.hpp" namespace Slic3r::Arachne { diff --git a/src/libslic3r/Arachne/BeadingStrategy/DistributedBeadingStrategy.cpp b/src/libslic3r/Arachne/BeadingStrategy/DistributedBeadingStrategy.cpp index 7234015ae2..966682e054 100644 --- a/src/libslic3r/Arachne/BeadingStrategy/DistributedBeadingStrategy.cpp +++ b/src/libslic3r/Arachne/BeadingStrategy/DistributedBeadingStrategy.cpp @@ -6,6 +6,7 @@ #include #include "DistributedBeadingStrategy.hpp" +#include "libslic3r/libslic3r.h" #include "libslic3r/Arachne/BeadingStrategy/BeadingStrategy.hpp" namespace Slic3r::Arachne diff --git a/src/libslic3r/Arachne/BeadingStrategy/LimitedBeadingStrategy.cpp b/src/libslic3r/Arachne/BeadingStrategy/LimitedBeadingStrategy.cpp index 24e04c3f26..0c570bf307 100644 --- a/src/libslic3r/Arachne/BeadingStrategy/LimitedBeadingStrategy.cpp +++ b/src/libslic3r/Arachne/BeadingStrategy/LimitedBeadingStrategy.cpp @@ -3,10 +3,12 @@ #include #include +#include #include #include #include "LimitedBeadingStrategy.hpp" +#include "libslic3r/libslic3r.h" #include "libslic3r/Point.hpp" #include "libslic3r/Arachne/BeadingStrategy/BeadingStrategy.hpp" diff --git a/src/libslic3r/Arachne/BeadingStrategy/OuterWallInsetBeadingStrategy.cpp b/src/libslic3r/Arachne/BeadingStrategy/OuterWallInsetBeadingStrategy.cpp index ac9edb1dba..1b7bd7e342 100644 --- a/src/libslic3r/Arachne/BeadingStrategy/OuterWallInsetBeadingStrategy.cpp +++ b/src/libslic3r/Arachne/BeadingStrategy/OuterWallInsetBeadingStrategy.cpp @@ -6,6 +6,7 @@ #include #include +#include "libslic3r/libslic3r.h" #include "libslic3r/Arachne/BeadingStrategy/BeadingStrategy.hpp" namespace Slic3r::Arachne diff --git a/src/libslic3r/Arachne/BeadingStrategy/RedistributeBeadingStrategy.cpp b/src/libslic3r/Arachne/BeadingStrategy/RedistributeBeadingStrategy.cpp index 7307781840..e6a3c337ae 100644 --- a/src/libslic3r/Arachne/BeadingStrategy/RedistributeBeadingStrategy.cpp +++ b/src/libslic3r/Arachne/BeadingStrategy/RedistributeBeadingStrategy.cpp @@ -7,6 +7,7 @@ #include #include +#include "libslic3r/libslic3r.h" #include "libslic3r/Arachne/BeadingStrategy/BeadingStrategy.hpp" namespace Slic3r::Arachne diff --git a/src/libslic3r/Arachne/BeadingStrategy/WideningBeadingStrategy.cpp b/src/libslic3r/Arachne/BeadingStrategy/WideningBeadingStrategy.cpp index ab8b070604..0ceb2d9dd3 100644 --- a/src/libslic3r/Arachne/BeadingStrategy/WideningBeadingStrategy.cpp +++ b/src/libslic3r/Arachne/BeadingStrategy/WideningBeadingStrategy.cpp @@ -4,8 +4,11 @@ #include "WideningBeadingStrategy.hpp" #include +#include #include +#include +#include "libslic3r/libslic3r.h" #include "libslic3r/Arachne/BeadingStrategy/BeadingStrategy.hpp" namespace Slic3r::Arachne diff --git a/src/libslic3r/Arachne/SkeletalTrapezoidation.cpp b/src/libslic3r/Arachne/SkeletalTrapezoidation.cpp index da5c7357c1..82ca92e090 100644 --- a/src/libslic3r/Arachne/SkeletalTrapezoidation.cpp +++ b/src/libslic3r/Arachne/SkeletalTrapezoidation.cpp @@ -10,10 +10,18 @@ #include #include #include +#include +#include +#include #include #include #include +#include +#include "libslic3r/Point.hpp" +#include "libslic3r/libslic3r.h" +#include "libslic3r/Polygon.hpp" +#include "libslic3r/Arachne/BeadingStrategy/BeadingStrategy.hpp" #include "libslic3r/Geometry/VoronoiUtils.hpp" #include "ankerl/unordered_dense.h" #include "libslic3r/Arachne/SkeletalTrapezoidationEdge.hpp" diff --git a/src/libslic3r/Arachne/SkeletalTrapezoidationEdge.hpp b/src/libslic3r/Arachne/SkeletalTrapezoidationEdge.hpp index e0d3fe81d2..9eced8be93 100644 --- a/src/libslic3r/Arachne/SkeletalTrapezoidationEdge.hpp +++ b/src/libslic3r/Arachne/SkeletalTrapezoidationEdge.hpp @@ -4,10 +4,12 @@ #ifndef SKELETAL_TRAPEZOIDATION_EDGE_H #define SKELETAL_TRAPEZOIDATION_EDGE_H +#include #include // smart pointers #include #include +#include "libslic3r/libslic3r.h" #include "utils/ExtrusionJunction.hpp" namespace Slic3r::Arachne diff --git a/src/libslic3r/Arachne/SkeletalTrapezoidationGraph.cpp b/src/libslic3r/Arachne/SkeletalTrapezoidationGraph.cpp index f7a30c32db..4621a04616 100644 --- a/src/libslic3r/Arachne/SkeletalTrapezoidationGraph.cpp +++ b/src/libslic3r/Arachne/SkeletalTrapezoidationGraph.cpp @@ -6,11 +6,17 @@ #include #include #include +#include #include #include #include +#include +#include #include "../Line.hpp" +#include "libslic3r/Arachne/utils/HalfEdge.hpp" +#include "libslic3r/libslic3r.h" +#include "libslic3r/Arachne/utils/HalfEdgeNode.hpp" #include "libslic3r/Arachne/SkeletalTrapezoidationEdge.hpp" #include "libslic3r/Arachne/SkeletalTrapezoidationJoint.hpp" #include "libslic3r/Point.hpp" diff --git a/src/libslic3r/Arachne/SkeletalTrapezoidationJoint.hpp b/src/libslic3r/Arachne/SkeletalTrapezoidationJoint.hpp index 346d511165..3eab9c0916 100644 --- a/src/libslic3r/Arachne/SkeletalTrapezoidationJoint.hpp +++ b/src/libslic3r/Arachne/SkeletalTrapezoidationJoint.hpp @@ -6,6 +6,7 @@ #include // smart pointers +#include "libslic3r/libslic3r.h" #include "libslic3r/Arachne/BeadingStrategy/BeadingStrategy.hpp" namespace Slic3r::Arachne diff --git a/src/libslic3r/Arachne/WallToolPaths.cpp b/src/libslic3r/Arachne/WallToolPaths.cpp index d1f0341bda..a116674daa 100644 --- a/src/libslic3r/Arachne/WallToolPaths.cpp +++ b/src/libslic3r/Arachne/WallToolPaths.cpp @@ -2,12 +2,31 @@ // CuraEngine is released under the terms of the AGPLv3 or higher. #include //For std::partition_copy and std::min_element. +#include +#include +#include +#include +#include +#include +#include #include #include "WallToolPaths.hpp" +#include "libslic3r/PrintConfig.hpp" +#include "libslic3r/Point.hpp" +#include "libslic3r/Polygon.hpp" +#include "libslic3r/Arachne/utils/ExtrusionLine.hpp" +#include "libslic3r/Line.hpp" +#include "libslic3r/Arachne/utils/PolygonsPointIndex.hpp" +#include "libslic3r/Flow.hpp" +#include "libslic3r/Arachne/BeadingStrategy/BeadingStrategyFactory.hpp" +#include "libslic3r/Arachne/utils/ExtrusionJunction.hpp" +#include "libslic3r/Arachne/utils/SparsePointGrid.hpp" +#include "libslic3r/Arachne/utils/SquareGrid.hpp" #include "SkeletalTrapezoidation.hpp" #include "../ClipperUtils.hpp" +#include "libslic3r/libslic3r.h" #include "utils/linearAlg2D.hpp" #include "EdgeGrid.hpp" #include "utils/SparseLineGrid.hpp" @@ -17,6 +36,8 @@ #include "Utils.hpp" #include +#include +#include //#define ARACHNE_STITCH_PATCH_DEBUG diff --git a/src/libslic3r/Arachne/WallToolPaths.hpp b/src/libslic3r/Arachne/WallToolPaths.hpp index d7120a088c..cfec7284eb 100644 --- a/src/libslic3r/Arachne/WallToolPaths.hpp +++ b/src/libslic3r/Arachne/WallToolPaths.hpp @@ -4,10 +4,16 @@ #ifndef CURAENGINE_WALLTOOLPATHS_H #define CURAENGINE_WALLTOOLPATHS_H +#include +#include #include #include +#include +#include #include "BeadingStrategy/BeadingStrategyFactory.hpp" +#include "libslic3r/libslic3r.h" +#include "libslic3r/Point.hpp" #include "utils/ExtrusionLine.hpp" #include "../Polygon.hpp" #include "../PrintConfig.hpp" diff --git a/src/libslic3r/Arachne/utils/ExtrusionJunction.hpp b/src/libslic3r/Arachne/utils/ExtrusionJunction.hpp index 625bf9b727..aebfd81347 100644 --- a/src/libslic3r/Arachne/utils/ExtrusionJunction.hpp +++ b/src/libslic3r/Arachne/utils/ExtrusionJunction.hpp @@ -6,6 +6,9 @@ #define UTILS_EXTRUSION_JUNCTION_H #include "../../Point.hpp" +#include "libslic3r/libslic3r.h" +#include +#include namespace Slic3r::Arachne { diff --git a/src/libslic3r/Arachne/utils/ExtrusionLine.cpp b/src/libslic3r/Arachne/utils/ExtrusionLine.cpp index 2beaa4f92f..c1c29c50e9 100644 --- a/src/libslic3r/Arachne/utils/ExtrusionLine.cpp +++ b/src/libslic3r/Arachne/utils/ExtrusionLine.cpp @@ -2,11 +2,17 @@ //CuraEngine is released under the terms of the AGPLv3 or higher. #include +#include #include +#include #include +#include #include "ExtrusionLine.hpp" #include "../../VariableWidth.hpp" +#include "libslic3r/ClipperZUtils.hpp" +#include "libslic3r/libslic3r.h" +#include "libslic3r/Point.hpp" #include "libslic3r/Arachne/utils/ExtrusionJunction.hpp" #include "libslic3r/BoundingBox.hpp" #include "libslic3r/ExtrusionEntity.hpp" diff --git a/src/libslic3r/Arachne/utils/ExtrusionLine.hpp b/src/libslic3r/Arachne/utils/ExtrusionLine.hpp index 8b4a753f5e..421f73e0e8 100644 --- a/src/libslic3r/Arachne/utils/ExtrusionLine.hpp +++ b/src/libslic3r/Arachne/utils/ExtrusionLine.hpp @@ -22,6 +22,7 @@ #include "../../BoundingBox.hpp" #include "../../ExtrusionEntity.hpp" #include "../../Flow.hpp" +#include "libslic3r/libslic3r.h" #include "libslic3r/Point.hpp" namespace Slic3r { diff --git a/src/libslic3r/Arachne/utils/PolygonsPointIndex.hpp b/src/libslic3r/Arachne/utils/PolygonsPointIndex.hpp index 04f017f86a..2ac32b9366 100644 --- a/src/libslic3r/Arachne/utils/PolygonsPointIndex.hpp +++ b/src/libslic3r/Arachne/utils/PolygonsPointIndex.hpp @@ -4,6 +4,9 @@ #ifndef UTILS_POLYGONS_POINT_INDEX_H #define UTILS_POLYGONS_POINT_INDEX_H +#include +#include +#include #include #include "../../Point.hpp" diff --git a/src/libslic3r/Arachne/utils/PolygonsSegmentIndex.hpp b/src/libslic3r/Arachne/utils/PolygonsSegmentIndex.hpp index 3258b41c7d..2df641c085 100644 --- a/src/libslic3r/Arachne/utils/PolygonsSegmentIndex.hpp +++ b/src/libslic3r/Arachne/utils/PolygonsSegmentIndex.hpp @@ -6,7 +6,10 @@ #include +#include "libslic3r/Polygon.hpp" +#include "libslic3r/Point.hpp" #include "PolygonsPointIndex.hpp" +#include "libslic3r/libslic3r.h" namespace Slic3r::Arachne { diff --git a/src/libslic3r/Arachne/utils/PolylineStitcher.cpp b/src/libslic3r/Arachne/utils/PolylineStitcher.cpp index 0abf63ac10..e011e5db51 100644 --- a/src/libslic3r/Arachne/utils/PolylineStitcher.cpp +++ b/src/libslic3r/Arachne/utils/PolylineStitcher.cpp @@ -4,6 +4,7 @@ #include "PolylineStitcher.hpp" #include "ExtrusionLine.hpp" +#include "libslic3r/Point.hpp" #include "libslic3r/Arachne/utils/PolygonsPointIndex.hpp" #include "libslic3r/Polygon.hpp" diff --git a/src/libslic3r/Arachne/utils/SparseGrid.hpp b/src/libslic3r/Arachne/utils/SparseGrid.hpp index 45876fb9a7..ce5bac81bc 100644 --- a/src/libslic3r/Arachne/utils/SparseGrid.hpp +++ b/src/libslic3r/Arachne/utils/SparseGrid.hpp @@ -6,11 +6,14 @@ #define UTILS_SPARSE_GRID_H #include +#include +#include #include #include #include "../../Point.hpp" #include "SquareGrid.hpp" +#include "libslic3r/libslic3r.h" namespace Slic3r::Arachne { diff --git a/src/libslic3r/Arachne/utils/SparseLineGrid.hpp b/src/libslic3r/Arachne/utils/SparseLineGrid.hpp index 0b38988f92..be3c430749 100644 --- a/src/libslic3r/Arachne/utils/SparseLineGrid.hpp +++ b/src/libslic3r/Arachne/utils/SparseLineGrid.hpp @@ -6,10 +6,15 @@ #define UTILS_SPARSE_LINE_GRID_H #include +#include +#include +#include #include #include +#include "libslic3r/Point.hpp" #include "SparseGrid.hpp" +#include "libslic3r/libslic3r.h" namespace Slic3r::Arachne { diff --git a/src/libslic3r/Arachne/utils/SparsePointGrid.hpp b/src/libslic3r/Arachne/utils/SparsePointGrid.hpp index 127380b3eb..ba1898a0ae 100644 --- a/src/libslic3r/Arachne/utils/SparsePointGrid.hpp +++ b/src/libslic3r/Arachne/utils/SparsePointGrid.hpp @@ -6,9 +6,13 @@ #define UTILS_SPARSE_POINT_GRID_H #include +#include +#include #include +#include "libslic3r/Point.hpp" #include "SparseGrid.hpp" +#include "libslic3r/libslic3r.h" namespace Slic3r::Arachne { diff --git a/src/libslic3r/Arachne/utils/SquareGrid.cpp b/src/libslic3r/Arachne/utils/SquareGrid.cpp index 1af9910426..dcbd018f1b 100644 --- a/src/libslic3r/Arachne/utils/SquareGrid.cpp +++ b/src/libslic3r/Arachne/utils/SquareGrid.cpp @@ -4,7 +4,11 @@ #include "SquareGrid.hpp" #include +#include +#include +#include +#include "libslic3r/libslic3r.h" #include "libslic3r/Point.hpp" using namespace Slic3r::Arachne; diff --git a/src/libslic3r/Arachne/utils/linearAlg2D.hpp b/src/libslic3r/Arachne/utils/linearAlg2D.hpp index 599d3fa835..632032da8f 100644 --- a/src/libslic3r/Arachne/utils/linearAlg2D.hpp +++ b/src/libslic3r/Arachne/utils/linearAlg2D.hpp @@ -5,6 +5,9 @@ #define UTILS_LINEAR_ALG_2D_H #include "../../Point.hpp" +#include +#include +#include namespace Slic3r::Arachne::LinearAlg2D { diff --git a/src/libslic3r/ArcFitter.cpp b/src/libslic3r/ArcFitter.cpp index 46dd12931e..8bd1bc4fe6 100644 --- a/src/libslic3r/ArcFitter.cpp +++ b/src/libslic3r/ArcFitter.cpp @@ -1,8 +1,14 @@ #include "ArcFitter.hpp" +#include "Point.hpp" +#include "Circle.hpp" +#include "MultiPoint.hpp" #include "Polyline.hpp" +#include "libslic3r.h" #include #include +#include +#include namespace Slic3r { diff --git a/src/libslic3r/ArcFitter.hpp b/src/libslic3r/ArcFitter.hpp index f2b2ee49d8..03d38abc85 100644 --- a/src/libslic3r/ArcFitter.hpp +++ b/src/libslic3r/ArcFitter.hpp @@ -2,6 +2,9 @@ #define slic3r_ArcFitter_hpp_ #include "Circle.hpp" +#include +#include "Point.hpp" +#include namespace Slic3r { diff --git a/src/libslic3r/Arrange.cpp b/src/libslic3r/Arrange.cpp index 9020aba8ba..8a2cace499 100644 --- a/src/libslic3r/Arrange.cpp +++ b/src/libslic3r/Arrange.cpp @@ -1,9 +1,28 @@ #include "Arrange.hpp" +#include "ExPolygon.hpp" +#include "Point.hpp" #include "Print.hpp" #include "BoundingBox.hpp" +#include "PrintConfig.hpp" #include "libslic3r.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include #include +#include "libnest2d/common.hpp" +#include "libnest2d/geometry_traits_nfp.hpp" +#include "libnest2d/nester.hpp" +#include "libnest2d/geometry_traits.hpp" #include #include #include @@ -13,6 +32,11 @@ #include #include +#include +#include +#include +#include +#include #if defined(_MSC_VER) && defined(__clang__) #define BOOST_NO_CXX17_HDR_STRING_VIEW diff --git a/src/libslic3r/Arrange.hpp b/src/libslic3r/Arrange.hpp index ad125aee7d..ea89640a7b 100644 --- a/src/libslic3r/Arrange.hpp +++ b/src/libslic3r/Arrange.hpp @@ -2,8 +2,17 @@ #define ARRANGE_HPP #include "ExPolygon.hpp" +#include "Point.hpp" +#include "Polygon.hpp" #include "PrintConfig.hpp" #include "Print.hpp" +#include +#include "libslic3r.h" +#include +#include +#include +#include +#include #define BED_SHRINK_SEQ_PRINT 5 diff --git a/src/libslic3r/BoundingBox.cpp b/src/libslic3r/BoundingBox.cpp index cf5441dace..dc4f461dc7 100644 --- a/src/libslic3r/BoundingBox.cpp +++ b/src/libslic3r/BoundingBox.cpp @@ -1,5 +1,8 @@ #include "BoundingBox.hpp" +#include "Point.hpp" #include "Polygon.hpp" +#include "libslic3r.h" +#include #include #include diff --git a/src/libslic3r/BoundingBox.hpp b/src/libslic3r/BoundingBox.hpp index 8aac3f1cb9..03f6a8f9bb 100644 --- a/src/libslic3r/BoundingBox.hpp +++ b/src/libslic3r/BoundingBox.hpp @@ -5,7 +5,10 @@ #include "Exception.hpp" #include "Point.hpp" #include "Polygon.hpp" +#include +#include #include +#include namespace Slic3r { diff --git a/src/libslic3r/BridgeDetector.cpp b/src/libslic3r/BridgeDetector.cpp index 321e066a8a..ad1b8bb6fb 100644 --- a/src/libslic3r/BridgeDetector.cpp +++ b/src/libslic3r/BridgeDetector.cpp @@ -1,7 +1,18 @@ #include "BridgeDetector.hpp" +#include "BoundingBox.hpp" #include "ClipperUtils.hpp" +#include "ExPolygon.hpp" #include "Geometry.hpp" +#include "libslic3r.h" +#include "Polygon.hpp" +#include "Line.hpp" +#include "Polyline.hpp" +#include "Point.hpp" #include +#include +#include +#include +#include namespace Slic3r { diff --git a/src/libslic3r/BridgeDetector.hpp b/src/libslic3r/BridgeDetector.hpp index 1e5bb1a101..85982ed91c 100644 --- a/src/libslic3r/BridgeDetector.hpp +++ b/src/libslic3r/BridgeDetector.hpp @@ -9,7 +9,14 @@ #include "PrincipalComponents2D.hpp" #include "libslic3r.h" #include "ExPolygon.hpp" +#include +#include +#include #include +#include +#include +#include +#include namespace Slic3r { diff --git a/src/libslic3r/Brim.cpp b/src/libslic3r/Brim.cpp index 8ba4dfb596..f48723cfef 100644 --- a/src/libslic3r/Brim.cpp +++ b/src/libslic3r/Brim.cpp @@ -1,18 +1,37 @@ +#include "BoundingBox.hpp" +#include "BrimEarsPoint.hpp" #include "ClipperUtils.hpp" #include "EdgeGrid.hpp" +#include "ExPolygon.hpp" +#include "Flow.hpp" +#include "Geometry.hpp" +#include "ExtrusionEntity.hpp" #include "Layer.hpp" +#include "Point.hpp" +#include "ObjectID.hpp" +#include "Polygon.hpp" +#include "Line.hpp" +#include "MultiPoint.hpp" +#include "Polyline.hpp" #include "Print.hpp" +#include "PrintBase.hpp" #include "ShortestPath.hpp" #include "libslic3r.h" #include "PrintConfig.hpp" #include "MaterialType.hpp" #include "Model.hpp" #include +#include +#include #include #include +#include +#include #include #include +#include +#include #ifndef NDEBUG // #define BRIM_DEBUG_TO_SVG diff --git a/src/libslic3r/Brim.hpp b/src/libslic3r/Brim.hpp index 0603af20cc..9279b1e023 100644 --- a/src/libslic3r/Brim.hpp +++ b/src/libslic3r/Brim.hpp @@ -4,8 +4,10 @@ #include "ExPolygon.hpp" #include "ObjectID.hpp" #include "Point.hpp" +#include "Polygon.hpp" #include +#include #include namespace Slic3r { diff --git a/src/libslic3r/BrimEarsPoint.hpp b/src/libslic3r/BrimEarsPoint.hpp index a859d54f23..020b03475a 100644 --- a/src/libslic3r/BrimEarsPoint.hpp +++ b/src/libslic3r/BrimEarsPoint.hpp @@ -1,7 +1,10 @@ #ifndef BRIMEARSPOINT_HPP #define BRIMEARSPOINT_HPP +#include +#include "libslic3r.h" #include +#include namespace Slic3r { diff --git a/src/libslic3r/BuildVolume.cpp b/src/libslic3r/BuildVolume.cpp index 15e6668bae..eb5a447249 100644 --- a/src/libslic3r/BuildVolume.cpp +++ b/src/libslic3r/BuildVolume.cpp @@ -1,11 +1,24 @@ #include "BuildVolume.hpp" +#include "BoundingBox.hpp" #include "ClipperUtils.hpp" +#include "Polygon.hpp" +#include "Geometry/Circle.hpp" +#include "ExtrusionEntity.hpp" #include "TriangleMesh.hpp" #include "Geometry/ConvexHull.hpp" #include "GCode/GCodeProcessor.hpp" #include "Point.hpp" +#include "libslic3r.h" +#include #include +#include +#include +#include +#include +#include +#include +#include namespace Slic3r { diff --git a/src/libslic3r/BuildVolume.hpp b/src/libslic3r/BuildVolume.hpp index 6f53fdd704..8c53242fe8 100644 --- a/src/libslic3r/BuildVolume.hpp +++ b/src/libslic3r/BuildVolume.hpp @@ -5,9 +5,13 @@ #include "Geometry/Circle.hpp" #include "Polygon.hpp" #include "BoundingBox.hpp" +#include "libslic3r.h" #include +#include #include +#include +#include namespace Slic3r { diff --git a/src/libslic3r/CAD/CadDocument.cpp b/src/libslic3r/CAD/CadDocument.cpp index ea20ffd966..b4a89f6a69 100644 --- a/src/libslic3r/CAD/CadDocument.cpp +++ b/src/libslic3r/CAD/CadDocument.cpp @@ -1,8 +1,14 @@ #include "libslic3r/CAD/CadDocument.hpp" +#include "libslic3r/Point.hpp" +#include "libslic3r/CAD/SketchEngine.hpp" +#include "libslic3r/CAD/GeometryEngine.hpp" #include "libslic3r/CAD/SketchConstraints.hpp" #include "libslic3r/CAD/SketchSolver.hpp" #include "libslic3r/CAD/SketchImport.hpp" // transform_regions for imported art +#include +#include +#include #include #include @@ -26,6 +32,10 @@ #include #include #include +#include +#include +#include +#include #include #include #include @@ -69,12 +79,18 @@ #include #include #include +#include +#include +#include #include #include #include #include #include +#include +#include +#include namespace Slic3r { diff --git a/src/libslic3r/CAD/CadDocument.hpp b/src/libslic3r/CAD/CadDocument.hpp index f62536384a..216be818bd 100644 --- a/src/libslic3r/CAD/CadDocument.hpp +++ b/src/libslic3r/CAD/CadDocument.hpp @@ -1,16 +1,20 @@ #ifndef slic3r_CadDocument_hpp_ #define slic3r_CadDocument_hpp_ +#include "libslic3r/Point.hpp" #include "libslic3r/TriangleMesh.hpp" #include "libslic3r/CAD/SketchEngine.hpp" #include "libslic3r/CAD/GeometryEngine.hpp" // FaceGroup #include "libslic3r/Color.hpp" // ColorRGBA (per-body display colour override) +#include #include #include #include #include #include +#include +#include #include #include #include diff --git a/src/libslic3r/CAD/GeometryEngine.cpp b/src/libslic3r/CAD/GeometryEngine.cpp index 2b923938c2..1e5896e67a 100644 --- a/src/libslic3r/CAD/GeometryEngine.cpp +++ b/src/libslic3r/CAD/GeometryEngine.cpp @@ -1,12 +1,25 @@ #include "libslic3r/CAD/GeometryEngine.hpp" +#include "libslic3r/Point.hpp" +#include "libslic3r/TriangleMesh.hpp" #include #include #include #include +#include +#include +#include +#include +#include +#include +#include +#include +#include #include #include #include +#include +#include #include #include #include @@ -43,6 +56,9 @@ #include #include #include +#include +#include +#include namespace Slic3r { diff --git a/src/libslic3r/CAD/GeometryEngine.hpp b/src/libslic3r/CAD/GeometryEngine.hpp index f27a0f2f17..6c0fb51daf 100644 --- a/src/libslic3r/CAD/GeometryEngine.hpp +++ b/src/libslic3r/CAD/GeometryEngine.hpp @@ -1,6 +1,7 @@ #ifndef slic3r_GeometryEngine_hpp_ #define slic3r_GeometryEngine_hpp_ +#include "libslic3r/Point.hpp" #include "libslic3r/TriangleMesh.hpp" #include @@ -8,6 +9,8 @@ #include #include #include +#include +#include #include #include #include diff --git a/src/libslic3r/CAD/SketchConstraints.cpp b/src/libslic3r/CAD/SketchConstraints.cpp index 003afb4d63..acc82a0e42 100644 --- a/src/libslic3r/CAD/SketchConstraints.cpp +++ b/src/libslic3r/CAD/SketchConstraints.cpp @@ -1,6 +1,11 @@ #include "libslic3r/CAD/SketchConstraints.hpp" +#include "libslic3r/Point.hpp" +#include #include +#include #include +#include +#include namespace Slic3r { diff --git a/src/libslic3r/CAD/SketchConstraints.hpp b/src/libslic3r/CAD/SketchConstraints.hpp index 88bcadc403..10c3efacc4 100644 --- a/src/libslic3r/CAD/SketchConstraints.hpp +++ b/src/libslic3r/CAD/SketchConstraints.hpp @@ -2,6 +2,7 @@ #define slic3r_SketchConstraints_hpp_ #include "libslic3r/Point.hpp" +#include #include #include diff --git a/src/libslic3r/CAD/SketchEngine.cpp b/src/libslic3r/CAD/SketchEngine.cpp index 5cc36ce648..ba92fa88bb 100644 --- a/src/libslic3r/CAD/SketchEngine.cpp +++ b/src/libslic3r/CAD/SketchEngine.cpp @@ -1,7 +1,18 @@ #include "libslic3r/CAD/SketchEngine.hpp" +#include "libslic3r/Point.hpp" +#include "libslic3r/TriangleMesh.hpp" +#include +#include +#include +#include +#include +#include +#include +#include #include #include +#include #include #include @@ -47,8 +58,11 @@ #include #include #include +#include #include #include +#include +#include namespace Slic3r { diff --git a/src/libslic3r/CAD/SketchImport.cpp b/src/libslic3r/CAD/SketchImport.cpp index 7140776603..32bcc608d3 100644 --- a/src/libslic3r/CAD/SketchImport.cpp +++ b/src/libslic3r/CAD/SketchImport.cpp @@ -1,5 +1,8 @@ #include "libslic3r/CAD/SketchImport.hpp" +#include "libslic3r/Polygon.hpp" +#include "libslic3r/Point.hpp" +#include "libslic3r/EmbossShape.hpp" #include "libslic3r/Emboss.hpp" #include "libslic3r/NSVGUtils.hpp" #include "libslic3r/ExPolygon.hpp" @@ -9,6 +12,11 @@ #include #include +#include +#include +#include +#include +#include namespace Slic3r { diff --git a/src/libslic3r/CAD/SketchInference.cpp b/src/libslic3r/CAD/SketchInference.cpp index cfeb2cd509..eca56ee5c1 100644 --- a/src/libslic3r/CAD/SketchInference.cpp +++ b/src/libslic3r/CAD/SketchInference.cpp @@ -1,7 +1,13 @@ #include "libslic3r/CAD/SketchInference.hpp" +#include "libslic3r/CAD/SketchEngine.hpp" +#include "libslic3r/Point.hpp" #include #include +#include +#include +#include +#include namespace Slic3r { diff --git a/src/libslic3r/CAD/SketchInference.hpp b/src/libslic3r/CAD/SketchInference.hpp index be51f0240e..eb30af184a 100644 --- a/src/libslic3r/CAD/SketchInference.hpp +++ b/src/libslic3r/CAD/SketchInference.hpp @@ -1,7 +1,9 @@ #ifndef slic3r_SketchInference_hpp_ #define slic3r_SketchInference_hpp_ +#include "libslic3r/Point.hpp" #include "libslic3r/CAD/SketchEngine.hpp" +#include #include #include #include diff --git a/src/libslic3r/CAD/SketchSolver.cpp b/src/libslic3r/CAD/SketchSolver.cpp index 952f9de16f..03033d061e 100644 --- a/src/libslic3r/CAD/SketchSolver.cpp +++ b/src/libslic3r/CAD/SketchSolver.cpp @@ -1,5 +1,7 @@ #include "libslic3r/CAD/SketchSolver.hpp" +#include "libslic3r/CAD/SketchEngine.hpp" +#include #include #include @@ -7,6 +9,8 @@ #include #include #include +#include +#include namespace Slic3r { diff --git a/src/libslic3r/CAD/ThreadStandards.cpp b/src/libslic3r/CAD/ThreadStandards.cpp index 2d113d01e6..11b6b24d8f 100644 --- a/src/libslic3r/CAD/ThreadStandards.cpp +++ b/src/libslic3r/CAD/ThreadStandards.cpp @@ -1,4 +1,6 @@ #include "libslic3r/CAD/ThreadStandards.hpp" +#include +#include namespace Slic3r { diff --git a/src/libslic3r/CSGMesh/CSGMesh.hpp b/src/libslic3r/CSGMesh/CSGMesh.hpp index ea16eae52a..bb5060b0d3 100644 --- a/src/libslic3r/CSGMesh/CSGMesh.hpp +++ b/src/libslic3r/CSGMesh/CSGMesh.hpp @@ -2,7 +2,11 @@ #define CSGMESH_HPP #include +#include +#include #include +#include +#include namespace Slic3r { namespace csg { diff --git a/src/libslic3r/CSGMesh/CSGMeshCopy.hpp b/src/libslic3r/CSGMesh/CSGMeshCopy.hpp index 78800f9bbb..f00b24b535 100644 --- a/src/libslic3r/CSGMesh/CSGMeshCopy.hpp +++ b/src/libslic3r/CSGMesh/CSGMeshCopy.hpp @@ -1,7 +1,11 @@ #ifndef CSGMESHCOPY_HPP #define CSGMESHCOPY_HPP +#include "libslic3r/AnyPtr.hpp" #include "CSGMesh.hpp" +#include "libslic3r/libslic3r.h" +#include +#include namespace Slic3r { namespace csg { diff --git a/src/libslic3r/CSGMesh/ModelToCSGMesh.hpp b/src/libslic3r/CSGMesh/ModelToCSGMesh.hpp index 5963b29109..2dcd2eef2e 100644 --- a/src/libslic3r/CSGMesh/ModelToCSGMesh.hpp +++ b/src/libslic3r/CSGMesh/ModelToCSGMesh.hpp @@ -3,9 +3,13 @@ #include "CSGMesh.hpp" +#include "libslic3r/Point.hpp" +#include "libslic3r/TriangleMesh.hpp" #include "libslic3r/Model.hpp" #include "libslic3r/SLA/Hollowing.hpp" #include "libslic3r/MeshSplitImpl.hpp" +#include +#include namespace Slic3r { namespace csg { diff --git a/src/libslic3r/CSGMesh/PerformCSGMeshBooleans.hpp b/src/libslic3r/CSGMesh/PerformCSGMeshBooleans.hpp index df4a603382..091621ab84 100644 --- a/src/libslic3r/CSGMesh/PerformCSGMeshBooleans.hpp +++ b/src/libslic3r/CSGMesh/PerformCSGMeshBooleans.hpp @@ -1,11 +1,17 @@ #ifndef PERFORMCSGMESHBOOLEANS_HPP #define PERFORMCSGMESHBOOLEANS_HPP +#include #include +#include +#include #include +#include + #include "CSGMesh.hpp" +#include "libslic3r/libslic3r.h" #include "libslic3r/Execution/ExecutionTBB.hpp" //#include "libslic3r/Execution/ExecutionSeq.hpp" #include "libslic3r/MeshBoolean.hpp" diff --git a/src/libslic3r/CSGMesh/SliceCSGMesh.hpp b/src/libslic3r/CSGMesh/SliceCSGMesh.hpp index 9d7b9a077d..165e9af2b6 100644 --- a/src/libslic3r/CSGMesh/SliceCSGMesh.hpp +++ b/src/libslic3r/CSGMesh/SliceCSGMesh.hpp @@ -3,8 +3,16 @@ #include "CSGMesh.hpp" +#include +#include +#include #include +#include +#include +#include "libslic3r/ExPolygon.hpp" +#include "libslic3r/libslic3r.h" +#include "libslic3r/Execution/Execution.hpp" #include "libslic3r/TriangleMeshSlicer.hpp" #include "libslic3r/ClipperUtils.hpp" #include "libslic3r/Execution/ExecutionTBB.hpp" diff --git a/src/libslic3r/CSGMesh/TriangleMeshAdapter.hpp b/src/libslic3r/CSGMesh/TriangleMeshAdapter.hpp index 81b05b0463..d5586823fb 100644 --- a/src/libslic3r/CSGMesh/TriangleMeshAdapter.hpp +++ b/src/libslic3r/CSGMesh/TriangleMeshAdapter.hpp @@ -3,6 +3,7 @@ #include "CSGMesh.hpp" +#include "libslic3r/Point.hpp" #include "libslic3r/TriangleMesh.hpp" namespace Slic3r { namespace csg { diff --git a/src/libslic3r/Channel.hpp b/src/libslic3r/Channel.hpp index 68369af638..8ed9da9a88 100644 --- a/src/libslic3r/Channel.hpp +++ b/src/libslic3r/Channel.hpp @@ -1,6 +1,9 @@ #ifndef slic3r_Channel_hpp_ #define slic3r_Channel_hpp_ +#include +#include +#include #include #include #include diff --git a/src/libslic3r/Circle.cpp b/src/libslic3r/Circle.cpp index c277a67795..8d09ba8f89 100644 --- a/src/libslic3r/Circle.cpp +++ b/src/libslic3r/Circle.cpp @@ -2,8 +2,14 @@ #include #include +#include +#include +#include #include "Geometry.hpp" +#include "Point.hpp" +#include "Line.hpp" #include "Polygon.hpp" +#include "libslic3r.h" //BBS: Refer to ArcWelderLib for the arc fitting functions diff --git a/src/libslic3r/Circle.hpp b/src/libslic3r/Circle.hpp index c06b197e19..388c7488ea 100644 --- a/src/libslic3r/Circle.hpp +++ b/src/libslic3r/Circle.hpp @@ -3,6 +3,8 @@ #include "Point.hpp" #include "Line.hpp" +#include "libslic3r.h" +#include namespace Slic3r { diff --git a/src/libslic3r/ClipperUtils.cpp b/src/libslic3r/ClipperUtils.cpp index 8770603784..d19f6904df 100644 --- a/src/libslic3r/ClipperUtils.cpp +++ b/src/libslic3r/ClipperUtils.cpp @@ -1,5 +1,9 @@ #include #include +#include +#include +#include +#include #include #include #include @@ -8,10 +12,20 @@ #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/ClipperUtils.hpp b/src/libslic3r/ClipperUtils.hpp index 52e0abab9c..1a23746d3d 100644 --- a/src/libslic3r/ClipperUtils.hpp +++ b/src/libslic3r/ClipperUtils.hpp @@ -1,11 +1,18 @@ #ifndef slic3r_ClipperUtils_hpp_ #define slic3r_ClipperUtils_hpp_ +#include "Point.hpp" +#include "Polyline.hpp" +#include "Line.hpp" #include "libslic3r.h" #include "BoundingBox.hpp" #include "ExPolygon.hpp" #include "Polygon.hpp" #include "Surface.hpp" +#include +#include +#include +#include namespace Slic3r { 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/Color.cpp b/src/libslic3r/Color.cpp index d7208d40fc..bb08b7c75b 100644 --- a/src/libslic3r/Color.cpp +++ b/src/libslic3r/Color.cpp @@ -1,7 +1,15 @@ #include "libslic3r.h" #include "Color.hpp" +#include +#include +#include +#include +#include +#include #include +#include +#include static const float INV_255 = 1.0f / 255.0f; diff --git a/src/libslic3r/ColorDecomposeRecipe.cpp b/src/libslic3r/ColorDecomposeRecipe.cpp index f2ceb1860a..6aa09f01d2 100644 --- a/src/libslic3r/ColorDecomposeRecipe.cpp +++ b/src/libslic3r/ColorDecomposeRecipe.cpp @@ -9,7 +9,9 @@ #include #include #include +#include #include +#include namespace Slic3r { namespace { diff --git a/src/libslic3r/Config.cpp b/src/libslic3r/Config.cpp index df2030b575..38c5b30118 100644 --- a/src/libslic3r/Config.cpp +++ b/src/libslic3r/Config.cpp @@ -1,4 +1,6 @@ #include "Config.hpp" +#include "Exception.hpp" +#include "Point.hpp" #include "format.hpp" #include "Utils.hpp" #include "LocalesUtils.hpp" @@ -6,7 +8,20 @@ #include #include +#include +#include +#include +#include +#include +#include #include +#include +#include +#include +#include +#include +#include +#include #include #include #include @@ -26,8 +41,15 @@ #include #include #include +#include #include +#include +#include +#include +#include //BBS: add json support +#include "libslic3r.h" +#include "libslic3r_version.h" #include "nlohmann/json.hpp" using namespace nlohmann; diff --git a/src/libslic3r/Config.hpp b/src/libslic3r/Config.hpp index 9818887c1d..9d76262ec6 100644 --- a/src/libslic3r/Config.hpp +++ b/src/libslic3r/Config.hpp @@ -3,6 +3,11 @@ #include #include +#include +#include +#include +#include +#include #include #include #include @@ -10,10 +15,15 @@ #include #include #include +#include #include +#include +#include #include #include +#include #include +#include "LocalesUtils.hpp" #include "libslic3r.h" #include "clonable_ptr.hpp" #include "Exception.hpp" diff --git a/src/libslic3r/ContourZ.cpp b/src/libslic3r/ContourZ.cpp index f4a5fc049a..8751bcca58 100644 --- a/src/libslic3r/ContourZ.cpp +++ b/src/libslic3r/ContourZ.cpp @@ -2,14 +2,18 @@ #include "ExtrusionEntity.hpp" #include "ExtrusionEntityCollection.hpp" #include "Layer.hpp" +#include "Line.hpp" #include "Point.hpp" #include "Print.hpp" #include "SLA/IndexedMesh.hpp" #include "libslic3r.h" +#include #include #include #include +#include #include +#include namespace Slic3r { diff --git a/src/libslic3r/CustomGCode.cpp b/src/libslic3r/CustomGCode.cpp index acd7089c05..a78bc2a111 100644 --- a/src/libslic3r/CustomGCode.cpp +++ b/src/libslic3r/CustomGCode.cpp @@ -2,6 +2,10 @@ #include "Config.hpp" #include "GCode.hpp" #include "GCodeWriter.hpp" +#include +#include +#include +#include namespace Slic3r { diff --git a/src/libslic3r/CustomGCode.hpp b/src/libslic3r/CustomGCode.hpp index 7d8c7d9982..a4ed244dc5 100644 --- a/src/libslic3r/CustomGCode.hpp +++ b/src/libslic3r/CustomGCode.hpp @@ -1,7 +1,10 @@ #ifndef slic3r_CustomGCode_hpp_ #define slic3r_CustomGCode_hpp_ +#include +#include #include +#include #include #include diff --git a/src/libslic3r/CutSurface.cpp b/src/libslic3r/CutSurface.cpp index dbf737e3ed..8967f6c2ba 100644 --- a/src/libslic3r/CutSurface.cpp +++ b/src/libslic3r/CutSurface.cpp @@ -1,4 +1,38 @@ #include "CutSurface.hpp" +#include "libslic3r/Emboss.hpp" +#include +#include +#include +#include "libslic3r/Point.hpp" +#include "libslic3r/ExPolygon.hpp" +#include +#include +#include +#include +#include "libslic3r/BoundingBox.hpp" +#include +#include "libslic3r/Polygon.hpp" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "libslic3r/AABBTreeIndirect.hpp" +#include +#include "libslic3r/libslic3r.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include /// models_input.obj - Check transormation of model to each others /// projection_center.obj - circle representing center of projection with correct distance diff --git a/src/libslic3r/CutSurface.hpp b/src/libslic3r/CutSurface.hpp index 9f4e3159cf..33b0d88697 100644 --- a/src/libslic3r/CutSurface.hpp +++ b/src/libslic3r/CutSurface.hpp @@ -1,6 +1,8 @@ #ifndef slic3r_CutSurface_hpp_ #define slic3r_CutSurface_hpp_ +#include "libslic3r/BoundingBox.hpp" +#include #include #include // indexed_triangle_set #include "ExPolygon.hpp" diff --git a/src/libslic3r/CutUtils.cpp b/src/libslic3r/CutUtils.cpp index f8b1483773..e5cb3cc6f1 100644 --- a/src/libslic3r/CutUtils.cpp +++ b/src/libslic3r/CutUtils.cpp @@ -1,13 +1,24 @@ #include "CutUtils.hpp" #include "Geometry.hpp" +#include "Point.hpp" +#include "TriangleMesh.hpp" #include "libslic3r.h" #include "Model.hpp" #include "TriangleMeshSlicer.hpp" #include "TriangleSelector.hpp" #include "ObjectID.hpp" +#include #include +#include +#include +#include +#include +#include +#include +#include +#include namespace Slic3r { diff --git a/src/libslic3r/CutUtils.hpp b/src/libslic3r/CutUtils.hpp index b7f31d7b9a..37f30308b6 100644 --- a/src/libslic3r/CutUtils.hpp +++ b/src/libslic3r/CutUtils.hpp @@ -5,6 +5,7 @@ #include "Point.hpp" #include "Model.hpp" +#include #include namespace Slic3r { diff --git a/src/libslic3r/EdgeGrid.cpp b/src/libslic3r/EdgeGrid.cpp index 93bf7d48ec..c6e003505a 100644 --- a/src/libslic3r/EdgeGrid.cpp +++ b/src/libslic3r/EdgeGrid.cpp @@ -1,10 +1,21 @@ #include +#include +#include +#include +#include +#include +#include #include #include #include #include +#include "Polygon.hpp" +#include "Point.hpp" +#include "Polyline.hpp" +#include "ExPolygon.hpp" +#include "Line.hpp" #include "libslic3r.h" #include "ClipperUtils.hpp" #include "EdgeGrid.hpp" diff --git a/src/libslic3r/EdgeGrid.hpp b/src/libslic3r/EdgeGrid.hpp index 6bbed1e9fa..971d23ead6 100644 --- a/src/libslic3r/EdgeGrid.hpp +++ b/src/libslic3r/EdgeGrid.hpp @@ -1,12 +1,24 @@ #ifndef slic3r_EdgeGrid_hpp_ #define slic3r_EdgeGrid_hpp_ +#include +#include +#include +#include +#include #include #include +#include +#include +#include +#include "Line.hpp" #include "Point.hpp" #include "BoundingBox.hpp" #include "ExPolygon.hpp" +#include "libslic3r.h" +#include "Polygon.hpp" +#include "Polyline.hpp" namespace Slic3r { namespace EdgeGrid { 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/Emboss.cpp b/src/libslic3r/Emboss.cpp index 80a9274fd0..ae13cbf54e 100644 --- a/src/libslic3r/Emboss.cpp +++ b/src/libslic3r/Emboss.cpp @@ -1,12 +1,35 @@ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include #include #include "Emboss.hpp" +#include #include #include #include #include #include #include // union_ex + for boldness(polygon extend(offset)) +#include "ExPolygon.hpp" +#include +#include "AABBTreeIndirect.hpp" +#include +#include "EmbossShape.hpp" +#include #include "IntersectionPoints.hpp" +#include "Polygon.hpp" +#include "TextConfiguration.hpp" +#include "Point.hpp" #define STB_TRUETYPE_IMPLEMENTATION // force following include to generate implementation #include "imgui/imstb_truetype.h" // stbtt_fontinfo diff --git a/src/libslic3r/Emboss.hpp b/src/libslic3r/Emboss.hpp index 2d445fcc6c..9b7beafec7 100644 --- a/src/libslic3r/Emboss.hpp +++ b/src/libslic3r/Emboss.hpp @@ -1,11 +1,19 @@ #ifndef slic3r_Emboss_hpp_ #define slic3r_Emboss_hpp_ +#include +#include +#include +#include +#include +#include +#include #include #include #include #include #include // indexed_triangle_set +#include "Point.hpp" #include "Polygon.hpp" #include "ExPolygon.hpp" #include "EmbossShape.hpp" // ExPolygonsWithIds diff --git a/src/libslic3r/EmbossShape.hpp b/src/libslic3r/EmbossShape.hpp index 3e4a950037..490844bdef 100644 --- a/src/libslic3r/EmbossShape.hpp +++ b/src/libslic3r/EmbossShape.hpp @@ -9,9 +9,11 @@ #include #include #include +#include #include "Point.hpp" // Transform3d #include "ExPolygon.hpp" #include "ExPolygonSerialize.hpp" +#include "libslic3r.h" #include "nanosvg/nanosvg.h" // NSVGimage namespace Slic3r { diff --git a/src/libslic3r/ExPolygon.cpp b/src/libslic3r/ExPolygon.cpp index 185e925084..f34b07b7cb 100644 --- a/src/libslic3r/ExPolygon.cpp +++ b/src/libslic3r/ExPolygon.cpp @@ -2,13 +2,23 @@ #include "ExPolygon.hpp" #include "Exception.hpp" #include "Geometry/MedialAxis.hpp" +#include "Point.hpp" +#include "MultiPoint.hpp" #include "Polygon.hpp" #include "Line.hpp" #include "ClipperUtils.hpp" +#include "Polyline.hpp" #include "SVG.hpp" +#include "libslic3r.h" #include #include +#include +#include +#include +#include #include +#include +#include namespace Slic3r { diff --git a/src/libslic3r/ExPolygon.hpp b/src/libslic3r/ExPolygon.hpp index ce7ebe892f..d695171d1e 100644 --- a/src/libslic3r/ExPolygon.hpp +++ b/src/libslic3r/ExPolygon.hpp @@ -1,10 +1,17 @@ #ifndef slic3r_ExPolygon_hpp_ #define slic3r_ExPolygon_hpp_ +#include "Line.hpp" #include "Point.hpp" #include "libslic3r.h" #include "Polygon.hpp" #include "Polyline.hpp" +#include +#include +#include +#include +#include +#include #include namespace Slic3r { diff --git a/src/libslic3r/ExPolygonCollection.hpp b/src/libslic3r/ExPolygonCollection.hpp index 35e1eef4eb..ecef053ebc 100644 --- a/src/libslic3r/ExPolygonCollection.hpp +++ b/src/libslic3r/ExPolygonCollection.hpp @@ -1,10 +1,13 @@ #ifndef slic3r_ExPolygonCollection_hpp_ #define slic3r_ExPolygonCollection_hpp_ +#include "Point.hpp" +#include "Polygon.hpp" #include "libslic3r.h" #include "ExPolygon.hpp" #include "Line.hpp" #include "Polyline.hpp" +#include namespace Slic3r { diff --git a/src/libslic3r/ExPolygonSerialize.hpp b/src/libslic3r/ExPolygonSerialize.hpp index 712d4706d5..58d12093e6 100644 --- a/src/libslic3r/ExPolygonSerialize.hpp +++ b/src/libslic3r/ExPolygonSerialize.hpp @@ -3,6 +3,7 @@ #include "ExPolygon.hpp" #include "Point.hpp" // Cereal serialization of Point +#include "Polygon.hpp" #include #include diff --git a/src/libslic3r/ExPolygonsIndex.cpp b/src/libslic3r/ExPolygonsIndex.cpp index 976531799f..296d43a198 100644 --- a/src/libslic3r/ExPolygonsIndex.cpp +++ b/src/libslic3r/ExPolygonsIndex.cpp @@ -1,4 +1,10 @@ #include "ExPolygonsIndex.hpp" +#include "ExPolygon.hpp" +#include +#include +#include +#include +#include using namespace Slic3r; // IMPROVE: use one dimensional vector for polygons offset with searching by std::lower_bound diff --git a/src/libslic3r/ExPolygonsIndex.hpp b/src/libslic3r/ExPolygonsIndex.hpp index b46fd50890..317fb5f731 100644 --- a/src/libslic3r/ExPolygonsIndex.hpp +++ b/src/libslic3r/ExPolygonsIndex.hpp @@ -2,6 +2,8 @@ #define slic3r_ExPolygonsIndex_hpp_ #include "ExPolygon.hpp" +#include +#include namespace Slic3r { /// diff --git a/src/libslic3r/Exception.hpp b/src/libslic3r/Exception.hpp index d271a25052..5297af8ff2 100644 --- a/src/libslic3r/Exception.hpp +++ b/src/libslic3r/Exception.hpp @@ -1,7 +1,9 @@ #ifndef _libslic3r_Exception_h_ #define _libslic3r_Exception_h_ +#include #include +#include #include namespace Slic3r { diff --git a/src/libslic3r/Execution/Execution.hpp b/src/libslic3r/Execution/Execution.hpp index 62e49cfeb3..9620d9b11d 100644 --- a/src/libslic3r/Execution/Execution.hpp +++ b/src/libslic3r/Execution/Execution.hpp @@ -1,6 +1,7 @@ #ifndef EXECUTION_HPP #define EXECUTION_HPP +#include #include #include #include diff --git a/src/libslic3r/Execution/ExecutionSeq.hpp b/src/libslic3r/Execution/ExecutionSeq.hpp index 321d65631b..56afa6aaf4 100644 --- a/src/libslic3r/Execution/ExecutionSeq.hpp +++ b/src/libslic3r/Execution/ExecutionSeq.hpp @@ -1,6 +1,9 @@ #ifndef EXECUTIONSEQ_HPP #define EXECUTIONSEQ_HPP +#include +#include "libslic3r/libslic3r.h" +#include #ifdef PRUSASLICER_USE_EXECUTION_STD // Conflicts with our version of TBB #include #endif diff --git a/src/libslic3r/Execution/ExecutionTBB.hpp b/src/libslic3r/Execution/ExecutionTBB.hpp index 2250b8e322..4881c7b59c 100644 --- a/src/libslic3r/Execution/ExecutionTBB.hpp +++ b/src/libslic3r/Execution/ExecutionTBB.hpp @@ -1,14 +1,17 @@ #ifndef EXECUTIONTBB_HPP #define EXECUTIONTBB_HPP +#include #include #include #include #include #include +#include #include "Execution.hpp" +#include "libslic3r/libslic3r.h" namespace Slic3r { diff --git a/src/libslic3r/Extruder.cpp b/src/libslic3r/Extruder.cpp index b1b6ca347a..bffdf6771c 100644 --- a/src/libslic3r/Extruder.cpp +++ b/src/libslic3r/Extruder.cpp @@ -1,5 +1,11 @@ #include "Extruder.hpp" +#include "Exception.hpp" #include "PrintConfig.hpp" +#include +#include "libslic3r.h" +#include +#include +#include namespace Slic3r { diff --git a/src/libslic3r/Extruder.hpp b/src/libslic3r/Extruder.hpp index aa023ea040..94e083c86b 100644 --- a/src/libslic3r/Extruder.hpp +++ b/src/libslic3r/Extruder.hpp @@ -3,6 +3,7 @@ #include "libslic3r.h" #include "Point.hpp" +#include namespace Slic3r { diff --git a/src/libslic3r/ExtrusionEntity.cpp b/src/libslic3r/ExtrusionEntity.cpp index bd45150a15..a3590814f7 100644 --- a/src/libslic3r/ExtrusionEntity.cpp +++ b/src/libslic3r/ExtrusionEntity.cpp @@ -4,10 +4,23 @@ #include "ClipperUtils.hpp" #include "Extruder.hpp" #include "Flow.hpp" +#include +#include #include +#include +#include #include #include +#include "Point.hpp" +#include "Polyline.hpp" +#include "Polygon.hpp" +#include +#include +#include "Line.hpp" +#include +#include #include "Utils.hpp" +#include "libslic3r.h" #define L(s) (s) diff --git a/src/libslic3r/ExtrusionEntity.hpp b/src/libslic3r/ExtrusionEntity.hpp index de80247bce..d7dac99364 100644 --- a/src/libslic3r/ExtrusionEntity.hpp +++ b/src/libslic3r/ExtrusionEntity.hpp @@ -1,13 +1,19 @@ #ifndef slic3r_ExtrusionEntity_hpp_ #define slic3r_ExtrusionEntity_hpp_ +#include "Point.hpp" #include "libslic3r.h" #include "Polygon.hpp" #include "Polyline.hpp" #include +#include +#include +#include #include #include +#include +#include namespace Slic3r { diff --git a/src/libslic3r/ExtrusionEntityCollection.cpp b/src/libslic3r/ExtrusionEntityCollection.cpp index 9a37ff3ac1..0141e3d5e8 100644 --- a/src/libslic3r/ExtrusionEntityCollection.cpp +++ b/src/libslic3r/ExtrusionEntityCollection.cpp @@ -1,7 +1,12 @@ #include "ExtrusionEntityCollection.hpp" +#include "ExtrusionEntity.hpp" +#include "Point.hpp" +#include "Polygon.hpp" #include "ShortestPath.hpp" #include #include +#include +#include #include namespace Slic3r { diff --git a/src/libslic3r/ExtrusionEntityCollection.hpp b/src/libslic3r/ExtrusionEntityCollection.hpp index 13727869fe..664ad1ddcd 100644 --- a/src/libslic3r/ExtrusionEntityCollection.hpp +++ b/src/libslic3r/ExtrusionEntityCollection.hpp @@ -1,9 +1,16 @@ #ifndef slic3r_ExtrusionEntityCollection_hpp_ #define slic3r_ExtrusionEntityCollection_hpp_ +#include "Point.hpp" +#include "Polygon.hpp" +#include "Polyline.hpp" #include "libslic3r.h" #include "Exception.hpp" #include "ExtrusionEntity.hpp" +#include +#include +#include +#include namespace Slic3r { diff --git a/src/libslic3r/ExtrusionSimulator.cpp b/src/libslic3r/ExtrusionSimulator.cpp index 4bf54edea9..bb9179a7e2 100644 --- a/src/libslic3r/ExtrusionSimulator.cpp +++ b/src/libslic3r/ExtrusionSimulator.cpp @@ -3,6 +3,9 @@ //#undef SLIC3R_DEBUG //#define NDEBUG +#include +#include +#include #include #include @@ -12,7 +15,14 @@ #include #include +#include +#include +#include +#include +#include "Point.hpp" +#include "BoundingBox.hpp" +#include "ExtrusionEntity.hpp" #include "libslic3r.h" #include "ExtrusionSimulator.hpp" diff --git a/src/libslic3r/ExtrusionSimulator.hpp b/src/libslic3r/ExtrusionSimulator.hpp index 040406766d..33629d79e6 100644 --- a/src/libslic3r/ExtrusionSimulator.hpp +++ b/src/libslic3r/ExtrusionSimulator.hpp @@ -1,6 +1,7 @@ #ifndef slic3r_ExtrusionSimulator_hpp_ #define slic3r_ExtrusionSimulator_hpp_ +#include "Point.hpp" #include "libslic3r.h" #include "ExtrusionEntity.hpp" #include "BoundingBox.hpp" diff --git a/src/libslic3r/FaceDetector.cpp b/src/libslic3r/FaceDetector.cpp index 5eb5ca762c..a631822d9e 100644 --- a/src/libslic3r/FaceDetector.cpp +++ b/src/libslic3r/FaceDetector.cpp @@ -1,8 +1,13 @@ #include "FaceDetector.hpp" +#include "BoundingBox.hpp" #include "TriangleMesh.hpp" #include "SLA/IndexedMesh.hpp" #include "Model.hpp" +#include +#include #include +#include +#include namespace Slic3r { static const double BBOX_OFFSET = 2.0; diff --git a/src/libslic3r/FaceDetector.hpp b/src/libslic3r/FaceDetector.hpp index b4d9d78985..190877ecec 100644 --- a/src/libslic3r/FaceDetector.hpp +++ b/src/libslic3r/FaceDetector.hpp @@ -2,6 +2,7 @@ #define slic3r_FaceDetector_hpp_ #include "Point.hpp" +#include namespace Slic3r { class ModelObject; diff --git a/src/libslic3r/Feature/FuzzySkin/FuzzySkin.cpp b/src/libslic3r/Feature/FuzzySkin/FuzzySkin.cpp index be86e92245..c580cc3c0f 100644 --- a/src/libslic3r/Feature/FuzzySkin/FuzzySkin.cpp +++ b/src/libslic3r/Feature/FuzzySkin/FuzzySkin.cpp @@ -1,5 +1,19 @@ +#include +#include +#include +#include +#include +#include +#include +#include +#include #include +#include +#include +#include +#include "libslic3r/libslic3r.h" +#include "libslic3r/Surface.hpp" #include "libslic3r/Algorithm/LineSplit.hpp" #include "libslic3r/Arachne/utils/ExtrusionJunction.hpp" #include "libslic3r/Arachne/utils/ExtrusionLine.hpp" diff --git a/src/libslic3r/Feature/FuzzySkin/FuzzySkin.hpp b/src/libslic3r/Feature/FuzzySkin/FuzzySkin.hpp index ab0c491b38..ec5069a49c 100644 --- a/src/libslic3r/Feature/FuzzySkin/FuzzySkin.hpp +++ b/src/libslic3r/Feature/FuzzySkin/FuzzySkin.hpp @@ -1,9 +1,13 @@ #ifndef libslic3r_FuzzySkin_hpp_ #define libslic3r_FuzzySkin_hpp_ +#include "libslic3r/Point.hpp" +#include "libslic3r/libslic3r.h" +#include "libslic3r/Polygon.hpp" #include "libslic3r/Arachne/utils/ExtrusionJunction.hpp" #include "libslic3r/Arachne/utils/ExtrusionLine.hpp" #include "libslic3r/PerimeterGenerator.hpp" +#include namespace Slic3r::Feature::FuzzySkin { diff --git a/src/libslic3r/Feature/Interlocking/InterlockingGenerator.cpp b/src/libslic3r/Feature/Interlocking/InterlockingGenerator.cpp index 726ee2ffd8..9e2fb7fa47 100644 --- a/src/libslic3r/Feature/Interlocking/InterlockingGenerator.cpp +++ b/src/libslic3r/Feature/Interlocking/InterlockingGenerator.cpp @@ -2,8 +2,22 @@ // CuraEngine is released under the terms of the AGPLv3 or higher. #include "InterlockingGenerator.hpp" +#include "libslic3r/Feature/Interlocking/VoxelUtils.hpp" +#include "libslic3r/libslic3r.h" +#include "libslic3r/Geometry.hpp" +#include "libslic3r/Point.hpp" +#include "libslic3r/Flow.hpp" +#include "libslic3r/Polygon.hpp" +#include "libslic3r/Surface.hpp" +#include "libslic3r/ExPolygon.hpp" #include "libslic3r/ClipperUtils.hpp" #include "Layer.hpp" +#include +#include +#include +#include +#include +#include namespace std { template<> struct hash diff --git a/src/libslic3r/Feature/Interlocking/InterlockingGenerator.hpp b/src/libslic3r/Feature/Interlocking/InterlockingGenerator.hpp index e6b79f9bc8..b06c8a10c8 100644 --- a/src/libslic3r/Feature/Interlocking/InterlockingGenerator.hpp +++ b/src/libslic3r/Feature/Interlocking/InterlockingGenerator.hpp @@ -4,8 +4,16 @@ #ifndef INTERLOCKING_GENERATOR_HPP #define INTERLOCKING_GENERATOR_HPP +#include "libslic3r/libslic3r.h" +#include "libslic3r/Point.hpp" +#include "libslic3r/ExPolygon.hpp" #include "libslic3r/Print.hpp" #include "VoxelUtils.hpp" +#include +#include +#include +#include +#include namespace Slic3r { diff --git a/src/libslic3r/Feature/Interlocking/VoxelUtils.cpp b/src/libslic3r/Feature/Interlocking/VoxelUtils.cpp index 303473ae48..6e33ddaca7 100644 --- a/src/libslic3r/Feature/Interlocking/VoxelUtils.cpp +++ b/src/libslic3r/Feature/Interlocking/VoxelUtils.cpp @@ -2,9 +2,21 @@ // CuraEngine is released under the terms of the AGPLv3 or higher. #include "VoxelUtils.hpp" +#include "libslic3r/libslic3r.h" +#include "libslic3r/Point.hpp" +#include "libslic3r/ExPolygon.hpp" +#include "libslic3r/Polygon.hpp" +#include "libslic3r/Fill/FillBase.hpp" +#include "libslic3r/PrintConfig.hpp" +#include "libslic3r/Polyline.hpp" #include "libslic3r/Geometry.hpp" #include "libslic3r/Fill/FillRectilinear.hpp" #include "libslic3r/Surface.hpp" +#include +#include +#include +#include +#include namespace Slic3r { diff --git a/src/libslic3r/Feature/Interlocking/VoxelUtils.hpp b/src/libslic3r/Feature/Interlocking/VoxelUtils.hpp index 0348b69598..dc571c06ea 100644 --- a/src/libslic3r/Feature/Interlocking/VoxelUtils.hpp +++ b/src/libslic3r/Feature/Interlocking/VoxelUtils.hpp @@ -4,8 +4,13 @@ #ifndef UTILS_VOXEL_UTILS_H #define UTILS_VOXEL_UTILS_H +#include +#include #include +#include +#include "libslic3r/Point.hpp" +#include "libslic3r/libslic3r.h" #include "libslic3r/Polygon.hpp" #include "libslic3r/ExPolygon.hpp" diff --git a/src/libslic3r/FilamentGroup.cpp b/src/libslic3r/FilamentGroup.cpp index 07a4cc2449..5536a13282 100644 --- a/src/libslic3r/FilamentGroup.cpp +++ b/src/libslic3r/FilamentGroup.cpp @@ -1,11 +1,34 @@ #include "FilamentGroup.hpp" +#include "FilamentGroupUtils.hpp" #include "GCode/ToolOrderUtils.hpp" #include "FlushVolPredictor.hpp" +#include "MultiNozzleUtils.hpp" +#include "PrintConfig.hpp" +#include "libslic3r.h" #include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include #include #include +#include #include #include +#include +#include +#include +#include +#include namespace Slic3r { diff --git a/src/libslic3r/FilamentGroup.hpp b/src/libslic3r/FilamentGroup.hpp index 9172685bee..b090a22fe0 100644 --- a/src/libslic3r/FilamentGroup.hpp +++ b/src/libslic3r/FilamentGroup.hpp @@ -2,14 +2,21 @@ #define FILAMENT_GROUP_HPP #include +#include #include #include +#include #include #include +#include +#include +#include #include #include #include "GCode/ToolOrderUtils.hpp" #include "FilamentGroupUtils.hpp" +#include "PrintConfig.hpp" +#include "MultiNozzleUtils.hpp" const static int DEFAULT_CLUSTER_SIZE = 16; diff --git a/src/libslic3r/FilamentGroupUtils.cpp b/src/libslic3r/FilamentGroupUtils.cpp index c0cd747025..7402341806 100644 --- a/src/libslic3r/FilamentGroupUtils.cpp +++ b/src/libslic3r/FilamentGroupUtils.cpp @@ -1,6 +1,22 @@ #include "FilamentGroupUtils.hpp" +#include +#include +#include +#include +#include +#include "PrintConfig.hpp" +#include "Config.hpp" +#include +#include +#include "libslic3r.h" +#include "MultiNozzleUtils.hpp" #include +#include #include +#include +#include +#include +#include namespace Slic3r { diff --git a/src/libslic3r/FilamentGroupUtils.hpp b/src/libslic3r/FilamentGroupUtils.hpp index f0865a93c6..a73a562e90 100644 --- a/src/libslic3r/FilamentGroupUtils.hpp +++ b/src/libslic3r/FilamentGroupUtils.hpp @@ -1,6 +1,9 @@ #ifndef FILAMENT_GROUP_UTILS_HPP #define FILAMENT_GROUP_UTILS_HPP +#include +#include +#include #include #include #include diff --git a/src/libslic3r/FilamentMixer.cpp b/src/libslic3r/FilamentMixer.cpp index 66640498e6..51952c94c9 100644 --- a/src/libslic3r/FilamentMixer.cpp +++ b/src/libslic3r/FilamentMixer.cpp @@ -5,12 +5,17 @@ #include #include #include +#include #include +#include #include #include #include #include +#include +#include +#include #include "ColorDecomposeRecipe.hpp" #include "FilamentMixerModel.hpp" diff --git a/src/libslic3r/FilamentMixer.hpp b/src/libslic3r/FilamentMixer.hpp index 81ddd29e46..5ea4484437 100644 --- a/src/libslic3r/FilamentMixer.hpp +++ b/src/libslic3r/FilamentMixer.hpp @@ -1,6 +1,7 @@ #ifndef SLIC3R_FILAMENT_MIXER_HPP #define SLIC3R_FILAMENT_MIXER_HPP +#include #include #include #include diff --git a/src/libslic3r/FileParserError.hpp b/src/libslic3r/FileParserError.hpp index b7e63d84e0..4777ee8a79 100644 --- a/src/libslic3r/FileParserError.hpp +++ b/src/libslic3r/FileParserError.hpp @@ -1,8 +1,10 @@ #ifndef slic3r_FileParserError_hpp_ #define slic3r_FileParserError_hpp_ +#include "Exception.hpp" #include "libslic3r.h" +#include #include #include #include diff --git a/src/libslic3r/Fill/Fill.cpp b/src/libslic3r/Fill/Fill.cpp index 444fa15ddb..1898b4cf15 100644 --- a/src/libslic3r/Fill/Fill.cpp +++ b/src/libslic3r/Fill/Fill.cpp @@ -1,6 +1,19 @@ +#include #include +#include +#include +#include +#include +#include +#include +#include #include #include +#include +#include +#include +#include +#include #include "../ClipperUtils.hpp" #include "../Geometry.hpp" @@ -12,14 +25,23 @@ #include #include "AABBTreeLines.hpp" +#include "libslic3r/Config.hpp" +#include "libslic3r/ExPolygon.hpp" +#include "libslic3r/BoundingBox.hpp" #include "ExtrusionEntity.hpp" #include "Fill.hpp" +#include "libslic3r/Fill/FillBase.hpp" #include "FillRectilinear.hpp" #include "FillLightning.hpp" #include "FillConcentricInternal.hpp" #include "FillTpmsD.hpp" #include "FillTpmsFK.hpp" #include "FillConcentric.hpp" +#include "libslic3r/Flow.hpp" +#include "libslic3r/Point.hpp" +#include "libslic3r/Line.hpp" +#include "libslic3r/Polygon.hpp" +#include "libslic3r/Polyline.hpp" #include "libslic3r.h" namespace Slic3r { diff --git a/src/libslic3r/Fill/Fill.hpp b/src/libslic3r/Fill/Fill.hpp index b183cf0253..138321fd0a 100644 --- a/src/libslic3r/Fill/Fill.hpp +++ b/src/libslic3r/Fill/Fill.hpp @@ -1,9 +1,11 @@ #ifndef slic3r_Fill_hpp_ #define slic3r_Fill_hpp_ +#include #include #include #include +#include #include "../libslic3r.h" #include "../PrintConfig.hpp" diff --git a/src/libslic3r/Fill/Fill3DHoneycomb.cpp b/src/libslic3r/Fill/Fill3DHoneycomb.cpp index ad5f8918fd..5a390fa517 100644 --- a/src/libslic3r/Fill/Fill3DHoneycomb.cpp +++ b/src/libslic3r/Fill/Fill3DHoneycomb.cpp @@ -1,8 +1,20 @@ #include "../ClipperUtils.hpp" #include "../ShortestPath.hpp" #include "../Surface.hpp" +#include "libslic3r/ExPolygon.hpp" +#include "libslic3r/BoundingBox.hpp" #include "FillBase.hpp" #include "FillCornerSmoothing.hpp" +#include "libslic3r/libslic3r.h" +#include +#include +#include +#include "libslic3r/Point.hpp" +#include +#include +#include +#include "libslic3r/Polyline.hpp" +#include #include "Fill3DHoneycomb.hpp" namespace Slic3r { diff --git a/src/libslic3r/Fill/Fill3DHoneycomb.hpp b/src/libslic3r/Fill/Fill3DHoneycomb.hpp index 2d6664ddf4..2ad6f79a7c 100644 --- a/src/libslic3r/Fill/Fill3DHoneycomb.hpp +++ b/src/libslic3r/Fill/Fill3DHoneycomb.hpp @@ -2,10 +2,14 @@ #define slic3r_Fill3DHoneycomb_hpp_ #include +#include #include "../libslic3r.h" +#include "libslic3r/ExPolygon.hpp" #include "FillBase.hpp" +#include "libslic3r/Point.hpp" +#include "libslic3r/Polyline.hpp" namespace Slic3r { diff --git a/src/libslic3r/Fill/FillAdaptive.cpp b/src/libslic3r/Fill/FillAdaptive.cpp index 809eddb218..927e2c86a3 100644 --- a/src/libslic3r/Fill/FillAdaptive.cpp +++ b/src/libslic3r/Fill/FillAdaptive.cpp @@ -6,18 +6,40 @@ #include "../Layer.hpp" #include "../Print.hpp" #include "../ShortestPath.hpp" +#include "libslic3r/BoundingBox.hpp" +#include "libslic3r/Point.hpp" +#include "libslic3r/Flow.hpp" +#include "libslic3r/PrintConfig.hpp" +#include "libslic3r/libslic3r.h" +#include "libslic3r/Polyline.hpp" +#include "libslic3r/Line.hpp" +#include "libslic3r/Fill/FillBase.hpp" #include "FillAdaptive.hpp" // for indexed_triangle_set +#include +#include #include +#include +#include +#include +#include +#include +#include #include #include #include #include +#include +#include +#include #include +#include #include +#include +#include // Boost pool: Don't use mutexes to synchronize memory allocation. #define BOOST_POOL_NO_MT diff --git a/src/libslic3r/Fill/FillAdaptive.hpp b/src/libslic3r/Fill/FillAdaptive.hpp index de0768b26e..9b424133a2 100644 --- a/src/libslic3r/Fill/FillAdaptive.hpp +++ b/src/libslic3r/Fill/FillAdaptive.hpp @@ -11,7 +11,17 @@ #ifndef slic3r_FillAdaptive_hpp_ #define slic3r_FillAdaptive_hpp_ +#include "libslic3r/BoundingBox.hpp" +#include "libslic3r/ExPolygon.hpp" #include "FillBase.hpp" +#include +#include +#include +#include +#include "libslic3r/Point.hpp" +#include "libslic3r/libslic3r.h" +#include "libslic3r/Polyline.hpp" +#include "libslic3r/Line.hpp" struct indexed_triangle_set; diff --git a/src/libslic3r/Fill/FillBase.cpp b/src/libslic3r/Fill/FillBase.cpp index d0126e9cb8..91a3bb42af 100644 --- a/src/libslic3r/Fill/FillBase.cpp +++ b/src/libslic3r/Fill/FillBase.cpp @@ -1,7 +1,16 @@ +#include +#include +#include +#include +#include +#include #include #include #include +#include +#include +#include #include "../ClipperUtils.hpp" #include "../EdgeGrid.hpp" #include "../Geometry.hpp" @@ -13,6 +22,12 @@ #include "../VariableWidth.hpp" #include "FillBase.hpp" +#include "libslic3r/Exception.hpp" +#include "libslic3r/Config.hpp" +#include "libslic3r/ExPolygon.hpp" +#include "libslic3r/ExtrusionEntity.hpp" +#include "libslic3r/ExtrusionEntityCollection.hpp" +#include "libslic3r/BoundingBox.hpp" #include "FillConcentric.hpp" #include "FillSpiralInset.hpp" #include "FillHoneycomb.hpp" @@ -28,6 +43,11 @@ // BBS: new infill pattern header #include "FillConcentricInternal.hpp" #include "FillCrossHatch.hpp" +#include "libslic3r/Polyline.hpp" +#include "libslic3r/ShortestPath.hpp" +#include "libslic3r/Line.hpp" +#include "libslic3r/Polygon.hpp" +#include "libslic3r/Utils.hpp" // #define INFILL_DEBUG_OUTPUT namespace Slic3r { diff --git a/src/libslic3r/Fill/FillBase.hpp b/src/libslic3r/Fill/FillBase.hpp index d50c29b332..0ccce102ad 100644 --- a/src/libslic3r/Fill/FillBase.hpp +++ b/src/libslic3r/Fill/FillBase.hpp @@ -2,12 +2,18 @@ #define slic3r_FillBase_hpp_ #include +#include +#include +#include #include #include #include #include +#include #include +#include +#include #include "../libslic3r.h" #include "../BoundingBox.hpp" @@ -20,6 +26,8 @@ #include "../ExtrusionEntity.hpp" #include "../ExtrusionEntityCollection.hpp" #include "../ShortestPath.hpp" +#include "libslic3r/Polyline.hpp" +#include "libslic3r/Polygon.hpp" namespace Slic3r { diff --git a/src/libslic3r/Fill/FillConcentric.cpp b/src/libslic3r/Fill/FillConcentric.cpp index 044fee042e..6a70200b34 100644 --- a/src/libslic3r/Fill/FillConcentric.cpp +++ b/src/libslic3r/Fill/FillConcentric.cpp @@ -5,8 +5,21 @@ #include "Arachne/WallToolPaths.hpp" #include "FillConcentric.hpp" +#include "libslic3r/Fill/FillBase.hpp" +#include "libslic3r/BoundingBox.hpp" +#include "libslic3r/Arachne/utils/ExtrusionLine.hpp" #include "FillCornerSmoothing.hpp" +#include "libslic3r/Point.hpp" +#include "libslic3r/Polyline.hpp" +#include "libslic3r/libslic3r.h" +#include "libslic3r/Polygon.hpp" +#include +#include "libslic3r/PrintConfig.hpp" +#include +#include #include +#include +#include namespace Slic3r { diff --git a/src/libslic3r/Fill/FillConcentric.hpp b/src/libslic3r/Fill/FillConcentric.hpp index 56040d848d..43273131db 100644 --- a/src/libslic3r/Fill/FillConcentric.hpp +++ b/src/libslic3r/Fill/FillConcentric.hpp @@ -1,7 +1,11 @@ #ifndef slic3r_FillConcentric_hpp_ #define slic3r_FillConcentric_hpp_ +#include "libslic3r/ExPolygon.hpp" #include "FillBase.hpp" +#include +#include "libslic3r/Point.hpp" +#include "libslic3r/Polyline.hpp" namespace Slic3r { diff --git a/src/libslic3r/Fill/FillConcentricInternal.cpp b/src/libslic3r/Fill/FillConcentricInternal.cpp index d565992ea1..49b21935f3 100644 --- a/src/libslic3r/Fill/FillConcentricInternal.cpp +++ b/src/libslic3r/Fill/FillConcentricInternal.cpp @@ -3,9 +3,22 @@ #include "../Surface.hpp" #include "../VariableWidth.hpp" #include "Arachne/WallToolPaths.hpp" +#include "libslic3r/Fill/FillBase.hpp" +#include "libslic3r/ExtrusionEntity.hpp" +#include "libslic3r/Polyline.hpp" +#include "libslic3r/Point.hpp" +#include "libslic3r/libslic3r.h" +#include "libslic3r/Polygon.hpp" +#include "libslic3r/Arachne/utils/ExtrusionLine.hpp" +#include "libslic3r/ExtrusionEntityCollection.hpp" #include "FillConcentricInternal.hpp" +#include +#include +#include #include +#include +#include namespace Slic3r { diff --git a/src/libslic3r/Fill/FillConcentricInternal.hpp b/src/libslic3r/Fill/FillConcentricInternal.hpp index 2c93eb5ee9..f78e9e1cb1 100644 --- a/src/libslic3r/Fill/FillConcentricInternal.hpp +++ b/src/libslic3r/Fill/FillConcentricInternal.hpp @@ -1,6 +1,7 @@ #ifndef slic3r_FillConcentricInternal_hpp_ #define slic3r_FillConcentricInternal_hpp_ +#include "libslic3r/ExtrusionEntity.hpp" #include "FillBase.hpp" namespace Slic3r { diff --git a/src/libslic3r/Fill/FillCornerSmoothing.cpp b/src/libslic3r/Fill/FillCornerSmoothing.cpp index dbce39d572..f87de98293 100644 --- a/src/libslic3r/Fill/FillCornerSmoothing.cpp +++ b/src/libslic3r/Fill/FillCornerSmoothing.cpp @@ -1,6 +1,16 @@ +#include #include +#include +#include +#include +#include +#include #include "FillCornerSmoothing.hpp" +#include "libslic3r/Point.hpp" +#include "libslic3r/libslic3r.h" +#include "libslic3r/Polyline.hpp" +#include "libslic3r/Polygon.hpp" namespace Slic3r { diff --git a/src/libslic3r/Fill/FillCornerSmoothing.hpp b/src/libslic3r/Fill/FillCornerSmoothing.hpp index 7f2ead229a..b59cf26237 100644 --- a/src/libslic3r/Fill/FillCornerSmoothing.hpp +++ b/src/libslic3r/Fill/FillCornerSmoothing.hpp @@ -4,6 +4,7 @@ #include #include #include +#include #include #include "../libslic3r.h" diff --git a/src/libslic3r/Fill/FillCrossHatch.cpp b/src/libslic3r/Fill/FillCrossHatch.cpp index 98be5ef46b..c70a8a5320 100644 --- a/src/libslic3r/Fill/FillCrossHatch.cpp +++ b/src/libslic3r/Fill/FillCrossHatch.cpp @@ -1,9 +1,17 @@ #include "../ClipperUtils.hpp" #include "../ShortestPath.hpp" #include "../Surface.hpp" +#include #include +#include +#include +#include "libslic3r/ExPolygon.hpp" +#include "libslic3r/BoundingBox.hpp" #include "FillBase.hpp" #include "FillCornerSmoothing.hpp" +#include "libslic3r/Point.hpp" +#include "libslic3r/libslic3r.h" +#include "libslic3r/Polyline.hpp" #include "FillCrossHatch.hpp" namespace Slic3r { diff --git a/src/libslic3r/Fill/FillCrossHatch.hpp b/src/libslic3r/Fill/FillCrossHatch.hpp index 34c46116eb..0fdc16644a 100644 --- a/src/libslic3r/Fill/FillCrossHatch.hpp +++ b/src/libslic3r/Fill/FillCrossHatch.hpp @@ -2,10 +2,14 @@ #define slic3r_FillCrossHatch_hpp_ #include +#include #include "../libslic3r.h" +#include "libslic3r/ExPolygon.hpp" #include "FillBase.hpp" +#include "libslic3r/Point.hpp" +#include "libslic3r/Polyline.hpp" namespace Slic3r { diff --git a/src/libslic3r/Fill/FillGyroid.cpp b/src/libslic3r/Fill/FillGyroid.cpp index c9a108573d..de748d4893 100644 --- a/src/libslic3r/Fill/FillGyroid.cpp +++ b/src/libslic3r/Fill/FillGyroid.cpp @@ -4,9 +4,19 @@ #include "../Surface.hpp" #include #include +#include #include #include +#include "libslic3r/BoundingBox.hpp" +#include +#include "libslic3r/Execution/ExecutionTBB.hpp" +#include +#include +#include "libslic3r/ExPolygon.hpp" #include "FillBase.hpp" +#include "libslic3r/Point.hpp" +#include "libslic3r/libslic3r.h" +#include "libslic3r/Polyline.hpp" #include "FillGyroid.hpp" // --------------------------------------------------------------------------- diff --git a/src/libslic3r/Fill/FillGyroid.hpp b/src/libslic3r/Fill/FillGyroid.hpp index 751a7c2570..2599662403 100644 --- a/src/libslic3r/Fill/FillGyroid.hpp +++ b/src/libslic3r/Fill/FillGyroid.hpp @@ -3,7 +3,11 @@ #include "../libslic3r.h" +#include "libslic3r/ExPolygon.hpp" #include "FillBase.hpp" +#include +#include "libslic3r/Point.hpp" +#include "libslic3r/Polyline.hpp" namespace Slic3r { diff --git a/src/libslic3r/Fill/FillHoneycomb.cpp b/src/libslic3r/Fill/FillHoneycomb.cpp index 82679541da..594ff3fbba 100644 --- a/src/libslic3r/Fill/FillHoneycomb.cpp +++ b/src/libslic3r/Fill/FillHoneycomb.cpp @@ -2,7 +2,17 @@ #include "../ShortestPath.hpp" #include "../Surface.hpp" +#include "libslic3r/Fill/FillBase.hpp" +#include "libslic3r/ExPolygon.hpp" +#include "libslic3r/BoundingBox.hpp" #include "FillCornerSmoothing.hpp" +#include +#include "libslic3r/Point.hpp" +#include "libslic3r/Polyline.hpp" +#include "libslic3r/libslic3r.h" +#include +#include +#include #include "FillHoneycomb.hpp" namespace Slic3r { diff --git a/src/libslic3r/Fill/FillHoneycomb.hpp b/src/libslic3r/Fill/FillHoneycomb.hpp index 55be423854..fd1fe039de 100644 --- a/src/libslic3r/Fill/FillHoneycomb.hpp +++ b/src/libslic3r/Fill/FillHoneycomb.hpp @@ -1,11 +1,17 @@ #ifndef slic3r_FillHoneycomb_hpp_ #define slic3r_FillHoneycomb_hpp_ +#include #include +#include +#include #include "../libslic3r.h" +#include "libslic3r/ExPolygon.hpp" #include "FillBase.hpp" +#include "libslic3r/Point.hpp" +#include "libslic3r/Polyline.hpp" namespace Slic3r { diff --git a/src/libslic3r/Fill/FillLightning.cpp b/src/libslic3r/Fill/FillLightning.cpp index 77031b42e0..9f6200a88e 100644 --- a/src/libslic3r/Fill/FillLightning.cpp +++ b/src/libslic3r/Fill/FillLightning.cpp @@ -1,10 +1,18 @@ #include "../ClipperUtils.hpp" #include "../Print.hpp" #include "../ShortestPath.hpp" +#include "libslic3r/ExPolygon.hpp" +#include "libslic3r/Fill/Lightning/Layer.hpp" #include "FillBase.hpp" #include "FillCornerSmoothing.hpp" #include "FillLightning.hpp" #include "Lightning/Generator.hpp" +#include +#include "libslic3r/Point.hpp" +#include "libslic3r/Polyline.hpp" +#include "libslic3r/libslic3r.h" +#include +#include namespace Slic3r::FillLightning { diff --git a/src/libslic3r/Fill/FillLightning.hpp b/src/libslic3r/Fill/FillLightning.hpp index 74aa159b0b..8ad15b5c2a 100644 --- a/src/libslic3r/Fill/FillLightning.hpp +++ b/src/libslic3r/Fill/FillLightning.hpp @@ -1,7 +1,13 @@ #ifndef slic3r_FillLightning_hpp_ #define slic3r_FillLightning_hpp_ +#include "libslic3r/ExPolygon.hpp" #include "FillBase.hpp" +#include +#include +#include +#include "libslic3r/Point.hpp" +#include "libslic3r/Polyline.hpp" namespace Slic3r { diff --git a/src/libslic3r/Fill/FillLine.cpp b/src/libslic3r/Fill/FillLine.cpp index 5d548e5dbb..f46c102131 100644 --- a/src/libslic3r/Fill/FillLine.cpp +++ b/src/libslic3r/Fill/FillLine.cpp @@ -2,6 +2,17 @@ #include "../ExPolygon.hpp" #include "../ShortestPath.hpp" #include "../Surface.hpp" +#include "libslic3r/Fill/FillBase.hpp" +#include +#include "libslic3r/Point.hpp" +#include "libslic3r/Polyline.hpp" +#include +#include "libslic3r/libslic3r.h" +#include "libslic3r/BoundingBox.hpp" +#include "libslic3r/Line.hpp" +#include +#include +#include #include "FillLine.hpp" diff --git a/src/libslic3r/Fill/FillLine.hpp b/src/libslic3r/Fill/FillLine.hpp index 4ad9ca49a4..73633716dc 100644 --- a/src/libslic3r/Fill/FillLine.hpp +++ b/src/libslic3r/Fill/FillLine.hpp @@ -3,7 +3,12 @@ #include "../libslic3r.h" +#include "libslic3r/ExPolygon.hpp" #include "FillBase.hpp" +#include +#include "libslic3r/Point.hpp" +#include "libslic3r/Polyline.hpp" +#include "libslic3r/Line.hpp" namespace Slic3r { diff --git a/src/libslic3r/Fill/FillPlanePath.cpp b/src/libslic3r/Fill/FillPlanePath.cpp index 577aef0600..2ee2b1ef3a 100644 --- a/src/libslic3r/Fill/FillPlanePath.cpp +++ b/src/libslic3r/Fill/FillPlanePath.cpp @@ -2,7 +2,21 @@ #include "../ShortestPath.hpp" #include "../Surface.hpp" +#include "libslic3r/BoundingBox.hpp" +#include "libslic3r/Fill/FillBase.hpp" +#include "libslic3r/ExPolygon.hpp" +#include "libslic3r/ExtrusionEntity.hpp" #include "FillCornerSmoothing.hpp" +#include "libslic3r/Point.hpp" +#include +#include "libslic3r/Polyline.hpp" +#include "libslic3r/PrintConfig.hpp" +#include "libslic3r/libslic3r.h" +#include +#include +#include +#include +#include #include "FillPlanePath.hpp" namespace Slic3r { diff --git a/src/libslic3r/Fill/FillPlanePath.hpp b/src/libslic3r/Fill/FillPlanePath.hpp index a1e9068ca9..d24d9df9f4 100644 --- a/src/libslic3r/Fill/FillPlanePath.hpp +++ b/src/libslic3r/Fill/FillPlanePath.hpp @@ -1,11 +1,17 @@ #ifndef slic3r_FillPlanePath_hpp_ #define slic3r_FillPlanePath_hpp_ +#include +#include #include +#include #include "../libslic3r.h" +#include "libslic3r/ExPolygon.hpp" #include "FillBase.hpp" +#include "libslic3r/Point.hpp" +#include "libslic3r/Polyline.hpp" namespace Slic3r { diff --git a/src/libslic3r/Fill/FillRectilinear.cpp b/src/libslic3r/Fill/FillRectilinear.cpp index b4373d3ea6..5951e154e9 100644 --- a/src/libslic3r/Fill/FillRectilinear.cpp +++ b/src/libslic3r/Fill/FillRectilinear.cpp @@ -1,3 +1,8 @@ +#include +#include +#include +#include +#include #include #include @@ -10,6 +15,9 @@ #include #include #include +#include +#include +#include #include "../ClipperUtils.hpp" #include "../ExPolygon.hpp" @@ -18,7 +26,17 @@ #include "../ShortestPath.hpp" #include "../VariableWidth.hpp" +#include "libslic3r/BoundingBox.hpp" +#include "libslic3r/Fill/FillBase.hpp" +#include "libslic3r/ExtrusionEntity.hpp" +#include "libslic3r/ExtrusionEntityCollection.hpp" #include "FillCornerSmoothing.hpp" +#include "libslic3r/Polygon.hpp" +#include "libslic3r/Point.hpp" +#include "libslic3r/Polyline.hpp" +#include "libslic3r/Utils.hpp" +#include "libslic3r/PrintConfig.hpp" +#include "libslic3r/Flow.hpp" #include "FillRectilinear.hpp" // #define SLIC3R_DEBUG diff --git a/src/libslic3r/Fill/FillRectilinear.hpp b/src/libslic3r/Fill/FillRectilinear.hpp index adb9ef5131..a4453ad2d0 100644 --- a/src/libslic3r/Fill/FillRectilinear.hpp +++ b/src/libslic3r/Fill/FillRectilinear.hpp @@ -3,7 +3,18 @@ #include "../libslic3r.h" +#include "libslic3r/BoundingBox.hpp" +#include "libslic3r/ExtrusionEntity.hpp" +#include "libslic3r/ExPolygon.hpp" #include "FillBase.hpp" +#include "libslic3r/Polyline.hpp" +#include +#include +#include +#include +#include "libslic3r/Flow.hpp" +#include "libslic3r/Point.hpp" +#include "libslic3r/Polygon.hpp" namespace Slic3r { diff --git a/src/libslic3r/Fill/FillSpiralInset.cpp b/src/libslic3r/Fill/FillSpiralInset.cpp index e6323c2572..8f663df340 100644 --- a/src/libslic3r/Fill/FillSpiralInset.cpp +++ b/src/libslic3r/Fill/FillSpiralInset.cpp @@ -3,12 +3,25 @@ #include "../Surface.hpp" #include "../VariableWidth.hpp" #include "Arachne/WallToolPaths.hpp" +#include "libslic3r/Polygon.hpp" +#include "libslic3r/Point.hpp" +#include "libslic3r/Polyline.hpp" +#include "libslic3r/Arachne/utils/ExtrusionLine.hpp" +#include "libslic3r/libslic3r.h" +#include "libslic3r/Fill/FillBase.hpp" +#include "libslic3r/PrintConfig.hpp" +#include "libslic3r/BoundingBox.hpp" #include "FillSpiralInset.hpp" #include +#include #include +#include #include +#include +#include +#include namespace Slic3r { diff --git a/src/libslic3r/Fill/FillSpiralInset.hpp b/src/libslic3r/Fill/FillSpiralInset.hpp index eb799ec2f3..8b95657b4b 100644 --- a/src/libslic3r/Fill/FillSpiralInset.hpp +++ b/src/libslic3r/Fill/FillSpiralInset.hpp @@ -1,7 +1,11 @@ #ifndef slic3r_FillSpiralInset_hpp_ #define slic3r_FillSpiralInset_hpp_ +#include "libslic3r/ExPolygon.hpp" #include "FillBase.hpp" +#include +#include "libslic3r/Point.hpp" +#include "libslic3r/Polyline.hpp" namespace Slic3r { diff --git a/src/libslic3r/Fill/FillTpmsD.cpp b/src/libslic3r/Fill/FillTpmsD.cpp index 06e0302e8d..bb1a338691 100644 --- a/src/libslic3r/Fill/FillTpmsD.cpp +++ b/src/libslic3r/Fill/FillTpmsD.cpp @@ -1,10 +1,15 @@ #include #include +#include +#include +#include #include //#include #include "../ClipperUtils.hpp" #include "../ShortestPath.hpp" +#include "libslic3r/Polyline.hpp" +#include "libslic3r/ExPolygon.hpp" #include "libslic3r/BoundingBox.hpp" #include "libslic3r/Fill/FillBase.hpp" #include "libslic3r/Point.hpp" diff --git a/src/libslic3r/Fill/FillTpmsFK.cpp b/src/libslic3r/Fill/FillTpmsFK.cpp index 66ed1cbc84..a48a63f3d0 100644 --- a/src/libslic3r/Fill/FillTpmsFK.cpp +++ b/src/libslic3r/Fill/FillTpmsFK.cpp @@ -1,8 +1,17 @@ #include "../ClipperUtils.hpp" #include "../MarchingSquares.hpp" +#include "libslic3r/Point.hpp" +#include "libslic3r/libslic3r.h" +#include "libslic3r/BoundingBox.hpp" +#include "libslic3r/Polyline.hpp" +#include "libslic3r/Execution/ExecutionTBB.hpp" +#include "libslic3r/Fill/FillBase.hpp" +#include "libslic3r/ExPolygon.hpp" #include "FillTpmsFK.hpp" #include #include +#include +#include #include #include #include diff --git a/src/libslic3r/Fill/Lightning/DistanceField.cpp b/src/libslic3r/Fill/Lightning/DistanceField.cpp index 65da94b839..73d74cef03 100644 --- a/src/libslic3r/Fill/Lightning/DistanceField.cpp +++ b/src/libslic3r/Fill/Lightning/DistanceField.cpp @@ -4,8 +4,22 @@ #include "DistanceField.hpp" //Class we're implementing. #include "../FillRectilinear.hpp" #include "../../ClipperUtils.hpp" +#include "libslic3r/libslic3r.h" +#include "libslic3r/Polygon.hpp" +#include "libslic3r/BoundingBox.hpp" +#include "libslic3r/ExPolygon.hpp" +#include "libslic3r/Point.hpp" +#include "libslic3r/Line.hpp" +#include +#include +#include +#include +#include +#include +#include #include +#include #ifdef LIGHTNING_DISTANCE_FIELD_DEBUG_OUTPUT #include "../../SVG.hpp" diff --git a/src/libslic3r/Fill/Lightning/DistanceField.hpp b/src/libslic3r/Fill/Lightning/DistanceField.hpp index 007ac235e5..737c432824 100644 --- a/src/libslic3r/Fill/Lightning/DistanceField.hpp +++ b/src/libslic3r/Fill/Lightning/DistanceField.hpp @@ -7,6 +7,13 @@ #include "../../BoundingBox.hpp" #include "../../Point.hpp" #include "../../Polygon.hpp" +#include "libslic3r/libslic3r.h" +#include +#include +#include +#include +#include +#include //#define LIGHTNING_DISTANCE_FIELD_DEBUG_OUTPUT diff --git a/src/libslic3r/Fill/Lightning/Generator.cpp b/src/libslic3r/Fill/Lightning/Generator.cpp index c638610aa5..c35eb3250f 100644 --- a/src/libslic3r/Fill/Lightning/Generator.cpp +++ b/src/libslic3r/Fill/Lightning/Generator.cpp @@ -2,6 +2,15 @@ //CuraEngine is released under the terms of the AGPLv3 or higher. #include "Generator.hpp" +#include "libslic3r/SVG.hpp" +#include "libslic3r/BoundingBox.hpp" +#include "libslic3r/PrintConfig.hpp" +#include "libslic3r/Flow.hpp" +#include "libslic3r/Point.hpp" +#include "libslic3r/Polygon.hpp" +#include "libslic3r/Surface.hpp" +#include "libslic3r/Fill/Lightning/Layer.hpp" +#include "libslic3r/EdgeGrid.hpp" #include "TreeNode.hpp" #include "../../ClipperUtils.hpp" @@ -9,6 +18,18 @@ #include "../../Print.hpp" #include "ExPolygon.hpp" +#include +#include +#include +#include +#include +#include +#include +#include "libslic3r/libslic3r.h" +#include +#include +#include +#include /* Possible future tasks/optimizations,etc.: * - Improve connecting heuristic to favor connecting to shorter trees diff --git a/src/libslic3r/Fill/Lightning/Generator.hpp b/src/libslic3r/Fill/Lightning/Generator.hpp index 79110fb8dd..18be848b9e 100644 --- a/src/libslic3r/Fill/Lightning/Generator.hpp +++ b/src/libslic3r/Fill/Lightning/Generator.hpp @@ -4,8 +4,12 @@ #ifndef LIGHTNING_GENERATOR_H #define LIGHTNING_GENERATOR_H +#include "libslic3r/BoundingBox.hpp" #include "Layer.hpp" +#include "libslic3r/Polygon.hpp" +#include "libslic3r/libslic3r.h" +#include #include #include #include diff --git a/src/libslic3r/Fill/Lightning/Layer.cpp b/src/libslic3r/Fill/Lightning/Layer.cpp index 4a30a95f45..f461888a14 100644 --- a/src/libslic3r/Fill/Lightning/Layer.cpp +++ b/src/libslic3r/Fill/Lightning/Layer.cpp @@ -3,16 +3,31 @@ #include "Layer.hpp" //The class we're implementing. +#include "libslic3r/BoundingBox.hpp" #include "DistanceField.hpp" +#include "libslic3r/Point.hpp" +#include "libslic3r/Polygon.hpp" +#include "libslic3r/EdgeGrid.hpp" +#include "libslic3r/Line.hpp" +#include "libslic3r/Polyline.hpp" #include "TreeNode.hpp" #include "../../ClipperUtils.hpp" #include "../../Geometry.hpp" #include "Utils.hpp" +#include "libslic3r/libslic3r.h" +#include +#include +#include +#include +#include +#include #include #include #include +#include +#include namespace Slic3r::FillLightning { diff --git a/src/libslic3r/Fill/Lightning/Layer.hpp b/src/libslic3r/Fill/Lightning/Layer.hpp index e8c0a38b4d..378dc354b2 100644 --- a/src/libslic3r/Fill/Lightning/Layer.hpp +++ b/src/libslic3r/Fill/Lightning/Layer.hpp @@ -6,7 +6,12 @@ #include "../../EdgeGrid.hpp" #include "../../Polygon.hpp" +#include "libslic3r/Point.hpp" +#include "libslic3r/BoundingBox.hpp" +#include "libslic3r/libslic3r.h" +#include "libslic3r/Polyline.hpp" +#include #include #include #include diff --git a/src/libslic3r/Fill/Lightning/TreeNode.cpp b/src/libslic3r/Fill/Lightning/TreeNode.cpp index c57180e530..9a08242392 100644 --- a/src/libslic3r/Fill/Lightning/TreeNode.cpp +++ b/src/libslic3r/Fill/Lightning/TreeNode.cpp @@ -4,6 +4,22 @@ #include "TreeNode.hpp" #include "../../Geometry.hpp" +#include "libslic3r/libslic3r.h" +#include "libslic3r/Point.hpp" +#include +#include +#include +#include "libslic3r/Polygon.hpp" +#include "libslic3r/EdgeGrid.hpp" +#include +#include +#include +#include +#include +#include "libslic3r/Line.hpp" +#include "libslic3r/Polyline.hpp" +#include +#include namespace Slic3r::FillLightning { diff --git a/src/libslic3r/Fill/Lightning/TreeNode.hpp b/src/libslic3r/Fill/Lightning/TreeNode.hpp index 95559524ba..c82ca3f2b6 100644 --- a/src/libslic3r/Fill/Lightning/TreeNode.hpp +++ b/src/libslic3r/Fill/Lightning/TreeNode.hpp @@ -4,6 +4,8 @@ #ifndef LIGHTNING_TREE_NODE_H #define LIGHTNING_TREE_NODE_H +#include +#include #include #include #include @@ -12,7 +14,11 @@ #include "../../EdgeGrid.hpp" #include "../../Polygon.hpp" +#include "libslic3r/Point.hpp" +#include "libslic3r/Polyline.hpp" +#include "libslic3r/BoundingBox.hpp" #include "SVG.hpp" +#include "libslic3r/libslic3r.h" //#define LIGHTNING_TREE_NODE_DEBUG_OUTPUT diff --git a/src/libslic3r/Flow.cpp b/src/libslic3r/Flow.cpp index 80912362ce..13ee73973e 100644 --- a/src/libslic3r/Flow.cpp +++ b/src/libslic3r/Flow.cpp @@ -1,10 +1,15 @@ #include "Flow.hpp" +#include "Exception.hpp" +#include "Config.hpp" #include "I18N.hpp" #include "Print.hpp" +#include "libslic3r.h" #include #include #include +#include +#include // Mark string for localization and translate. #define L(s) Slic3r::I18N::translate(s) diff --git a/src/libslic3r/Flow.hpp b/src/libslic3r/Flow.hpp index 79cb1b324d..14d20a41c7 100644 --- a/src/libslic3r/Flow.hpp +++ b/src/libslic3r/Flow.hpp @@ -5,6 +5,8 @@ #include "Config.hpp" #include "Exception.hpp" #include "ExtrusionEntity.hpp" +#include +#include namespace Slic3r { diff --git a/src/libslic3r/FlushVolCalc.cpp b/src/libslic3r/FlushVolCalc.cpp index 635328f5ab..daeaf587c6 100644 --- a/src/libslic3r/FlushVolCalc.cpp +++ b/src/libslic3r/FlushVolCalc.cpp @@ -1,5 +1,8 @@ +#include #include #include +#include +#include "FlushVolPredictor.hpp" #include "slic3r/Utils/ColorSpaceConvert.hpp" #include "Utils.hpp" #include "FlushVolCalc.hpp" diff --git a/src/libslic3r/FlushVolPredictor.cpp b/src/libslic3r/FlushVolPredictor.cpp index dc39284b5f..e18b726c1f 100644 --- a/src/libslic3r/FlushVolPredictor.cpp +++ b/src/libslic3r/FlushVolPredictor.cpp @@ -1,9 +1,19 @@ #include "FlushVolPredictor.hpp" #include "Utils.hpp" +#include +#include +#include #include +#include +#include +#include #include #include #include +#include +#include +#include +#include namespace FlushPredict { diff --git a/src/libslic3r/Format/3mf.cpp b/src/libslic3r/Format/3mf.cpp index 738f1f5f6f..2f457f634d 100644 --- a/src/libslic3r/Format/3mf.cpp +++ b/src/libslic3r/Format/3mf.cpp @@ -10,10 +10,37 @@ #include "../Time.hpp" #include "../I18N.hpp" +#include "libslic3r/Point.hpp" +#include "libslic3r/TriangleMesh.hpp" +#include "libslic3r/Slicing.hpp" +#include "libslic3r/SLA/SupportPoint.hpp" +#include "libslic3r/SLA/Hollowing.hpp" +#include "libslic3r/Config.hpp" +#include "libslic3r_version.h" +#include "libslic3r/PrintConfig.hpp" #include "3mf.hpp" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include #include +#include +#include +#include #include #include @@ -28,6 +55,9 @@ #include #include #include +#include +#include +#include namespace pt = boost::property_tree; #include diff --git a/src/libslic3r/Format/3mf.hpp b/src/libslic3r/Format/3mf.hpp index c46b4e5533..ec59aff307 100644 --- a/src/libslic3r/Format/3mf.hpp +++ b/src/libslic3r/Format/3mf.hpp @@ -1,6 +1,7 @@ #ifndef slic3r_Format_3mf_hpp_ #define slic3r_Format_3mf_hpp_ #include +#include namespace Slic3r { // PrusaFileParser is used to check 3mf file is from Prusa diff --git a/src/libslic3r/Format/AMF.cpp b/src/libslic3r/Format/AMF.cpp index c5c9904e87..abf6953855 100644 --- a/src/libslic3r/Format/AMF.cpp +++ b/src/libslic3r/Format/AMF.cpp @@ -1,4 +1,10 @@ +#include +#include +#include +#include +#include #include +#include #include #include #include @@ -16,11 +22,16 @@ #include "../Geometry.hpp" #include "../CustomGCode.hpp" #include "../LocalesUtils.hpp" +#include "libslic3r/Config.hpp" +#include "libslic3r/Point.hpp" +#include "libslic3r/TriangleMesh.hpp" #include "AMF.hpp" #include #include +#include +#include namespace pt = boost::property_tree; #include diff --git a/src/libslic3r/Format/AMF.hpp b/src/libslic3r/Format/AMF.hpp index e48e424748..335d47d6fb 100644 --- a/src/libslic3r/Format/AMF.hpp +++ b/src/libslic3r/Format/AMF.hpp @@ -5,6 +5,7 @@ namespace Slic3r { class Model; class DynamicPrintConfig; +struct ConfigSubstitutionContext; // Load the content of an amf file into the given model and configuration. extern bool load_amf(const char* path, DynamicPrintConfig* config, ConfigSubstitutionContext* config_substitutions, Model* model, bool* use_inches); diff --git a/src/libslic3r/Format/AssimpImport.cpp b/src/libslic3r/Format/AssimpImport.cpp index f0ae99506a..0ab728f305 100644 --- a/src/libslic3r/Format/AssimpImport.cpp +++ b/src/libslic3r/Format/AssimpImport.cpp @@ -4,21 +4,30 @@ #include "ResourcePathUtils.hpp" #include +#include #include #include +#include #include #include +#include +#include +#include #include #include +#include #include #include #include +#include #include +#include #include #include #include +#include #include namespace Slic3r { diff --git a/src/libslic3r/Format/DRC.cpp b/src/libslic3r/Format/DRC.cpp index c07655f69b..1cf9c13565 100644 --- a/src/libslic3r/Format/DRC.cpp +++ b/src/libslic3r/Format/DRC.cpp @@ -1,3 +1,15 @@ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include #include #include #include @@ -9,6 +21,7 @@ #include #include #include +#include using namespace draco; #include "libslic3r/Model.hpp" diff --git a/src/libslic3r/Format/OBJ.cpp b/src/libslic3r/Format/OBJ.cpp index 8242f2c0c9..db24ebec0b 100644 --- a/src/libslic3r/Format/OBJ.cpp +++ b/src/libslic3r/Format/OBJ.cpp @@ -2,15 +2,27 @@ #include "../Model.hpp" #include "../TriangleMesh.hpp" #include "../TexturePainting.hpp" +#include "libslic3r/Color.hpp" +#include "libslic3r/Point.hpp" #include "ResourcePathUtils.hpp" #include "OBJ.hpp" #include "objparser.hpp" +#include +#include +#include +#include +#include +#include +#include +#include +#include #include #include #include +#include #ifdef _WIN32 #define DIR_SEPARATOR '\\' diff --git a/src/libslic3r/Format/OBJ.hpp b/src/libslic3r/Format/OBJ.hpp index c103326af6..0767ddd87d 100644 --- a/src/libslic3r/Format/OBJ.hpp +++ b/src/libslic3r/Format/OBJ.hpp @@ -2,7 +2,14 @@ #define slic3r_Format_OBJ_hpp_ #include "libslic3r/Color.hpp" #include "objparser.hpp" +#include "libslic3r/Point.hpp" +#include +#include +#include +#include +#include #include +#include namespace Slic3r { class TriangleMesh; diff --git a/src/libslic3r/Format/ResourcePathUtils.hpp b/src/libslic3r/Format/ResourcePathUtils.hpp index d82b92bd45..eccfcba84f 100644 --- a/src/libslic3r/Format/ResourcePathUtils.hpp +++ b/src/libslic3r/Format/ResourcePathUtils.hpp @@ -2,6 +2,9 @@ #define slic3r_Format_ResourcePathUtils_hpp_ #include +#include +#include +#include #include #include #include diff --git a/src/libslic3r/Format/SL1.cpp b/src/libslic3r/Format/SL1.cpp index 5796c108e5..15589e79b4 100644 --- a/src/libslic3r/Format/SL1.cpp +++ b/src/libslic3r/Format/SL1.cpp @@ -1,13 +1,34 @@ #include "SL1.hpp" +#include "libslic3r/ExPolygon.hpp" +#include "libslic3r/Config.hpp" #include "GCode/ThumbnailData.hpp" +#include "libslic3r/libslic3r.h" +#include "libslic3r/Polygon.hpp" +#include "libslic3r/Point.hpp" +#include "libslic3r/Utils.hpp" #include "libslic3r/Time.hpp" +#include +#include +#include +#include #include #include #include "libslic3r/Zipper.hpp" #include "libslic3r/SLAPrint.hpp" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include #include #include "libslic3r/Exception.hpp" @@ -20,10 +41,15 @@ #include "libslic3r/miniz_extension.hpp" #include "libslic3r/PNGReadWrite.hpp" #include "libslic3r/LocalesUtils.hpp" +#include "libslic3r_version.h" #include #include #include +#include +#include +#include +#include namespace marchsq { diff --git a/src/libslic3r/Format/SL1.hpp b/src/libslic3r/Format/SL1.hpp index 6fb4405c90..ad6b51f7d9 100644 --- a/src/libslic3r/Format/SL1.hpp +++ b/src/libslic3r/Format/SL1.hpp @@ -1,8 +1,17 @@ #ifndef ARCHIVETRAITS_HPP #define ARCHIVETRAITS_HPP +#include +#include +#include #include +#include +#include "libslic3r/PrintConfig.hpp" +#include "libslic3r/SLA/RasterBase.hpp" +#include "libslic3r/Config.hpp" +#include "libslic3r/Point.hpp" +#include "libslic3r/Exception.hpp" #include "libslic3r/Zipper.hpp" #include "libslic3r/SLAPrint.hpp" diff --git a/src/libslic3r/Format/STEP.cpp b/src/libslic3r/Format/STEP.cpp index 8305174e73..611648bc5a 100644 --- a/src/libslic3r/Format/STEP.cpp +++ b/src/libslic3r/Format/STEP.cpp @@ -1,10 +1,30 @@ #include "../libslic3r.h" #include "../Model.hpp" #include "../TriangleMesh.hpp" +#include "libslic3r/Exception.hpp" +#include "libslic3r/Utils.hpp" +#include "libslic3r/Point.hpp" #include "libslic3r/Thread.hpp" #include "STEP.hpp" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include #include #include #include @@ -12,6 +32,8 @@ #include #include +#include +#include #ifdef _WIN32 #define DIR_SEPARATOR '\\' diff --git a/src/libslic3r/Format/STEP.hpp b/src/libslic3r/Format/STEP.hpp index 336fd79766..5563a690c8 100644 --- a/src/libslic3r/Format/STEP.hpp +++ b/src/libslic3r/Format/STEP.hpp @@ -3,16 +3,26 @@ #include "XCAFDoc_DocumentTool.hxx" #include "XCAFApp_Application.hxx" #include "XCAFDoc_ShapeTool.hxx" +#include +#include #include #include #include #include +#include +#include +#include +#include +#include +#include +#include namespace fs = boost::filesystem; namespace Slic3r { class TriangleMesh; +class Model; class ModelObject; // load step stage diff --git a/src/libslic3r/Format/STL.cpp b/src/libslic3r/Format/STL.cpp index 1888f5cd18..55489af976 100644 --- a/src/libslic3r/Format/STL.cpp +++ b/src/libslic3r/Format/STL.cpp @@ -4,7 +4,9 @@ #include "STL.hpp" +#include #include +#include #ifdef _WIN32 #define DIR_SEPARATOR '\\' diff --git a/src/libslic3r/Format/ZipperArchiveImport.cpp b/src/libslic3r/Format/ZipperArchiveImport.cpp index 657e420bbc..3f690e42da 100644 --- a/src/libslic3r/Format/ZipperArchiveImport.cpp +++ b/src/libslic3r/Format/ZipperArchiveImport.cpp @@ -1,12 +1,25 @@ #include "ZipperArchiveImport.hpp" +#include "libslic3r/Config.hpp" +#include "libslic3r/LocalesUtils.hpp" #include "libslic3r/miniz_extension.hpp" #include "libslic3r/Exception.hpp" #include "libslic3r/PrintConfig.hpp" +#include +#include +#include #include #include #include +#include +#include +#include +#include +#include +#include +#include +#include namespace Slic3r { diff --git a/src/libslic3r/Format/ZipperArchiveImport.hpp b/src/libslic3r/Format/ZipperArchiveImport.hpp index adddcacd40..18cbb78209 100644 --- a/src/libslic3r/Format/ZipperArchiveImport.hpp +++ b/src/libslic3r/Format/ZipperArchiveImport.hpp @@ -1,12 +1,14 @@ #ifndef ZIPPERARCHIVEIMPORT_HPP #define ZIPPERARCHIVEIMPORT_HPP +#include #include #include #include #include +#include "libslic3r/Config.hpp" #include "libslic3r/PrintConfig.hpp" namespace Slic3r { diff --git a/src/libslic3r/Format/bbs_3mf.cpp b/src/libslic3r/Format/bbs_3mf.cpp index 160c169d69..fb4c877a04 100644 --- a/src/libslic3r/Format/bbs_3mf.cpp +++ b/src/libslic3r/Format/bbs_3mf.cpp @@ -12,10 +12,61 @@ #include "../Time.hpp" #include "../I18N.hpp" +#include "libslic3r/Point.hpp" +#include "libslic3r/GCode/GCodeProcessor.hpp" +#include "libslic3r/PrintConfig.hpp" +#include "libslic3r/MultiNozzleUtils.hpp" +#include "libslic3r/TriangleMesh.hpp" +#include "libslic3r/ObjectID.hpp" +#include "libslic3r/Slicing.hpp" +#include "libslic3r/BrimEarsPoint.hpp" +#include "libslic3r/Config.hpp" +#include "libslic3r/CustomGCode.hpp" +#include "libslic3r_version.h" #include "bbs_3mf.hpp" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include #include +#include +#include +#include +#include +#include +#include +#include +#include #include #include #include @@ -39,6 +90,10 @@ #include #include #include +#include +#include +#include +#include namespace pt = boost::property_tree; diff --git a/src/libslic3r/Format/bbs_3mf.hpp b/src/libslic3r/Format/bbs_3mf.hpp index 768ae7bcfe..489870b8fc 100644 --- a/src/libslic3r/Format/bbs_3mf.hpp +++ b/src/libslic3r/Format/bbs_3mf.hpp @@ -2,9 +2,21 @@ #define BBS_3MF_hpp_ #include "../GCode/ThumbnailData.hpp" +#include "libslic3r/MultiNozzleUtils.hpp" +#include "libslic3r/Semver.hpp" #include "libslic3r/ProjectTask.hpp" #include "libslic3r/GCode/GCodeProcessor.hpp" +#include #include +#include +#include +#include +#include +#include +#include +#include +#include +#include namespace Slic3r { class Model; diff --git a/src/libslic3r/Format/objparser.cpp b/src/libslic3r/Format/objparser.cpp index c5f33a7d0a..5146a21e80 100644 --- a/src/libslic3r/Format/objparser.cpp +++ b/src/libslic3r/Format/objparser.cpp @@ -1,8 +1,16 @@ +#include +#include +#include +#include +#include #include #include #include #include +#include +#include +#include #include "objparser.hpp" diff --git a/src/libslic3r/Format/objparser.hpp b/src/libslic3r/Format/objparser.hpp index e711bdf6f4..b34c0f3bf2 100644 --- a/src/libslic3r/Format/objparser.hpp +++ b/src/libslic3r/Format/objparser.hpp @@ -6,6 +6,7 @@ #include #include #include +#include namespace ObjParser { diff --git a/src/libslic3r/Format/svg.cpp b/src/libslic3r/Format/svg.cpp index c9738c8058..7521afddb9 100644 --- a/src/libslic3r/Format/svg.cpp +++ b/src/libslic3r/Format/svg.cpp @@ -1,3 +1,5 @@ +#include "libslic3r/Point.hpp" +#include "libslic3r/Format/STEP.hpp" #include "libslic3r/ClipperUtils.hpp" #include "../libslic3r.h" #include "../Model.hpp" @@ -6,9 +8,23 @@ #include "svg.hpp" #include "nanosvg/nanosvg.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include #include #include +#include +#include #include "BRepBuilderAPI_MakeWire.hxx" #include "BRepBuilderAPI_MakeEdge.hxx" diff --git a/src/libslic3r/Format/svg.hpp b/src/libslic3r/Format/svg.hpp index 095251c32a..cf6c35137f 100644 --- a/src/libslic3r/Format/svg.hpp +++ b/src/libslic3r/Format/svg.hpp @@ -1,4 +1,7 @@ #pragma once + +#include + namespace Slic3r { class Model; diff --git a/src/libslic3r/GCode.cpp b/src/libslic3r/GCode.cpp index 4c02cae7b4..2b0f254b43 100644 --- a/src/libslic3r/GCode.cpp +++ b/src/libslic3r/GCode.cpp @@ -1,9 +1,31 @@ +#include "ArcFitter.hpp" #include "BoundingBox.hpp" +#include "Circle.hpp" #include "Config.hpp" +#include "GCode/GCodeProcessor.hpp" +#include "Flow.hpp" +#include "GCode/ThumbnailData.hpp" +#include "GCode/ToolOrdering.hpp" +#include "GCode/SpiralVase.hpp" +#include "GCode/PressureEqualizer.hpp" +#include "GCode/SmallAreaInfillFlowCompensator.hpp" +#include "GCode/CoolingBuffer.hpp" +#include "GCode/AdaptivePAProcessor.hpp" +#include "CustomGCode.hpp" +#include "GCode/TimelapsePosPicker.hpp" +#include "ExPolygon.hpp" #include "GCode/WipePathHelpers.hpp" +#include "GCodeReader.hpp" #include "GCodeWriter.hpp" +#include "Point.hpp" +#include "Line.hpp" +#include "ObjectID.hpp" +#include "Layer.hpp" #include "Polygon.hpp" +#include "Polyline.hpp" +#include "PrintBase.hpp" #include "PrintConfig.hpp" +#include "enum_bitmask.hpp" #include "libslic3r.h" #include "I18N.hpp" #include "GCode.hpp" @@ -26,16 +48,39 @@ #include "libslic3r/format.hpp" #include "Time.hpp" #include "GCode/ExtrusionProcessor.hpp" +#include +#include #include +#include +#include +#include +#include #include #include +#include +#include +#include #include #include +#include +#include +#include +#include #include #include +#include +#include #include +#include +#include +#include +#include +#include #include #include +#include +#include +#include #include #include @@ -54,7 +99,9 @@ #include "SVG.hpp" #include +#include #include "calib.hpp" +#include "libslic3r_version.h" // Intel redesigned some TBB interface considerably when merging TBB with their oneAPI set of libraries, see GH #7332. // We are using quite an old TBB 2017 U7. Before we update our build servers, let's use the old API, which is deprecated in up to date TBB. #if ! defined(TBB_VERSION_MAJOR) @@ -4334,9 +4381,9 @@ size_t GCode::get_extruder_id(unsigned int filament_id) const size_t GCode::get_filament_config_index(int filament_id) const { - if (m_print) { - return m_print->get_filament_config_indx(filament_id, m_cur_layer_idx); - } + if (m_print) + return m_filament_index_cache.get(filament_id, m_cur_layer_idx, m_print->config_index_generation(), + [&] { return m_print->get_filament_config_indx(filament_id, m_cur_layer_idx); }); // Orca: without a Print the filament-indexed arrays are unexpanded, so the // filament id itself is the only meaningful column. return filament_id; @@ -4350,9 +4397,9 @@ size_t GCode::get_filament_config_index(int filament_id, size_t layer_id) const size_t GCode::get_nozzle_config_index(int filament_id) const { - if (m_print) { - return m_print->get_nozzle_config_index(filament_id, m_cur_layer_idx); - } + if (m_print) + return m_nozzle_index_cache.get(filament_id, m_cur_layer_idx, m_print->config_index_generation(), + [&] { return m_print->get_nozzle_config_index(filament_id, m_cur_layer_idx); }); // Orca: same reasoning; degenerate to the filament's extruder column. return get_extruder_id(filament_id); } @@ -8059,28 +8106,36 @@ std::string GCode::_extrude(const ExtrusionPath &path, std::string description, unsigned int acceleration_i = 0; double jerk = 0; // adjust acceleration - if (NOZZLE_CONFIG(default_acceleration) > 0) { + const size_t nozzle = get_nozzle_config_index(m_writer.filament()->id()); + if (m_config.default_acceleration.get_at(nozzle) > 0) { + const ExtrusionRole role = path.role(); + const double bridge_acceleration = is_bridge(role) ? + m_config.bridge_acceleration.get_at(nozzle).get_abs_value(m_config.outer_wall_acceleration.get_at(nozzle)) : 0.; + const double sparse_infill_acceleration = role == erInternalInfill ? + m_config.sparse_infill_acceleration.get_at(nozzle).get_abs_value(m_config.default_acceleration.get_at(nozzle)) : 0.; + const double internal_solid_infill_acceleration = role == erSolidInfill ? + m_config.internal_solid_infill_acceleration.get_at(nozzle).get_abs_value(m_config.default_acceleration.get_at(nozzle)) : 0.; double acceleration; - if (this->on_first_layer() && NOZZLE_CONFIG(initial_layer_acceleration) > 0) { - acceleration = NOZZLE_CONFIG(initial_layer_acceleration); + if (this->on_first_layer() && m_config.initial_layer_acceleration.get_at(nozzle) > 0) { + acceleration = m_config.initial_layer_acceleration.get_at(nozzle); #if 0 } else if (this->object_layer_over_raft() && m_config.first_layer_acceleration_over_raft.value > 0) { acceleration = m_config.first_layer_acceleration_over_raft.value; #endif - } else if (m_config.get_abs_value_at("bridge_acceleration", get_nozzle_config_index(m_writer.filament()->id())) > 0 && is_bridge(path.role())) { - acceleration = m_config.get_abs_value_at("bridge_acceleration", get_nozzle_config_index(m_writer.filament()->id())); - } else if (m_config.get_abs_value_at("sparse_infill_acceleration", get_nozzle_config_index(m_writer.filament()->id())) > 0 && (path.role() == erInternalInfill)) { - acceleration = m_config.get_abs_value_at("sparse_infill_acceleration", get_nozzle_config_index(m_writer.filament()->id())); - } else if (m_config.get_abs_value_at("internal_solid_infill_acceleration", get_nozzle_config_index(m_writer.filament()->id())) > 0 && (path.role() == erSolidInfill)) { - acceleration = m_config.get_abs_value_at("internal_solid_infill_acceleration", get_nozzle_config_index(m_writer.filament()->id())); - } else if (NOZZLE_CONFIG(outer_wall_acceleration) > 0 && is_external_perimeter(path.role())) { - acceleration = NOZZLE_CONFIG(outer_wall_acceleration); - } else if (NOZZLE_CONFIG(inner_wall_acceleration) > 0 && is_internal_perimeter(path.role())) { - acceleration = NOZZLE_CONFIG(inner_wall_acceleration); - } else if (NOZZLE_CONFIG(top_surface_acceleration) > 0 && is_top_surface(path.role())) { - acceleration = NOZZLE_CONFIG(top_surface_acceleration); + } else if (bridge_acceleration > 0) { + acceleration = bridge_acceleration; + } else if (sparse_infill_acceleration > 0) { + acceleration = sparse_infill_acceleration; + } else if (internal_solid_infill_acceleration > 0) { + acceleration = internal_solid_infill_acceleration; + } else if (m_config.outer_wall_acceleration.get_at(nozzle) > 0 && is_external_perimeter(role)) { + acceleration = m_config.outer_wall_acceleration.get_at(nozzle); + } else if (m_config.inner_wall_acceleration.get_at(nozzle) > 0 && is_internal_perimeter(role)) { + acceleration = m_config.inner_wall_acceleration.get_at(nozzle); + } else if (m_config.top_surface_acceleration.get_at(nozzle) > 0 && is_top_surface(role)) { + acceleration = m_config.top_surface_acceleration.get_at(nozzle); } else { - acceleration = NOZZLE_CONFIG(default_acceleration); + acceleration = m_config.default_acceleration.get_at(nozzle); } acceleration_i = (unsigned int)floor(acceleration + 0.5); } @@ -8181,7 +8236,7 @@ std::string GCode::_extrude(const ExtrusionPath &path, std::string description, speed = std::min(speed, m_config.scarf_joint_speed.get_abs_value(speed)); } } else if(path.role() == erInternalBridgeInfill) { - speed = m_config.get_abs_value_at("internal_bridge_speed", get_nozzle_config_index(m_writer.filament()->id())); + speed = m_config.internal_bridge_speed.get_at(nozzle).get_abs_value(m_config.bridge_speed.get_at(nozzle)); } else if (path.role() == erOverhangPerimeter || path.role() == erSupportTransition || path.role() == erBridgeInfill) { speed = NOZZLE_CONFIG(bridge_speed); } else if (path.role() == erInternalInfill) { @@ -8193,7 +8248,7 @@ std::string GCode::_extrude(const ExtrusionPath &path, std::string description, } else if (path.role() == erIroning) { const size_t filament_idx = get_filament_config_index(m_writer.filament()->id()); speed = m_config.filament_ironing_speed.is_nil(filament_idx) - ? m_config.get_abs_value("ironing_speed") + ? m_config.ironing_speed.value : m_config.filament_ironing_speed.get_at(filament_idx); } else if (path.role() == erBottomSurface) { speed = NOZZLE_CONFIG(initial_layer_infill_speed); @@ -8254,7 +8309,7 @@ std::string GCode::_extrude(const ExtrusionPath &path, std::string description, } // Override skirt speed if set if (path.role() == erSkirt) { - const double skirt_speed = m_config.get_abs_value("skirt_speed"); + const double skirt_speed = m_config.skirt_speed.value; if (skirt_speed > 0.0) speed = skirt_speed; } diff --git a/src/libslic3r/GCode.hpp b/src/libslic3r/GCode.hpp index 29a8ae5a34..0172fcf8c0 100644 --- a/src/libslic3r/GCode.hpp +++ b/src/libslic3r/GCode.hpp @@ -1,6 +1,11 @@ #ifndef slic3r_GCode_hpp_ #define slic3r_GCode_hpp_ +#include "ExtrusionEntity.hpp" +#include "Polygon.hpp" +#include "Config.hpp" +#include "ExtrusionEntityCollection.hpp" +#include "Print.hpp" #include "libslic3r.h" #include "ExPolygon.hpp" #include "GCodeWriter.hpp" @@ -28,12 +33,20 @@ #include "GCode/AdaptivePAProcessor.hpp" #include "GCode/TimelapsePosPicker.hpp" +#include "libslic3r_version.h" +#include +#include +#include +#include +#include #include #include #include #include #include +#include +#include namespace Slic3r { @@ -301,6 +314,24 @@ public: size_t get_filament_config_index(int filament_id, size_t layer_id) const; size_t get_nozzle_config_index(int filament_id) const; + // Holds the last slot a resolver returned without locking, so only the G-code generator may + // call the resolvers. + struct ConfigIndexCache + { + bool valid{false}; + int filament_id{0}; + size_t layer_idx{0}; + size_t generation{0}; + size_t index{0}; + + template size_t get(int filament, size_t layer, size_t gen, Lookup &&lookup) + { + if (!valid || filament_id != filament || layer_idx != layer || generation != gen) + *this = {true, filament, layer, gen, size_t(lookup())}; + return index; + } + }; + // Object and support extrusions of the same PrintObject at the same print_z. // public, so that it could be accessed by free helper functions from GCode.cpp struct LayerToPrint @@ -784,6 +815,8 @@ private: // Object layer id of the layer being generated; keys the per-filament config-slot // resolvers. Distinct from m_layer_index (an export progress counter starting at -1). size_t m_cur_layer_idx{0}; + mutable ConfigIndexCache m_filament_index_cache; + mutable ConfigIndexCache m_nozzle_index_cache; std::set m_initial_layer_extruders; std::vector> m_sorted_layer_filaments; diff --git a/src/libslic3r/GCode/AdaptivePAInterpolator.cpp b/src/libslic3r/GCode/AdaptivePAInterpolator.cpp index 2681ab13b2..5d86420ad2 100644 --- a/src/libslic3r/GCode/AdaptivePAInterpolator.cpp +++ b/src/libslic3r/GCode/AdaptivePAInterpolator.cpp @@ -4,10 +4,16 @@ // Implementation file for the AdaptivePAInterpolator class, providing methods to parse data and perform PA interpolation. #include "AdaptivePAInterpolator.hpp" +#include +#include "libslic3r/GCode/PchipInterpolatorHelper.hpp" +#include #include #include #include #include +#include +#include +#include /** * @brief Parses the input data and sets up the interpolators. diff --git a/src/libslic3r/GCode/AdaptivePAProcessor.cpp b/src/libslic3r/GCode/AdaptivePAProcessor.cpp index 8145db3b9f..21bd308853 100644 --- a/src/libslic3r/GCode/AdaptivePAProcessor.cpp +++ b/src/libslic3r/GCode/AdaptivePAProcessor.cpp @@ -4,11 +4,20 @@ // Implementation of the AdaptivePAProcessor class, responsible for processing G-code layers with adaptive pressure advance. #include "../GCode.hpp" +#include "libslic3r/GCode/AdaptivePAInterpolator.hpp" +#include "libslic3r/libslic3r.h" #include "AdaptivePAProcessor.hpp" +#include +#include +#include +#include +#include +#include #include #include #include #include +#include namespace Slic3r { diff --git a/src/libslic3r/GCode/AdaptivePAProcessor.hpp b/src/libslic3r/GCode/AdaptivePAProcessor.hpp index 01aa2f1104..c662191536 100644 --- a/src/libslic3r/GCode/AdaptivePAProcessor.hpp +++ b/src/libslic3r/GCode/AdaptivePAProcessor.hpp @@ -11,12 +11,14 @@ #include #include #include +#include #include "AdaptivePAInterpolator.hpp" namespace Slic3r { // Forward declaration of GCode class class GCode; +class PrintConfig; /** * @brief Class for processing G-code layers with adaptive pressure advance. diff --git a/src/libslic3r/GCode/AvoidCrossingPerimeters.cpp b/src/libslic3r/GCode/AvoidCrossingPerimeters.cpp index 21f02b3462..62c2ae61fd 100644 --- a/src/libslic3r/GCode/AvoidCrossingPerimeters.cpp +++ b/src/libslic3r/GCode/AvoidCrossingPerimeters.cpp @@ -7,11 +7,30 @@ #include "../Geometry.hpp" #include "../ClipperUtils.hpp" #include "../SVG.hpp" +#include "libslic3r/Line.hpp" +#include "libslic3r/libslic3r.h" +#include "libslic3r/Point.hpp" +#include "libslic3r/Utils.hpp" +#include "libslic3r/Polyline.hpp" +#include "libslic3r/BoundingBox.hpp" +#include "libslic3r/Flow.hpp" +#include "libslic3r/Surface.hpp" +#include "libslic3r/Config.hpp" #include "AvoidCrossingPerimeters.hpp" +#include +#include +#include +#include +#include +#include +#include +#include #include #include #include +#include +#include namespace Slic3r { diff --git a/src/libslic3r/GCode/AvoidCrossingPerimeters.hpp b/src/libslic3r/GCode/AvoidCrossingPerimeters.hpp index a348eed786..53e2942d3b 100644 --- a/src/libslic3r/GCode/AvoidCrossingPerimeters.hpp +++ b/src/libslic3r/GCode/AvoidCrossingPerimeters.hpp @@ -4,6 +4,10 @@ #include "../libslic3r.h" #include "../ExPolygon.hpp" #include "../EdgeGrid.hpp" +#include "libslic3r/Polyline.hpp" +#include "libslic3r/Polygon.hpp" +#include "libslic3r/BoundingBox.hpp" +#include namespace Slic3r { diff --git a/src/libslic3r/GCode/ConflictChecker.cpp b/src/libslic3r/GCode/ConflictChecker.cpp index e8f533be7c..70b58423fa 100644 --- a/src/libslic3r/GCode/ConflictChecker.cpp +++ b/src/libslic3r/GCode/ConflictChecker.cpp @@ -1,11 +1,28 @@ #include "ConflictChecker.hpp" +#include "libslic3r/Point.hpp" +#include "libslic3r/Line.hpp" +#include "libslic3r/libslic3r.h" +#include "libslic3r/ExtrusionEntityCollection.hpp" +#include "libslic3r/ExtrusionEntity.hpp" +#include "libslic3r/Layer.hpp" +#include "libslic3r/Print.hpp" +#include "libslic3r/GCode/GCodeProcessor.hpp" +#include +#include +#include +#include +#include +#include +#include #include #include #include #include #include +#include +#include namespace Slic3r { diff --git a/src/libslic3r/GCode/ConflictChecker.hpp b/src/libslic3r/GCode/ConflictChecker.hpp index a10b969431..50a126b89a 100644 --- a/src/libslic3r/GCode/ConflictChecker.hpp +++ b/src/libslic3r/GCode/ConflictChecker.hpp @@ -5,8 +5,18 @@ #include "../Model.hpp" #include "../Print.hpp" #include "../Layer.hpp" +#include "libslic3r/Line.hpp" +#include "libslic3r/ExtrusionEntity.hpp" +#include "libslic3r/Point.hpp" +#include "libslic3r/Polyline.hpp" +#include "libslic3r/ExtrusionEntityCollection.hpp" +#include "libslic3r/GCode/GCodeProcessor.hpp" #include +#include +#include +#include +#include #include #include diff --git a/src/libslic3r/GCode/CoolingBuffer.cpp b/src/libslic3r/GCode/CoolingBuffer.cpp index 7f6e9c67d5..6524b3ce38 100644 --- a/src/libslic3r/GCode/CoolingBuffer.cpp +++ b/src/libslic3r/GCode/CoolingBuffer.cpp @@ -1,12 +1,26 @@ #include "../GCode.hpp" +#include "libslic3r/Extruder.hpp" +#include "libslic3r/Point.hpp" +#include "libslic3r/libslic3r.h" +#include "libslic3r/Circle.hpp" #include "CoolingBuffer.hpp" +#include #include #include #include +#include +#include +#include +#include +#include +#include #include #include +#include #include #include +#include +#include #if 0 #define DEBUG diff --git a/src/libslic3r/GCode/CoolingBuffer.hpp b/src/libslic3r/GCode/CoolingBuffer.hpp index 742b8f78b7..0f7e27b14f 100644 --- a/src/libslic3r/GCode/CoolingBuffer.hpp +++ b/src/libslic3r/GCode/CoolingBuffer.hpp @@ -2,14 +2,18 @@ #define slic3r_CoolingBuffer_hpp_ #include "../libslic3r.h" +#include "../Point.hpp" +#include #include #include #include +#include namespace Slic3r { class GCode; class Layer; +class PrintConfig; struct PerExtruderAdjustments; // A standalone G-code filter, to control cooling of the print. diff --git a/src/libslic3r/GCode/ElegooGCodeProcessorHelper.cpp b/src/libslic3r/GCode/ElegooGCodeProcessorHelper.cpp index cac53637a5..1b086e4f47 100644 --- a/src/libslic3r/GCode/ElegooGCodeProcessorHelper.cpp +++ b/src/libslic3r/GCode/ElegooGCodeProcessorHelper.cpp @@ -1,10 +1,13 @@ #include "GCodeProcessor.hpp" +#include "libslic3r/GCodeReader.hpp" #include "libslic3r/libslic3r.h" #include #include #include +#include +#include #include namespace Slic3r { diff --git a/src/libslic3r/GCode/ExtrusionProcessor.hpp b/src/libslic3r/GCode/ExtrusionProcessor.hpp index 8ed829aa6e..7cc886bfe9 100644 --- a/src/libslic3r/GCode/ExtrusionProcessor.hpp +++ b/src/libslic3r/GCode/ExtrusionProcessor.hpp @@ -15,7 +15,10 @@ #include "../ClipperUtils.hpp" #include "../Flow.hpp" #include "../Config.hpp" +#include "libslic3r/Line.hpp" +#include "libslic3r/ExPolygon.hpp" +#include #include #include #include diff --git a/src/libslic3r/GCode/FanMover.cpp b/src/libslic3r/GCode/FanMover.cpp index 9d77d1d04c..cb5fc310ee 100644 --- a/src/libslic3r/GCode/FanMover.cpp +++ b/src/libslic3r/GCode/FanMover.cpp @@ -1,10 +1,25 @@ #include "FanMover.hpp" +#include "libslic3r/PrintConfig.hpp" +#include "libslic3r/libslic3r.h" +#include "libslic3r/ExtrusionEntity.hpp" #include "GCodeReader.hpp" +#include +#include +#include +#include +#include +#include +#include +#include #include /* +#include +#include +#include #include +#include #include #include @@ -12,8 +27,12 @@ #include "../PrintConfig.hpp" #include "../Utils.hpp" #include "Print.hpp" +#include "libslic3r/PrintConfig.hpp" +#include "libslic3r/libslic3r.h" #include +#include +#include */ diff --git a/src/libslic3r/GCode/FanMover.hpp b/src/libslic3r/GCode/FanMover.hpp index 17addd855c..b3a6fcb309 100644 --- a/src/libslic3r/GCode/FanMover.hpp +++ b/src/libslic3r/GCode/FanMover.hpp @@ -9,7 +9,12 @@ #include "../Point.hpp" #include "../GCodeReader.hpp" #include "../GCodeWriter.hpp" +#include +#include +#include #include +#include +#include namespace Slic3r { diff --git a/src/libslic3r/GCode/GCodeProcessor.cpp b/src/libslic3r/GCode/GCodeProcessor.cpp index e03be228d0..760a04eb4d 100644 --- a/src/libslic3r/GCode/GCodeProcessor.cpp +++ b/src/libslic3r/GCode/GCodeProcessor.cpp @@ -1,14 +1,30 @@ +#include "libslic3r/Config.hpp" +#include "libslic3r/CustomGCode.hpp" +#include "libslic3r/Exception.hpp" +#include "libslic3r/BoundingBox.hpp" +#include "libslic3r/CommonDefs.hpp" +#include "libslic3r/ArcFitter.hpp" #include "ExtrusionEntity.hpp" +#include "libslic3r/GCodeReader.hpp" #include "GCodeWriter.hpp" +#include "libslic3r/Point.hpp" +#include "libslic3r/PrintBase.hpp" +#include "libslic3r/Polygon.hpp" #include "PrintConfig.hpp" +#include "libslic3r/TriangleSelector.hpp" #include "libslic3r/libslic3r.h" #include "libslic3r/Utils.hpp" #include "libslic3r/Print.hpp" #include "libslic3r/ClipperUtils.hpp" #include "libslic3r/LocalesUtils.hpp" #include "libslic3r/format.hpp" +#include "libslic3r_version.h" #include "GCodeProcessor.hpp" +#include +#include +#include +#include #include #include #include @@ -16,15 +32,38 @@ #include #include +#include +#include +#include +#include +#include +#include +#include +#include +#include #include #include #include +#include +#include +#include +#include +#include +#include +#include +#include #include +#include #include #include #include +#include #include +#include +#include +#include +#include #if __has_include() #include diff --git a/src/libslic3r/GCode/GCodeProcessor.hpp b/src/libslic3r/GCode/GCodeProcessor.hpp index 192a80a43d..cde789cb6c 100644 --- a/src/libslic3r/GCode/GCodeProcessor.hpp +++ b/src/libslic3r/GCode/GCodeProcessor.hpp @@ -1,6 +1,11 @@ #ifndef slic3r_GCodeProcessor_hpp_ #define slic3r_GCodeProcessor_hpp_ +#include "libslic3r/CommonDefs.hpp" +#include "libslic3r/libslic3r.h" +#include "libslic3r/Polygon.hpp" +#include "libslic3r/Config.hpp" +#include "libslic3r/ArcFitter.hpp" #include "libslic3r/GCodeReader.hpp" #include "libslic3r/Point.hpp" #include "libslic3r/ExtrusionEntity.hpp" @@ -8,8 +13,17 @@ #include "libslic3r/CustomGCode.hpp" #include "libslic3r/MultiNozzleUtils.hpp" +#include +#include #include #include +#include +#include +#include +#include +#include +#include +#include #include #include #include diff --git a/src/libslic3r/GCode/OrderingStrategies.cpp b/src/libslic3r/GCode/OrderingStrategies.cpp index ba299dd76b..87f149b03b 100644 --- a/src/libslic3r/GCode/OrderingStrategies.cpp +++ b/src/libslic3r/GCode/OrderingStrategies.cpp @@ -4,9 +4,14 @@ #include "OrderingStrategies.hpp" #include "../Geometry.hpp" #include "../ShortestPath.hpp" +#include "libslic3r/Point.hpp" +#include "libslic3r/PrintConfig.hpp" #include #include +#include +#include +#include #include #include #include diff --git a/src/libslic3r/GCode/OrderingStrategies.hpp b/src/libslic3r/GCode/OrderingStrategies.hpp index 598eac8130..4e6d766b37 100644 --- a/src/libslic3r/GCode/OrderingStrategies.hpp +++ b/src/libslic3r/GCode/OrderingStrategies.hpp @@ -5,6 +5,8 @@ #include "../libslic3r.h" #include "../Point.hpp" +#include +#include "libslic3r/PrintConfig.hpp" #ifndef SLIC3R_TEST_HARNESS #include "../Print.hpp" diff --git a/src/libslic3r/GCode/PchipInterpolatorHelper.cpp b/src/libslic3r/GCode/PchipInterpolatorHelper.cpp index 44baa6cbf7..b01a23edb5 100644 --- a/src/libslic3r/GCode/PchipInterpolatorHelper.cpp +++ b/src/libslic3r/GCode/PchipInterpolatorHelper.cpp @@ -4,9 +4,13 @@ // Implementation file for the PchipInterpolatorHelper class #include "PchipInterpolatorHelper.hpp" +#include +#include #include #include #include +#include +#include /** * @brief Constructs the PCHIP interpolator with given data points. diff --git a/src/libslic3r/GCode/PreciseSeam.cpp b/src/libslic3r/GCode/PreciseSeam.cpp index 378ab2d2d3..b8eb5ea270 100644 --- a/src/libslic3r/GCode/PreciseSeam.cpp +++ b/src/libslic3r/GCode/PreciseSeam.cpp @@ -1,9 +1,23 @@ #include "PreciseSeam.hpp" +#include "libslic3r/Polygon.hpp" +#include "libslic3r/Point.hpp" +#include "libslic3r/Model.hpp" +#include "libslic3r/ClipperUtils.hpp" #include "SeamPlacer.hpp" +#include "libslic3r/libslic3r.h" #include "libslic3r/BoundingBox.hpp" #include +#include #include +#include +#include +#include +#include +#include +#include #include +#include +#include namespace Slic3r { namespace PreciseSeam { diff --git a/src/libslic3r/GCode/PreciseSeam.hpp b/src/libslic3r/GCode/PreciseSeam.hpp index d5c1e98952..f4f75c37bf 100644 --- a/src/libslic3r/GCode/PreciseSeam.hpp +++ b/src/libslic3r/GCode/PreciseSeam.hpp @@ -2,9 +2,11 @@ #define slic3r_PreciseSeam_hpp_ #include +#include #include #include #include +#include "libslic3r/Point.hpp" #include "libslic3r/Polygon.hpp" #include "libslic3r/Polyline.hpp" #include "libslic3r/Model.hpp" diff --git a/src/libslic3r/GCode/PressureEqualizer.cpp b/src/libslic3r/GCode/PressureEqualizer.cpp index 3db54ca2af..44ca576933 100644 --- a/src/libslic3r/GCode/PressureEqualizer.cpp +++ b/src/libslic3r/GCode/PressureEqualizer.cpp @@ -1,8 +1,17 @@ +#include +#include +#include +#include +#include +#include #include +#include +#include #include #include #include #include +#include #include "../libslic3r.h" #include "../PrintConfig.hpp" @@ -10,6 +19,8 @@ #include "../GCode.hpp" #include "PressureEqualizer.hpp" +#include "libslic3r/ExtrusionEntity.hpp" +#include "libslic3r/Exception.hpp" #include "fast_float/fast_float.h" #include "GCodeWriter.hpp" diff --git a/src/libslic3r/GCode/PressureEqualizer.hpp b/src/libslic3r/GCode/PressureEqualizer.hpp index 2f2982860e..be8e0e77fe 100644 --- a/src/libslic3r/GCode/PressureEqualizer.hpp +++ b/src/libslic3r/GCode/PressureEqualizer.hpp @@ -2,7 +2,14 @@ #define slic3r_GCode_PressureEqualizer_hpp_ #include "../libslic3r.h" +#include "../ExtrusionEntity.hpp" #include "../PrintConfig.hpp" +#include +#include +#include +#include +#include +#include #include diff --git a/src/libslic3r/GCode/PrintExtents.cpp b/src/libslic3r/GCode/PrintExtents.cpp index 9008adaa9a..71bc826258 100644 --- a/src/libslic3r/GCode/PrintExtents.cpp +++ b/src/libslic3r/GCode/PrintExtents.cpp @@ -10,7 +10,16 @@ #include "../Print.hpp" #include "PrintExtents.hpp" +#include "libslic3r/Polyline.hpp" +#include "libslic3r/Point.hpp" +#include "libslic3r/Exception.hpp" +#include "libslic3r/Geometry.hpp" #include "WipeTower.hpp" +#include "libslic3r/libslic3r.h" +#include +#include +#include +#include namespace Slic3r { diff --git a/src/libslic3r/GCode/RetractWhenCrossingPerimeters.cpp b/src/libslic3r/GCode/RetractWhenCrossingPerimeters.cpp index 776091adfb..32994741d4 100644 --- a/src/libslic3r/GCode/RetractWhenCrossingPerimeters.cpp +++ b/src/libslic3r/GCode/RetractWhenCrossingPerimeters.cpp @@ -1,6 +1,15 @@ #include "../ClipperUtils.hpp" #include "../Layer.hpp" #include "../Polyline.hpp" +#include "libslic3r/Surface.hpp" +#include +#include "libslic3r/AABBTreeIndirect.hpp" +#include +#include "libslic3r/ExPolygon.hpp" +#include "libslic3r/BoundingBox.hpp" +#include "libslic3r/libslic3r.h" +#include +#include "libslic3r/Polygon.hpp" #include "RetractWhenCrossingPerimeters.hpp" diff --git a/src/libslic3r/GCode/RetractWhenCrossingPerimeters.hpp b/src/libslic3r/GCode/RetractWhenCrossingPerimeters.hpp index fb624d7f90..e6029ce7f1 100644 --- a/src/libslic3r/GCode/RetractWhenCrossingPerimeters.hpp +++ b/src/libslic3r/GCode/RetractWhenCrossingPerimeters.hpp @@ -4,6 +4,7 @@ #include #include "../AABBTreeIndirect.hpp" +#include "libslic3r/libslic3r.h" namespace Slic3r { diff --git a/src/libslic3r/GCode/SeamPlacer.cpp b/src/libslic3r/GCode/SeamPlacer.cpp index 04d2360f0e..8c0a6502d0 100644 --- a/src/libslic3r/GCode/SeamPlacer.cpp +++ b/src/libslic3r/GCode/SeamPlacer.cpp @@ -1,16 +1,39 @@ #include "SeamPlacer.hpp" +#include "libslic3r/Point.hpp" +#include "libslic3r/AABBTreeIndirect.hpp" +#include "libslic3r/Model.hpp" +#include "libslic3r/Flow.hpp" +#include "libslic3r/Line.hpp" +#include "libslic3r/ExPolygon.hpp" #include "Polygon.hpp" +#include "libslic3r/PrintBase.hpp" #include "PrintConfig.hpp" +#include "libslic3r/libslic3r.h" +#include "libslic3r/TriangleMesh.hpp" +#include "libslic3r/TriangleSelector.hpp" #include "tbb/parallel_for.h" #include "tbb/blocked_range.h" #include "tbb/parallel_reduce.h" +#include #include +#include +#include +#include +#include +#include +#include +#include +#include +#include #include #include #include #include +#include #include +#include +#include #include "libslic3r/AABBTreeLines.hpp" #include "libslic3r/KDTreeIndirect.hpp" diff --git a/src/libslic3r/GCode/SeamPlacer.hpp b/src/libslic3r/GCode/SeamPlacer.hpp index 9855b4f4aa..cbf2c73fbe 100644 --- a/src/libslic3r/GCode/SeamPlacer.hpp +++ b/src/libslic3r/GCode/SeamPlacer.hpp @@ -1,12 +1,17 @@ #ifndef libslic3r_SeamPlacer_hpp_ #define libslic3r_SeamPlacer_hpp_ +#include +#include #include #include +#include +#include #include #include #include +#include "libslic3r/Point.hpp" #include "libslic3r/libslic3r.h" #include "libslic3r/ExtrusionEntity.hpp" #include "libslic3r/Polygon.hpp" diff --git a/src/libslic3r/GCode/SmallAreaInfillFlowCompensator.cpp b/src/libslic3r/GCode/SmallAreaInfillFlowCompensator.cpp index 20377cfe8d..fec0e4aa88 100644 --- a/src/libslic3r/GCode/SmallAreaInfillFlowCompensator.cpp +++ b/src/libslic3r/GCode/SmallAreaInfillFlowCompensator.cpp @@ -6,16 +6,26 @@ // Based on original work by Alexander Þór licensed under the GPLv3: // https://github.com/Alexander-T-Moss/Small-Area-Flow-Comp +#include +#include +#include #include #include #include +#include +#include #include #include "../libslic3r.h" #include "../PrintConfig.hpp" +#include "libslic3r/Exception.hpp" +#include "libslic3r/GCode/PchipInterpolatorHelper.hpp" +#include "libslic3r/ExtrusionEntity.hpp" #include "SmallAreaInfillFlowCompensator.hpp" #include +#include +#include namespace Slic3r { diff --git a/src/libslic3r/GCode/SmallAreaInfillFlowCompensator.hpp b/src/libslic3r/GCode/SmallAreaInfillFlowCompensator.hpp index de1df98170..2139e7f438 100644 --- a/src/libslic3r/GCode/SmallAreaInfillFlowCompensator.hpp +++ b/src/libslic3r/GCode/SmallAreaInfillFlowCompensator.hpp @@ -6,6 +6,7 @@ #include "../ExtrusionEntity.hpp" #include "PchipInterpolatorHelper.hpp" #include +#include namespace Slic3r { diff --git a/src/libslic3r/GCode/SpiralVase.cpp b/src/libslic3r/GCode/SpiralVase.cpp index 2c39bda4f7..d96f99de4f 100644 --- a/src/libslic3r/GCode/SpiralVase.cpp +++ b/src/libslic3r/GCode/SpiralVase.cpp @@ -1,8 +1,13 @@ #include "SpiralVase.hpp" #include "GCode.hpp" +#include "libslic3r/libslic3r.h" +#include +#include #include #include #include +#include +#include namespace Slic3r { diff --git a/src/libslic3r/GCode/SpiralVase.hpp b/src/libslic3r/GCode/SpiralVase.hpp index f28b4c5f55..b1e7c79f7e 100644 --- a/src/libslic3r/GCode/SpiralVase.hpp +++ b/src/libslic3r/GCode/SpiralVase.hpp @@ -3,6 +3,10 @@ #include "../libslic3r.h" #include "../GCodeReader.hpp" +#include "libslic3r/PrintConfig.hpp" +#include +#include +#include namespace Slic3r { diff --git a/src/libslic3r/GCode/ThumbnailData.cpp b/src/libslic3r/GCode/ThumbnailData.cpp index d895c0d95f..a86d10c4a4 100644 --- a/src/libslic3r/GCode/ThumbnailData.cpp +++ b/src/libslic3r/GCode/ThumbnailData.cpp @@ -1,4 +1,5 @@ #include "ThumbnailData.hpp" +#include namespace Slic3r { diff --git a/src/libslic3r/GCode/ThumbnailData.hpp b/src/libslic3r/GCode/ThumbnailData.hpp index bc37ad40c4..f112000273 100644 --- a/src/libslic3r/GCode/ThumbnailData.hpp +++ b/src/libslic3r/GCode/ThumbnailData.hpp @@ -1,7 +1,10 @@ #ifndef slic3r_ThumbnailData_hpp_ #define slic3r_ThumbnailData_hpp_ +#include +#include #include +#include "libslic3r/libslic3r.h" #include "libslic3r/Point.hpp" #include "nlohmann/json.hpp" diff --git a/src/libslic3r/GCode/Thumbnails.cpp b/src/libslic3r/GCode/Thumbnails.cpp index 526ba82498..9d32b0b63b 100644 --- a/src/libslic3r/GCode/Thumbnails.cpp +++ b/src/libslic3r/GCode/Thumbnails.cpp @@ -1,11 +1,27 @@ #include "Thumbnails.hpp" #include "../miniz_extension.hpp" +#include "libslic3r/GCode/ThumbnailData.hpp" +#include "libslic3r/PrintConfig.hpp" +#include "libslic3r/Point.hpp" +#include "libslic3r/Config.hpp" +#include "libslic3r/enum_bitmask.hpp" #include "format.hpp" #include #include +#include +#include +#include +#include +#include #include #include +#include +#include +#include +#include +#include +#include #include #include diff --git a/src/libslic3r/GCode/Thumbnails.hpp b/src/libslic3r/GCode/Thumbnails.hpp index bcee02fea1..fd72973bac 100644 --- a/src/libslic3r/GCode/Thumbnails.hpp +++ b/src/libslic3r/GCode/Thumbnails.hpp @@ -4,9 +4,13 @@ #include "../Point.hpp" #include "../PrintConfig.hpp" #include "../enum_bitmask.hpp" +#include "libslic3r/Config.hpp" #include "ThumbnailData.hpp" #include "../enum_bitmask.hpp" +#include +#include +#include #include #include #include diff --git a/src/libslic3r/GCode/TimelapsePosPicker.cpp b/src/libslic3r/GCode/TimelapsePosPicker.cpp index 364624a88c..fded08c1ce 100644 --- a/src/libslic3r/GCode/TimelapsePosPicker.cpp +++ b/src/libslic3r/GCode/TimelapsePosPicker.cpp @@ -1,6 +1,23 @@ #include "ClipperUtils.hpp" #include "TimelapsePosPicker.hpp" +#include "libslic3r/ExPolygon.hpp" #include "Layer.hpp" +#include "libslic3r/Point.hpp" +#include +#include "libslic3r/PrintConfig.hpp" +#include +#include +#include +#include "libslic3r/libslic3r.h" +#include "libslic3r/Polygon.hpp" +#include +#include +#include "libslic3r/Print.hpp" +#include +#include +#include +#include "libslic3r/Utils.hpp" +#include "libslic3r/Polyline.hpp" constexpr int FILTER_THRESHOLD = 5; constexpr int MAX_CANDIDATE_SIZE = 5; diff --git a/src/libslic3r/GCode/TimelapsePosPicker.hpp b/src/libslic3r/GCode/TimelapsePosPicker.hpp index 9ed6b14fc7..af102e6340 100644 --- a/src/libslic3r/GCode/TimelapsePosPicker.hpp +++ b/src/libslic3r/GCode/TimelapsePosPicker.hpp @@ -1,7 +1,11 @@ #ifndef TIMELAPSE_POS_PICKER_HPP #define TIMELAPSE_POS_PICKER_HPP +#include +#include #include +#include "libslic3r/Polygon.hpp" +#include "libslic3r/BoundingBox.hpp" #include "libslic3r/Point.hpp" #include "libslic3r/ExPolygon.hpp" #include "libslic3r/Print.hpp" diff --git a/src/libslic3r/GCode/ToolOrderUtils.cpp b/src/libslic3r/GCode/ToolOrderUtils.cpp index 4a67477d24..b64042a23f 100644 --- a/src/libslic3r/GCode/ToolOrderUtils.cpp +++ b/src/libslic3r/GCode/ToolOrderUtils.cpp @@ -1,9 +1,23 @@ #include "ToolOrderUtils.hpp" +#include "libslic3r/MultiNozzleUtils.hpp" #include +#include +#include +#include +#include +#include +#include +#include +#include +#include #include #include #include #include +#include +#include +#include +#include namespace Slic3r { diff --git a/src/libslic3r/GCode/ToolOrderUtils.hpp b/src/libslic3r/GCode/ToolOrderUtils.hpp index 7b103531b1..db24545f33 100644 --- a/src/libslic3r/GCode/ToolOrderUtils.hpp +++ b/src/libslic3r/GCode/ToolOrderUtils.hpp @@ -1,6 +1,7 @@ #ifndef TOOL_ORDER_UTILS_HPP #define TOOL_ORDER_UTILS_HPP +#include #include #include #include diff --git a/src/libslic3r/GCode/ToolOrdering.cpp b/src/libslic3r/GCode/ToolOrdering.cpp index 5026323d54..38532a2f67 100644 --- a/src/libslic3r/GCode/ToolOrdering.cpp +++ b/src/libslic3r/GCode/ToolOrdering.cpp @@ -1,4 +1,9 @@ +#include "libslic3r/Exception.hpp" +#include "libslic3r/CustomGCode.hpp" +#include "libslic3r/Config.hpp" #include "ExtrusionEntity.hpp" +#include "libslic3r/ObjectID.hpp" +#include "libslic3r/FilamentGroup.hpp" #include "Print.hpp" #include "ToolOrdering.hpp" #include "Layer.hpp" @@ -9,11 +14,23 @@ #include "MultiNozzleUtils.hpp" #include "FilamentMixer.hpp" #include "LocalesUtils.hpp" +#include "libslic3r/PrintConfig.hpp" #include "Utils.hpp" #include "format.hpp" #include "I18N.hpp" #include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include // #define SLIC3R_DEBUG diff --git a/src/libslic3r/GCode/ToolOrdering.hpp b/src/libslic3r/GCode/ToolOrdering.hpp index 1b8ce190d7..70b55fdb33 100644 --- a/src/libslic3r/GCode/ToolOrdering.hpp +++ b/src/libslic3r/GCode/ToolOrdering.hpp @@ -5,11 +5,19 @@ #include "../libslic3r.h" +#include +#include +#include #include #include +#include +#include +#include +#include #include #include +#include #include "../FilamentGroup.hpp" #include "../FilamentMixer.hpp" #include "../MultiNozzleUtils.hpp" diff --git a/src/libslic3r/GCode/WipePathHelpers.cpp b/src/libslic3r/GCode/WipePathHelpers.cpp index d785a16a8c..2c2ef7ff74 100644 --- a/src/libslic3r/GCode/WipePathHelpers.cpp +++ b/src/libslic3r/GCode/WipePathHelpers.cpp @@ -1,12 +1,19 @@ #include "WipePathHelpers.hpp" #include "../AABBTreeLines.hpp" +#include "libslic3r/ExtrusionEntity.hpp" +#include "libslic3r/Line.hpp" +#include "libslic3r/Point.hpp" +#include "libslic3r/libslic3r.h" #include #include #include +#include #include +#include #include +#include namespace Slic3r { diff --git a/src/libslic3r/GCode/WipePathHelpers.hpp b/src/libslic3r/GCode/WipePathHelpers.hpp index 616e5dc88b..17c0dfa238 100644 --- a/src/libslic3r/GCode/WipePathHelpers.hpp +++ b/src/libslic3r/GCode/WipePathHelpers.hpp @@ -5,6 +5,7 @@ #include "../ExtrusionEntity.hpp" #include "../Polyline.hpp" #include "../Line.hpp" +#include "libslic3r/Point.hpp" namespace Slic3r { diff --git a/src/libslic3r/GCode/WipeTower.cpp b/src/libslic3r/GCode/WipeTower.cpp index a700ada09f..cef86313ba 100644 --- a/src/libslic3r/GCode/WipeTower.cpp +++ b/src/libslic3r/GCode/WipeTower.cpp @@ -1,16 +1,39 @@ #include "WipeTower.hpp" +#include #include +#include +#include +#include +#include #include +#include +#include +#include +#include +#include +#include +#include #include #include #include #include +#include "libslic3r/Circle.hpp" +#include "libslic3r/ExtrusionEntity.hpp" +#include "libslic3r/ArcFitter.hpp" #include "GCodeProcessor.hpp" #include "BoundingBox.hpp" #include "ClipperUtils.hpp" +#include "libslic3r/Line.hpp" #include "LocalesUtils.hpp" +#include "libslic3r/PrintConfig.hpp" +#include "libslic3r/Polygon.hpp" +#include "libslic3r/Point.hpp" +#include "libslic3r/Polyline.hpp" +#include "libslic3r/MultiNozzleUtils.hpp" +#include "libslic3r/TriangleMesh.hpp" #include "Triangulation.hpp" +#include "libslic3r/libslic3r.h" namespace Slic3r diff --git a/src/libslic3r/GCode/WipeTower.hpp b/src/libslic3r/GCode/WipeTower.hpp index 8ea7f848ef..dd000737c7 100644 --- a/src/libslic3r/GCode/WipeTower.hpp +++ b/src/libslic3r/GCode/WipeTower.hpp @@ -2,16 +2,23 @@ #define WipeTower_ #include +#include +#include +#include +#include #include #include +#include #include #include +#include "libslic3r/libslic3r.h" #include "libslic3r/Point.hpp" #include "libslic3r/Polygon.hpp" #include "libslic3r/Polyline.hpp" #include "libslic3r/TriangleMesh.hpp" #include +#include #include "libslic3r/MultiNozzleUtils.hpp" namespace Slic3r { diff --git a/src/libslic3r/GCode/WipeTower2.cpp b/src/libslic3r/GCode/WipeTower2.cpp index a576172a39..9b92f4c26a 100644 --- a/src/libslic3r/GCode/WipeTower2.cpp +++ b/src/libslic3r/GCode/WipeTower2.cpp @@ -1,22 +1,44 @@ // Orca: WipeTower2 for all non bbl printers, support all MMU device and toolchanger. #include "WipeTower2.hpp" +#include +#include #include +#include +#include +#include +#include #include +#include +#include +#include +#include +#include #include #include #include #include #include +#include "libslic3r/Circle.hpp" +#include "libslic3r/ArcFitter.hpp" #include "ClipperUtils.hpp" +#include "libslic3r/ExtrusionEntity.hpp" +#include "libslic3r/GCode/WipeTower.hpp" +#include "libslic3r/ExPolygon.hpp" +#include "libslic3r/Fill/FillBase.hpp" #include "GCodeProcessor.hpp" #include "BoundingBox.hpp" +#include "libslic3r/Line.hpp" #include "LocalesUtils.hpp" #include "Geometry.hpp" +#include "libslic3r/Polygon.hpp" +#include "libslic3r/Point.hpp" +#include "libslic3r/Polyline.hpp" #include "PrintConfig.hpp" #include "Surface.hpp" #include "Fill/FillRectilinear.hpp" +#include "libslic3r/libslic3r.h" #include diff --git a/src/libslic3r/GCode/WipeTower2.hpp b/src/libslic3r/GCode/WipeTower2.hpp index 02ce15672b..408a5f6607 100644 --- a/src/libslic3r/GCode/WipeTower2.hpp +++ b/src/libslic3r/GCode/WipeTower2.hpp @@ -4,10 +4,14 @@ #define WipeTower2_ #include +#include +#include +#include #include #include #include #include +#include #include "libslic3r/Point.hpp" #include "libslic3r/Polygon.hpp" diff --git a/src/libslic3r/GCode/WipeTowerEstimate.cpp b/src/libslic3r/GCode/WipeTowerEstimate.cpp index ac1508d9c0..223850d4f0 100644 --- a/src/libslic3r/GCode/WipeTowerEstimate.cpp +++ b/src/libslic3r/GCode/WipeTowerEstimate.cpp @@ -1,5 +1,6 @@ #include "WipeTowerEstimate.hpp" +#include "libslic3r/Polygon.hpp" #include "WipeTower.hpp" #include "WipeTower2.hpp" #include "../Config.hpp" @@ -8,7 +9,9 @@ #include #include +#include #include +#include namespace Slic3r { diff --git a/src/libslic3r/GCodeReader.cpp b/src/libslic3r/GCodeReader.cpp index 17510800c5..10c3be600f 100644 --- a/src/libslic3r/GCodeReader.cpp +++ b/src/libslic3r/GCodeReader.cpp @@ -1,18 +1,30 @@ #include "GCodeReader.hpp" +#include #include #include #include #include #include +#include +#include +#include +#include +#include #include #include #include +#include "PrintConfig.hpp" #include "Utils.hpp" #include "LocalesUtils.hpp" +#include "libslic3r.h" #include #include +#include +#include +#include +#include namespace Slic3r { diff --git a/src/libslic3r/GCodeReader.hpp b/src/libslic3r/GCodeReader.hpp index 12b9dc98e2..591fe41e6b 100644 --- a/src/libslic3r/GCodeReader.hpp +++ b/src/libslic3r/GCodeReader.hpp @@ -3,10 +3,14 @@ #include "libslic3r.h" #include +#include #include +#include #include #include #include +#include +#include #include "PrintConfig.hpp" namespace Slic3r { diff --git a/src/libslic3r/GCodeSender.hpp b/src/libslic3r/GCodeSender.hpp index 3a2055e54f..e9f97e2a29 100644 --- a/src/libslic3r/GCodeSender.hpp +++ b/src/libslic3r/GCodeSender.hpp @@ -3,9 +3,17 @@ #include "libslic3r.h" #include +#include +#include +#include +#include +#include +#include +#include #include #include #include +#include #include #include diff --git a/src/libslic3r/GCodeWriter.cpp b/src/libslic3r/GCodeWriter.cpp index 0e80cc1fb7..667271bcd1 100644 --- a/src/libslic3r/GCodeWriter.cpp +++ b/src/libslic3r/GCodeWriter.cpp @@ -1,16 +1,36 @@ #include "GCodeWriter.hpp" +#include "Config.hpp" #include "CustomGCode.hpp" +#include "Extruder.hpp" #include "I18N.hpp" +#include "Point.hpp" +#include "Polygon.hpp" #include "PrintConfig.hpp" #include "ClipperUtils.hpp" #include "Geometry/ArcWelder.hpp" #include "Line.hpp" +#include "libslic3r.h" #include +#include +#include +#include +#include +#include +#include +#include #include #include +#include +#include #include #include #include +#include +#include +#include +#include +#include +#include #ifdef __APPLE__ #include diff --git a/src/libslic3r/GCodeWriter.hpp b/src/libslic3r/GCodeWriter.hpp index 8247ab757a..a07765a873 100644 --- a/src/libslic3r/GCodeWriter.hpp +++ b/src/libslic3r/GCodeWriter.hpp @@ -2,8 +2,14 @@ #define slic3r_GCodeWriter_hpp_ #include "libslic3r.h" +#include +#include +#include +#include +#include #include #include +#include #include "Extruder.hpp" #include "Point.hpp" #include "Polygon.hpp" 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/Geometry.hpp b/src/libslic3r/Geometry.hpp index e610a9ed4f..cb148e596a 100644 --- a/src/libslic3r/Geometry.hpp +++ b/src/libslic3r/Geometry.hpp @@ -9,7 +9,18 @@ #include "Polyline.hpp" // Serialization through the Cereal library +#include +#include +#include #include +#include +#include +#include +#include +#include +#include +#include +#include namespace Slic3r { diff --git a/src/libslic3r/Geometry/ArcWelder.hpp b/src/libslic3r/Geometry/ArcWelder.hpp index 184a2d6c7c..aee893fae6 100644 --- a/src/libslic3r/Geometry/ArcWelder.hpp +++ b/src/libslic3r/Geometry/ArcWelder.hpp @@ -1,7 +1,9 @@ #ifndef slic3r_Geometry_ArcWelder_hpp_ #define slic3r_Geometry_ArcWelder_hpp_ +#include #include +#include #include #include #include diff --git a/src/libslic3r/Geometry/Bicubic.hpp b/src/libslic3r/Geometry/Bicubic.hpp index 98c6f8bb29..2121947e94 100644 --- a/src/libslic3r/Geometry/Bicubic.hpp +++ b/src/libslic3r/Geometry/Bicubic.hpp @@ -1,7 +1,9 @@ #ifndef BICUBIC_HPP #define BICUBIC_HPP +#include #include +#include #include #include diff --git a/src/libslic3r/Geometry/Circle.cpp b/src/libslic3r/Geometry/Circle.cpp index 6796671954..f8dc0d273d 100644 --- a/src/libslic3r/Geometry/Circle.cpp +++ b/src/libslic3r/Geometry/Circle.cpp @@ -1,10 +1,19 @@ #include "Circle.hpp" #include "../Polygon.hpp" +#include "libslic3r/Point.hpp" +#include "libslic3r/libslic3r.h" +#include +#include +#include +#include +#include +#include #include #include #include +#include namespace Slic3r { namespace Geometry { diff --git a/src/libslic3r/Geometry/Circle.hpp b/src/libslic3r/Geometry/Circle.hpp index 653102e2ab..8f8655df65 100644 --- a/src/libslic3r/Geometry/Circle.hpp +++ b/src/libslic3r/Geometry/Circle.hpp @@ -2,8 +2,13 @@ #define slic3r_Geometry_Circle_hpp_ #include "../Point.hpp" +#include "libslic3r/libslic3r.h" +#include #include +#include +#include +#include namespace Slic3r { namespace Geometry { diff --git a/src/libslic3r/Geometry/ConvexHull.cpp b/src/libslic3r/Geometry/ConvexHull.cpp index b8bf5eb696..80617c0caf 100644 --- a/src/libslic3r/Geometry/ConvexHull.cpp +++ b/src/libslic3r/Geometry/ConvexHull.cpp @@ -1,9 +1,19 @@ +#include "libslic3r/Polygon.hpp" +#include "libslic3r/Point.hpp" +#include "libslic3r/Polyline.hpp" #include "libslic3r.h" #include "ConvexHull.hpp" #include "BoundingBox.hpp" #include "../Geometry.hpp" +#include +#include #include +#include +#include +#include +#include +#include namespace Slic3r { namespace Geometry { diff --git a/src/libslic3r/Geometry/ConvexHull.hpp b/src/libslic3r/Geometry/ConvexHull.hpp index eb0be4fe1f..f8bac380e8 100644 --- a/src/libslic3r/Geometry/ConvexHull.hpp +++ b/src/libslic3r/Geometry/ConvexHull.hpp @@ -1,9 +1,12 @@ #ifndef slic3r_Geometry_ConvexHull_hpp_ #define slic3r_Geometry_ConvexHull_hpp_ +#include #include #include "../Polygon.hpp" +#include "libslic3r/Point.hpp" +#include "libslic3r/Polyline.hpp" namespace Slic3r { diff --git a/src/libslic3r/Geometry/Curves.hpp b/src/libslic3r/Geometry/Curves.hpp index f4a5a0067e..e9c4bef40c 100644 --- a/src/libslic3r/Geometry/Curves.hpp +++ b/src/libslic3r/Geometry/Curves.hpp @@ -4,7 +4,13 @@ #include "libslic3r/Point.hpp" #include "Bicubic.hpp" +#include +#include +#include +#include #include +#include +#include //#define LSQR_DEBUG diff --git a/src/libslic3r/Geometry/MedialAxis.cpp b/src/libslic3r/Geometry/MedialAxis.cpp index 7fece75e63..9d05ec9867 100644 --- a/src/libslic3r/Geometry/MedialAxis.cpp +++ b/src/libslic3r/Geometry/MedialAxis.cpp @@ -5,7 +5,11 @@ #include #include #include +#include +#include +#include "libslic3r/Line.hpp" +#include "libslic3r/Polyline.hpp" #include "VoronoiOffset.hpp" #include "libslic3r/ClipperUtils.hpp" #include "libslic3r/ExPolygon.hpp" diff --git a/src/libslic3r/Geometry/Voronoi.cpp b/src/libslic3r/Geometry/Voronoi.cpp index 4f7173e5c2..7d59e2d2b8 100644 --- a/src/libslic3r/Geometry/Voronoi.cpp +++ b/src/libslic3r/Geometry/Voronoi.cpp @@ -2,7 +2,12 @@ #include #include +#include +#include +#include +#include "libslic3r/Point.hpp" +#include "libslic3r/libslic3r.h" #include "libslic3r/Arachne/utils/PolygonsSegmentIndex.hpp" #include "libslic3r/Geometry/VoronoiUtils.hpp" #include "libslic3r/Geometry/VoronoiUtilsCgal.hpp" diff --git a/src/libslic3r/Geometry/VoronoiOffset.cpp b/src/libslic3r/Geometry/VoronoiOffset.cpp index 70c45dfb25..aeaf883c72 100644 --- a/src/libslic3r/Geometry/VoronoiOffset.cpp +++ b/src/libslic3r/Geometry/VoronoiOffset.cpp @@ -8,7 +8,11 @@ #include #include #include +#include +#include "libslic3r/Point.hpp" +#include "libslic3r/Line.hpp" +#include "libslic3r/Polygon.hpp" #include "libslic3r/Geometry.hpp" #include "VoronoiOffset.hpp" #include "libslic3r/libslic3r.h" diff --git a/src/libslic3r/Geometry/VoronoiUtils.cpp b/src/libslic3r/Geometry/VoronoiUtils.cpp index f140782891..d0ad07cc7e 100644 --- a/src/libslic3r/Geometry/VoronoiUtils.cpp +++ b/src/libslic3r/Geometry/VoronoiUtils.cpp @@ -1,4 +1,5 @@ #include +#include #include #include #include @@ -10,6 +11,10 @@ #include #include "VoronoiUtils.hpp" +#include "libslic3r/Geometry/Voronoi.hpp" +#include "libslic3r/Arachne/utils/PolygonsPointIndex.hpp" +#include "libslic3r/Point.hpp" +#include "libslic3r/libslic3r.h" #include "libslic3r/Exception.hpp" #include "libslic3r/Line.hpp" diff --git a/src/libslic3r/Geometry/VoronoiUtilsCgal.cpp b/src/libslic3r/Geometry/VoronoiUtilsCgal.cpp index 28a648851d..e1ae432f36 100644 --- a/src/libslic3r/Geometry/VoronoiUtilsCgal.cpp +++ b/src/libslic3r/Geometry/VoronoiUtilsCgal.cpp @@ -1,9 +1,18 @@ // Needed since the CGAL headers are not self-contained. +#include +#include +#include +#include +#include +#include +#include +#include #include #include #include #include #include +#include #include #include diff --git a/src/libslic3r/Geometry/VoronoiVisualUtils.hpp b/src/libslic3r/Geometry/VoronoiVisualUtils.hpp index c89d59bf9a..a27645c159 100644 --- a/src/libslic3r/Geometry/VoronoiVisualUtils.hpp +++ b/src/libslic3r/Geometry/VoronoiVisualUtils.hpp @@ -1,14 +1,26 @@ #ifndef slic3r_VoronoiVisualUtils_hpp_ #define slic3r_VoronoiVisualUtils_hpp_ +#include +#include +#include +#include +#include #include #include #include #include #include +#include +#include +#include +#include "libslic3r/Geometry/Voronoi.hpp" +#include "libslic3r/Point.hpp" +#include "libslic3r/BoundingBox.hpp" #include "VoronoiOffset.hpp" +#include "libslic3r/libslic3r.h" namespace boost { namespace polygon { diff --git a/src/libslic3r/InstanceLock.cpp b/src/libslic3r/InstanceLock.cpp index 1fa71b572a..7cacdef0cb 100644 --- a/src/libslic3r/InstanceLock.cpp +++ b/src/libslic3r/InstanceLock.cpp @@ -1,7 +1,11 @@ #include "InstanceLock.hpp" +#include +#include #include #include +#include +#include #include #include diff --git a/src/libslic3r/IntersectionPoints.cpp b/src/libslic3r/IntersectionPoints.cpp index 888285f834..7db77d0787 100644 --- a/src/libslic3r/IntersectionPoints.cpp +++ b/src/libslic3r/IntersectionPoints.cpp @@ -1,5 +1,10 @@ #include "IntersectionPoints.hpp" +#include #include +#include "libslic3r/Line.hpp" +#include "libslic3r/Point.hpp" +#include "libslic3r/Polygon.hpp" +#include "libslic3r/ExPolygon.hpp" //NOTE: using CGAL SweepLines is slower !!! (example in git history) diff --git a/src/libslic3r/IntersectionPoints.hpp b/src/libslic3r/IntersectionPoints.hpp index 49694c8a8e..89b36224df 100644 --- a/src/libslic3r/IntersectionPoints.hpp +++ b/src/libslic3r/IntersectionPoints.hpp @@ -2,6 +2,11 @@ #define slic3r_IntersectionPoints_hpp_ #include "ExPolygon.hpp" +#include +#include "libslic3r/Point.hpp" +#include +#include "libslic3r/Line.hpp" +#include "libslic3r/Polygon.hpp" namespace Slic3r { diff --git a/src/libslic3r/JumpPointSearch.hpp b/src/libslic3r/JumpPointSearch.hpp index 86eeb9ce6a..b5fbf6aaf0 100644 --- a/src/libslic3r/JumpPointSearch.hpp +++ b/src/libslic3r/JumpPointSearch.hpp @@ -1,4 +1,5 @@ #pragma once +#include "Line.hpp" #ifndef SRC_LIBSLIC3R_JUMPPOINTSEARCH_HPP_ #define SRC_LIBSLIC3R_JUMPPOINTSEARCH_HPP_ diff --git a/src/libslic3r/KDTreeIndirect.hpp b/src/libslic3r/KDTreeIndirect.hpp index 8b48ffc818..3bf3d938e6 100644 --- a/src/libslic3r/KDTreeIndirect.hpp +++ b/src/libslic3r/KDTreeIndirect.hpp @@ -4,10 +4,15 @@ #define slic3r_KDTreeIndirect_hpp_ #include +#include +#include +#include #include +#include #include #include "Utils.hpp" // for next_highest_power_of_2() +#include "libslic3r.h" namespace Slic3r { diff --git a/src/libslic3r/LayOnFace.cpp b/src/libslic3r/LayOnFace.cpp index 1112f9d2fe..3cc5c2fdce 100644 --- a/src/libslic3r/LayOnFace.cpp +++ b/src/libslic3r/LayOnFace.cpp @@ -3,11 +3,17 @@ #include "Geometry.hpp" #include "Geometry/ConvexHull.hpp" #include "Model.hpp" +#include "Point.hpp" #include "TriangleMesh.hpp" +#include "libslic3r.h" +#include #include #include +#include #include +#include +#include namespace Slic3r { diff --git a/src/libslic3r/LayOnFace.hpp b/src/libslic3r/LayOnFace.hpp index 1a5e92a15e..6a9242e5c6 100644 --- a/src/libslic3r/LayOnFace.hpp +++ b/src/libslic3r/LayOnFace.hpp @@ -2,6 +2,7 @@ #include "Point.hpp" +#include #include namespace Slic3r { diff --git a/src/libslic3r/Layer.cpp b/src/libslic3r/Layer.cpp index 7bdef5a4ff..7f27012dc4 100644 --- a/src/libslic3r/Layer.cpp +++ b/src/libslic3r/Layer.cpp @@ -1,12 +1,28 @@ #include "Layer.hpp" #include "ClipperUtils.hpp" +#include "Polygon.hpp" +#include "Point.hpp" +#include "ExPolygon.hpp" +#include "ExtrusionEntity.hpp" +#include "Exception.hpp" +#include "Flow.hpp" #include "Print.hpp" #include "Fill/Fill.hpp" +#include "PrintConfig.hpp" #include "ShortestPath.hpp" #include "SVG.hpp" #include "BoundingBox.hpp" +#include "Surface.hpp" +#include "libslic3r.h" +#include "Utils.hpp" +#include #include +#include +#include +#include +#include +#include namespace Slic3r { diff --git a/src/libslic3r/Layer.hpp b/src/libslic3r/Layer.hpp index 9be6b86139..600e4c4062 100644 --- a/src/libslic3r/Layer.hpp +++ b/src/libslic3r/Layer.hpp @@ -1,12 +1,21 @@ #ifndef slic3r_Layer_hpp_ #define slic3r_Layer_hpp_ +#include "Polyline.hpp" +#include "Polygon.hpp" +#include "ExtrusionEntity.hpp" +#include "Line.hpp" #include "libslic3r.h" #include "BoundingBox.hpp" #include "Flow.hpp" #include "SurfaceCollection.hpp" #include "ExtrusionEntityCollection.hpp" #include "BoundingBox.hpp" +#include +#include +#include +#include +#include namespace Slic3r { class ExPolygon; diff --git a/src/libslic3r/LayerRegion.cpp b/src/libslic3r/LayerRegion.cpp index 7305b6f8b8..61b7a0f43e 100644 --- a/src/libslic3r/LayerRegion.cpp +++ b/src/libslic3r/LayerRegion.cpp @@ -1,20 +1,44 @@ +#include "Flow.hpp" +#include "Config.hpp" +#include "ExPolygon.hpp" +#include "ExtrusionEntity.hpp" +#include "Exception.hpp" #include "Layer.hpp" #include "BridgeDetector.hpp" #include "ClipperUtils.hpp" #include "Geometry.hpp" +#include "Line.hpp" #include "PerimeterGenerator.hpp" #include "Point.hpp" +#include "Polygon.hpp" +#include "Polyline.hpp" #include "Print.hpp" +#include "PrintConfig.hpp" #include "Surface.hpp" #include "BoundingBox.hpp" #include "SVG.hpp" #include "Algorithm/RegionExpansion.hpp" +#include "libslic3r.h" +#include "Utils.hpp" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include #include #include #include #include +#include +#include namespace Slic3r { diff --git a/src/libslic3r/Line.cpp b/src/libslic3r/Line.cpp index 94453e18f7..5c40e48e63 100644 --- a/src/libslic3r/Line.cpp +++ b/src/libslic3r/Line.cpp @@ -1,8 +1,13 @@ #include "Geometry.hpp" #include "Line.hpp" +#include "Point.hpp" #include "Polyline.hpp" +#include +#include "libslic3r.h" #include #include +#include +#include #include namespace Slic3r { diff --git a/src/libslic3r/Line.hpp b/src/libslic3r/Line.hpp index d8240702b2..f75ef7fc66 100644 --- a/src/libslic3r/Line.hpp +++ b/src/libslic3r/Line.hpp @@ -4,7 +4,10 @@ #include "libslic3r.h" #include "Point.hpp" +#include #include +#include +#include namespace Slic3r { diff --git a/src/libslic3r/LocalesUtils.cpp b/src/libslic3r/LocalesUtils.cpp index 9c81511dc5..ead94faeb4 100644 --- a/src/libslic3r/LocalesUtils.cpp +++ b/src/libslic3r/LocalesUtils.cpp @@ -1,4 +1,10 @@ #include "LocalesUtils.hpp" +#include +#include +#include +#include +#include +#include #ifdef _WIN32 #include diff --git a/src/libslic3r/LocalesUtils.hpp b/src/libslic3r/LocalesUtils.hpp index d7e59f5ded..c212a72e69 100644 --- a/src/libslic3r/LocalesUtils.hpp +++ b/src/libslic3r/LocalesUtils.hpp @@ -1,6 +1,7 @@ #ifndef slic3r_LocalesUtils_hpp_ #define slic3r_LocalesUtils_hpp_ +#include #include #include #include diff --git a/src/libslic3r/MTUtils.hpp b/src/libslic3r/MTUtils.hpp index ab99ea5f68..b1099e1439 100644 --- a/src/libslic3r/MTUtils.hpp +++ b/src/libslic3r/MTUtils.hpp @@ -1,7 +1,9 @@ #ifndef MTUTILS_HPP #define MTUTILS_HPP +#include #include // for std::atomic_flag and memory orders +#include #include // for std::lock_guard #include // for std::function #include // for std::forward diff --git a/src/libslic3r/MarchingSquares.hpp b/src/libslic3r/MarchingSquares.hpp index 7eb0b25806..e123dd14e0 100644 --- a/src/libslic3r/MarchingSquares.hpp +++ b/src/libslic3r/MarchingSquares.hpp @@ -2,11 +2,17 @@ #define MARCHINGSQUARES_HPP #include "Execution/ExecutionTBB.hpp" +#include +#include "libslic3r/Execution/Execution.hpp" +#include +#include #include #include #include #include #include +#include +#include // Marching squares // diff --git a/src/libslic3r/MaterialType.cpp b/src/libslic3r/MaterialType.cpp index dc65b6d23c..18e27dbe46 100644 --- a/src/libslic3r/MaterialType.cpp +++ b/src/libslic3r/MaterialType.cpp @@ -1,6 +1,8 @@ #include "MaterialType.hpp" #include +#include +#include namespace Slic3r { namespace { diff --git a/src/libslic3r/Measure.cpp b/src/libslic3r/Measure.cpp index ad34752685..e2ef912f37 100644 --- a/src/libslic3r/Measure.cpp +++ b/src/libslic3r/Measure.cpp @@ -1,3 +1,5 @@ +#include "Point.hpp" +#include "TriangleMesh.hpp" #include "libslic3r/libslic3r.h" #include "Measure.hpp" #include "MeasureUtils.hpp" @@ -6,8 +8,28 @@ #include "libslic3r/SurfaceMesh.hpp" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include #include +#include +#include #include +#include +#include +#include #define DEBUG_EXTRACT_ALL_FEATURES_AT_ONCE 0 diff --git a/src/libslic3r/Measure.hpp b/src/libslic3r/Measure.hpp index 0374c5d4aa..2980afe324 100644 --- a/src/libslic3r/Measure.hpp +++ b/src/libslic3r/Measure.hpp @@ -1,10 +1,17 @@ #ifndef Slic3r_Measure_hpp_ #define Slic3r_Measure_hpp_ +#include +#include +#include #include #include +#include +#include +#include #include "Point.hpp" +#include "libslic3r.h" struct indexed_triangle_set; diff --git a/src/libslic3r/MeasureUtils.hpp b/src/libslic3r/MeasureUtils.hpp index 2fdac52443..5e34c6fdf8 100644 --- a/src/libslic3r/MeasureUtils.hpp +++ b/src/libslic3r/MeasureUtils.hpp @@ -1,7 +1,14 @@ #ifndef Slic3r_MeasureUtils_hpp_ #define Slic3r_MeasureUtils_hpp_ +#include +#include +#include +#include #include +#include + +#include "Point.hpp" namespace Slic3r { namespace Measure { diff --git a/src/libslic3r/MeshBoolean.cpp b/src/libslic3r/MeshBoolean.cpp index 4d9dda0c2e..2a05378f58 100644 --- a/src/libslic3r/MeshBoolean.cpp +++ b/src/libslic3r/MeshBoolean.cpp @@ -3,6 +3,37 @@ #include "libslic3r/TriangleMesh.hpp" #include "libslic3r/TryCatchSignal.hpp" #include "libslic3r/format.hpp" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "libslic3r/Point.hpp" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include #undef PI #include diff --git a/src/libslic3r/MeshBoolean.hpp b/src/libslic3r/MeshBoolean.hpp index c307d1528b..6ced9b4646 100644 --- a/src/libslic3r/MeshBoolean.hpp +++ b/src/libslic3r/MeshBoolean.hpp @@ -1,9 +1,13 @@ #ifndef libslic3r_MeshBoolean_hpp_ #define libslic3r_MeshBoolean_hpp_ +#include +#include "libslic3r/Point.hpp" #include #include #include +#include +#include #include #include diff --git a/src/libslic3r/MeshSplitImpl.hpp b/src/libslic3r/MeshSplitImpl.hpp index 9fa87d2a9e..1805dc36ba 100644 --- a/src/libslic3r/MeshSplitImpl.hpp +++ b/src/libslic3r/MeshSplitImpl.hpp @@ -2,6 +2,15 @@ #define MESHSPLITIMPL_HPP // Disable meaningless boost warning on MSVC +#include +#include "Point.hpp" +#include +#include +#include +#include +#include +#include "libslic3r.h" +#include #ifdef _MSC_VER #pragma warning( push ) #pragma warning( disable : 4805 ) diff --git a/src/libslic3r/MinAreaBoundingBox.cpp b/src/libslic3r/MinAreaBoundingBox.cpp index 51fd8a45e7..ccc2eb981b 100644 --- a/src/libslic3r/MinAreaBoundingBox.cpp +++ b/src/libslic3r/MinAreaBoundingBox.cpp @@ -1,5 +1,12 @@ #include "MinAreaBoundingBox.hpp" +#include "Point.hpp" +#include "libslic3r.h" +#include +#include "libnest2d/common.hpp" +#include +#include +#include "libnest2d/geometry_traits.hpp" #include #if defined(_MSC_VER) && defined(__clang__) diff --git a/src/libslic3r/MinimumSpanningTree.cpp b/src/libslic3r/MinimumSpanningTree.cpp index 88555e70ee..0134c6b1a3 100644 --- a/src/libslic3r/MinimumSpanningTree.cpp +++ b/src/libslic3r/MinimumSpanningTree.cpp @@ -1,7 +1,12 @@ #include "MinimumSpanningTree.hpp" +#include #include #include +#include "Point.hpp" +#include +#include +#include #include "libslic3r.h" namespace Slic3r diff --git a/src/libslic3r/Model.cpp b/src/libslic3r/Model.cpp index fbc299cf72..24a77ce716 100644 --- a/src/libslic3r/Model.cpp +++ b/src/libslic3r/Model.cpp @@ -1,4 +1,21 @@ #include "Model.hpp" +#include "calib.hpp" +#include "Format/STEP.hpp" +#include "TriangleMesh.hpp" +#include "Semver.hpp" +#include "Format/OBJ.hpp" +#include "Config.hpp" +#include "Format/STL.hpp" +#include "Format/objparser.hpp" +#include "CustomGCode.hpp" +#include "PrintConfig.hpp" +#include "ObjectID.hpp" +#include "BoundingBox.hpp" +#include "Point.hpp" +#include "Utils.hpp" +#include "Polygon.hpp" +#include "SLA/SupportPoint.hpp" +#include "TextureDisplacement.hpp" #include "libslic3r.h" #include "BuildVolume.hpp" #include "TexturePainting.hpp" @@ -23,7 +40,17 @@ #include "libslic3r/Geometry/ConvexHull.hpp" +#include #include +#include +#include +#include +#include +#include +#include +#include +#include +#include #include #include @@ -35,6 +62,21 @@ #include "SVG.hpp" #include #include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include #include "GCodeWriter.hpp" // BBS: for segment diff --git a/src/libslic3r/Model.hpp b/src/libslic3r/Model.hpp index 895ea30d09..6ef00c8587 100644 --- a/src/libslic3r/Model.hpp +++ b/src/libslic3r/Model.hpp @@ -1,6 +1,9 @@ #ifndef slic3r_Model_hpp_ #define slic3r_Model_hpp_ +#include "BoundingBox.hpp" +#include "Polygon.hpp" +#include "Semver.hpp" #include "libslic3r.h" #include "enum_bitmask.hpp" #include "Geometry.hpp" @@ -30,6 +33,13 @@ #include "Format/OBJ.hpp" #include +#include +#include +#include +#include +#include +#include +#include #include #include #include diff --git a/src/libslic3r/ModelArrange.cpp b/src/libslic3r/ModelArrange.cpp index 95167565aa..df95b92b99 100644 --- a/src/libslic3r/ModelArrange.cpp +++ b/src/libslic3r/ModelArrange.cpp @@ -1,9 +1,19 @@ #include "ModelArrange.hpp" +#include +#include +#include #include #include #include +#include "Arrange.hpp" +#include +#include "Config.hpp" +#include +#include #include "MTUtils.hpp" +#include "Point.hpp" +#include "PrintConfig.hpp" namespace Slic3r { diff --git a/src/libslic3r/ModelArrange.hpp b/src/libslic3r/ModelArrange.hpp index e389eea5f0..b7a31dea8d 100644 --- a/src/libslic3r/ModelArrange.hpp +++ b/src/libslic3r/ModelArrange.hpp @@ -1,7 +1,13 @@ #ifndef MODELARRANGE_HPP #define MODELARRANGE_HPP +#include +#include #include +#include +#include "Exception.hpp" +#include +#include "Point.hpp" #include "libslic3r/PrintConfig.hpp" #include "libslic3r/Model.hpp" diff --git a/src/libslic3r/MultiMaterialSegmentation.cpp b/src/libslic3r/MultiMaterialSegmentation.cpp index 7eba251df6..a89fe2ae17 100644 --- a/src/libslic3r/MultiMaterialSegmentation.cpp +++ b/src/libslic3r/MultiMaterialSegmentation.cpp @@ -1,14 +1,41 @@ +#include "MultiMaterialSegmentation.hpp" #include "BoundingBox.hpp" #include "ClipperUtils.hpp" +#include "Config.hpp" #include "EdgeGrid.hpp" +#include "Geometry/VoronoiOffset.hpp" +#include "Geometry/Voronoi.hpp" +#include "Flow.hpp" +#include "ExPolygon.hpp" #include "Layer.hpp" +#include "Point.hpp" +#include "Polygon.hpp" +#include "Line.hpp" +#include "Model.hpp" #include "Print.hpp" #include "Geometry/VoronoiVisualUtils.hpp" #include "Geometry/VoronoiUtils.hpp" #include "MutablePolygon.hpp" +#include "Utils.hpp" +#include "PrintConfig.hpp" +#include "TriangleSelector.hpp" +#include "TriangleMeshSlicer.hpp" +#include "Surface.hpp" #include "format.hpp" +#include "libslic3r.h" #include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include #include #include @@ -16,6 +43,8 @@ #include #include #include +#include +#include //#define MM_SEGMENTATION_DEBUG_GRAPH //#define MM_SEGMENTATION_DEBUG_REGIONS diff --git a/src/libslic3r/MultiMaterialSegmentation.hpp b/src/libslic3r/MultiMaterialSegmentation.hpp index ee7b07c0d8..6b230e8cad 100644 --- a/src/libslic3r/MultiMaterialSegmentation.hpp +++ b/src/libslic3r/MultiMaterialSegmentation.hpp @@ -1,9 +1,17 @@ #ifndef slic3r_MultiMaterialSegmentation_hpp_ #define slic3r_MultiMaterialSegmentation_hpp_ +#include +#include #include #include +#include + +#include "Line.hpp" +#include "Point.hpp" +#include "libslic3r.h" + namespace Slic3r { class ExPolygon; diff --git a/src/libslic3r/MultiNozzleUtils.cpp b/src/libslic3r/MultiNozzleUtils.cpp index d5ce550536..5fc3d3de17 100644 --- a/src/libslic3r/MultiNozzleUtils.cpp +++ b/src/libslic3r/MultiNozzleUtils.cpp @@ -1,12 +1,22 @@ #include "MultiNozzleUtils.hpp" +#include "PrintConfig.hpp" +#include "Config.hpp" #include "Utils.hpp" #include "ProjectTask.hpp" // Slic3r::FilamentInfo (StaticNozzleGroupResult / load_nozzle_infos_with_compatibility) #include +#include +#include #include +#include +#include +#include #include +#include #include #include #include +#include +#include // Multi-nozzle support. diff --git a/src/libslic3r/MultiNozzleUtils.hpp b/src/libslic3r/MultiNozzleUtils.hpp index 5ae56e497d..f59dad6761 100644 --- a/src/libslic3r/MultiNozzleUtils.hpp +++ b/src/libslic3r/MultiNozzleUtils.hpp @@ -1,6 +1,8 @@ #ifndef MULTI_NOZZLE_UTILS_HPP #define MULTI_NOZZLE_UTILS_HPP +#include +#include #include #include #include diff --git a/src/libslic3r/MultiPoint.cpp b/src/libslic3r/MultiPoint.cpp index 694d3ea9d0..cda57c6cd8 100644 --- a/src/libslic3r/MultiPoint.cpp +++ b/src/libslic3r/MultiPoint.cpp @@ -1,5 +1,16 @@ #include "MultiPoint.hpp" #include "BoundingBox.hpp" +#include "Point.hpp" +#include "libslic3r.h" +#include +#include "Line.hpp" +#include +#include +#include +#include +#include +#include +#include namespace Slic3r { diff --git a/src/libslic3r/MultiPoint.hpp b/src/libslic3r/MultiPoint.hpp index 19b55ceb5a..772085b3be 100644 --- a/src/libslic3r/MultiPoint.hpp +++ b/src/libslic3r/MultiPoint.hpp @@ -3,6 +3,10 @@ #include "libslic3r.h" #include +#include +#include +#include +#include #include #include "Line.hpp" #include "Point.hpp" diff --git a/src/libslic3r/MutablePolygon.cpp b/src/libslic3r/MutablePolygon.cpp index bdc2d91376..60484dc3aa 100644 --- a/src/libslic3r/MutablePolygon.cpp +++ b/src/libslic3r/MutablePolygon.cpp @@ -1,6 +1,11 @@ #include "MutablePolygon.hpp" #include "Line.hpp" +#include "Point.hpp" #include "libslic3r.h" +#include +#include +#include +#include namespace Slic3r { diff --git a/src/libslic3r/MutablePolygon.hpp b/src/libslic3r/MutablePolygon.hpp index e4741186ff..31322583e3 100644 --- a/src/libslic3r/MutablePolygon.hpp +++ b/src/libslic3r/MutablePolygon.hpp @@ -4,6 +4,13 @@ #include "Point.hpp" #include "Polygon.hpp" #include "ExPolygon.hpp" +#include +#include +#include +#include +#include +#include +#include "libslic3r.h" namespace Slic3r { diff --git a/src/libslic3r/MutablePriorityQueue.hpp b/src/libslic3r/MutablePriorityQueue.hpp index 2565f417f8..f06acaa93e 100644 --- a/src/libslic3r/MutablePriorityQueue.hpp +++ b/src/libslic3r/MutablePriorityQueue.hpp @@ -2,7 +2,11 @@ #define slic3r_MutablePriorityQueue_hpp_ #include +#include +#include #include +#include +#include constexpr auto InvalidQueueID = std::numeric_limits::max(); template class MutablePriorityQueue diff --git a/src/libslic3r/NSVGUtils.cpp b/src/libslic3r/NSVGUtils.cpp index d12a866b3d..5274ffad4f 100644 --- a/src/libslic3r/NSVGUtils.cpp +++ b/src/libslic3r/NSVGUtils.cpp @@ -1,11 +1,24 @@ #include "NSVGUtils.hpp" #include +#include #include // to_chars #include #include +#include +#include +#include +#include +#include +#include +#include #include "ClipperUtils.hpp" #include "Emboss.hpp" // heal for shape +#include "Polygon.hpp" +#include "Polyline.hpp" +#include "EmbossShape.hpp" +#include "Point.hpp" +#include "libslic3r.h" namespace { using namespace Slic3r; // Polygon diff --git a/src/libslic3r/NSVGUtils.hpp b/src/libslic3r/NSVGUtils.hpp index 8d6a3bc3ef..846c4adfb8 100644 --- a/src/libslic3r/NSVGUtils.hpp +++ b/src/libslic3r/NSVGUtils.hpp @@ -1,12 +1,16 @@ #ifndef slic3r_NSVGUtils_hpp_ #define slic3r_NSVGUtils_hpp_ +#include +#include #include #include #include +#include "Point.hpp" #include "Polygon.hpp" #include "ExPolygon.hpp" #include "EmbossShape.hpp" // ExPolygonsWithIds +#include "libslic3r.h" #include "nanosvg/nanosvg.h" // load SVG file // Helper function to work with nano svg diff --git a/src/libslic3r/NormalUtils.cpp b/src/libslic3r/NormalUtils.cpp index 8619b749a2..1499d25f22 100644 --- a/src/libslic3r/NormalUtils.cpp +++ b/src/libslic3r/NormalUtils.cpp @@ -1,4 +1,9 @@ #include "NormalUtils.hpp" +#include "Point.hpp" +#include +#include +#include +#include using namespace Slic3r; diff --git a/src/libslic3r/NormalUtils.hpp b/src/libslic3r/NormalUtils.hpp index 8dcd0c0290..1811957381 100644 --- a/src/libslic3r/NormalUtils.hpp +++ b/src/libslic3r/NormalUtils.hpp @@ -3,6 +3,7 @@ #include "Point.hpp" #include "Model.hpp" +#include namespace Slic3r { diff --git a/src/libslic3r/ObjColorUtils.cpp b/src/libslic3r/ObjColorUtils.cpp index 3761267401..536078a083 100644 --- a/src/libslic3r/ObjColorUtils.cpp +++ b/src/libslic3r/ObjColorUtils.cpp @@ -1,4 +1,6 @@ #include "ObjColorUtils.hpp" +#include +#include "Color.hpp" bool obj_color_deal_algo(std::vector & input_colors, std::vector & cluster_colors_from_algo, diff --git a/src/libslic3r/ObjColorUtils.hpp b/src/libslic3r/ObjColorUtils.hpp index b587c80848..46163c8b44 100644 --- a/src/libslic3r/ObjColorUtils.hpp +++ b/src/libslic3r/ObjColorUtils.hpp @@ -1,6 +1,13 @@ #pragma once +#include +#include #include #include +#include +#include +#include +#include +#include #include "opencv2/opencv.hpp" #include "libslic3r/Color.hpp" diff --git a/src/libslic3r/ObjectID.cpp b/src/libslic3r/ObjectID.cpp index 7177c47fec..c8f4f5409f 100644 --- a/src/libslic3r/ObjectID.cpp +++ b/src/libslic3r/ObjectID.cpp @@ -1,4 +1,5 @@ #include "ObjectID.hpp" +#include namespace Slic3r { diff --git a/src/libslic3r/ObjectID.hpp b/src/libslic3r/ObjectID.hpp index 56042bbaa3..6adc1078f0 100644 --- a/src/libslic3r/ObjectID.hpp +++ b/src/libslic3r/ObjectID.hpp @@ -4,6 +4,7 @@ #include #include #include +#include namespace Slic3r { diff --git a/src/libslic3r/OpenVDBUtils.cpp b/src/libslic3r/OpenVDBUtils.cpp index c72607f14f..d4ac09781d 100644 --- a/src/libslic3r/OpenVDBUtils.cpp +++ b/src/libslic3r/OpenVDBUtils.cpp @@ -1,6 +1,19 @@ #ifndef NOMINMAX #define NOMINMAX #endif + +#include +#include +#include +#include "Point.hpp" +#include +#include +#include +#include "TriangleMesh.hpp" +#include +#include "libslic3r.h" +#include +#include #include "OpenVDBUtils.hpp" #ifdef _MSC_VER diff --git a/src/libslic3r/OpenVDBUtils.hpp b/src/libslic3r/OpenVDBUtils.hpp index f4441ba964..badd19d377 100644 --- a/src/libslic3r/OpenVDBUtils.hpp +++ b/src/libslic3r/OpenVDBUtils.hpp @@ -1,7 +1,10 @@ #ifndef OPENVDBUTILS_HPP #define OPENVDBUTILS_HPP +#include "Point.hpp" #include +#include +#include #ifdef _MSC_VER // Suppress warning C4146 in include/gmp.h(2177,31): unary minus operator applied to unsigned type, result still unsigned diff --git a/src/libslic3r/Optimize/BruteforceOptimizer.hpp b/src/libslic3r/Optimize/BruteforceOptimizer.hpp index 2daef538e7..6aa4308f99 100644 --- a/src/libslic3r/Optimize/BruteforceOptimizer.hpp +++ b/src/libslic3r/Optimize/BruteforceOptimizer.hpp @@ -1,7 +1,12 @@ #ifndef BRUTEFORCEOPTIMIZER_HPP #define BRUTEFORCEOPTIMIZER_HPP +#include +#include +#include +#include #include +#include namespace Slic3r { namespace opt { diff --git a/src/libslic3r/Optimize/NLoptOptimizer.hpp b/src/libslic3r/Optimize/NLoptOptimizer.hpp index f5d3140463..6e1649f701 100644 --- a/src/libslic3r/Optimize/NLoptOptimizer.hpp +++ b/src/libslic3r/Optimize/NLoptOptimizer.hpp @@ -1,6 +1,12 @@ #ifndef NLOPTOPTIMIZER_HPP #define NLOPTOPTIMIZER_HPP +#include +#include +#include +#include +#include +#include #ifdef _MSC_VER #pragma warning(push) #pragma warning(disable: 4244) diff --git a/src/libslic3r/Optimize/Optimizer.hpp b/src/libslic3r/Optimize/Optimizer.hpp index 8ae55c61c5..ce5bb5bad6 100644 --- a/src/libslic3r/Optimize/Optimizer.hpp +++ b/src/libslic3r/Optimize/Optimizer.hpp @@ -1,6 +1,7 @@ #ifndef OPTIMIZER_HPP #define OPTIMIZER_HPP +#include #include #include #include diff --git a/src/libslic3r/Orient.cpp b/src/libslic3r/Orient.cpp index 7d54048176..b72401f36b 100644 --- a/src/libslic3r/Orient.cpp +++ b/src/libslic3r/Orient.cpp @@ -1,10 +1,30 @@ #include "Orient.hpp" #include "Geometry.hpp" +#include +#include +#include +#include "TriangleMesh.hpp" +#include "Point.hpp" +#include +#include +#include "libslic3r.h" +#include +#include +#include +#include +#include "Model.hpp" +#include "PrintConfig.hpp" #include #include #include #include +#include +#include +#include #include +#include +#include +#include #if defined(_MSC_VER) && defined(__clang__) #define BOOST_NO_CXX17_HDR_STRING_VIEW diff --git a/src/libslic3r/Orient.hpp b/src/libslic3r/Orient.hpp index 370f23d4fb..6839665e01 100644 --- a/src/libslic3r/Orient.hpp +++ b/src/libslic3r/Orient.hpp @@ -1,7 +1,14 @@ #ifndef ORIENT_HPP #define ORIENT_HPP +#include "TriangleMesh.hpp" +#include "Point.hpp" +#include "PrintConfig.hpp" #include "libslic3r/Model.hpp" +#include +#include +#include +#include namespace Slic3r { diff --git a/src/libslic3r/PNGReadWrite.cpp b/src/libslic3r/PNGReadWrite.cpp index 9f6a8b739d..1f29de646b 100644 --- a/src/libslic3r/PNGReadWrite.cpp +++ b/src/libslic3r/PNGReadWrite.cpp @@ -1,5 +1,9 @@ #include "PNGReadWrite.hpp" +#include +#include +#include +#include #include #include @@ -8,6 +12,8 @@ #include #include #include +#include +#include namespace Slic3r { namespace png { diff --git a/src/libslic3r/PNGReadWrite.hpp b/src/libslic3r/PNGReadWrite.hpp index 9a27fed490..c2d2149e1f 100644 --- a/src/libslic3r/PNGReadWrite.hpp +++ b/src/libslic3r/PNGReadWrite.hpp @@ -1,6 +1,8 @@ #ifndef PNGREAD_HPP #define PNGREAD_HPP +#include +#include #include #include #include diff --git a/src/libslic3r/ParameterUtils.cpp b/src/libslic3r/ParameterUtils.cpp index 2e7b0d1d3c..f2f3669124 100644 --- a/src/libslic3r/ParameterUtils.cpp +++ b/src/libslic3r/ParameterUtils.cpp @@ -1,5 +1,10 @@ #include "ParameterUtils.hpp" +#include "PrintConfig.hpp" #include +#include +#include +#include +#include namespace Slic3r { diff --git a/src/libslic3r/ParameterUtils.hpp b/src/libslic3r/ParameterUtils.hpp index 795e7ff619..bf475c16bd 100644 --- a/src/libslic3r/ParameterUtils.hpp +++ b/src/libslic3r/ParameterUtils.hpp @@ -1,6 +1,8 @@ #ifndef slic3r_Parameter_Utils_hpp_ #define slic3r_Parameter_Utils_hpp_ +#include +#include #include #include #include "PrintConfig.hpp" diff --git a/src/libslic3r/PerimeterGenerator.cpp b/src/libslic3r/PerimeterGenerator.cpp index dc6b77f970..406e2800fa 100644 --- a/src/libslic3r/PerimeterGenerator.cpp +++ b/src/libslic3r/PerimeterGenerator.cpp @@ -1,25 +1,43 @@ #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 +#include +#include "libslic3r.h" +#include #include "libslic3r/AABBTreeLines.hpp" #include "Print.hpp" static const int overhang_sampling_number = 6; diff --git a/src/libslic3r/PerimeterGenerator.hpp b/src/libslic3r/PerimeterGenerator.hpp index cd49b4acdd..c4d5b06095 100644 --- a/src/libslic3r/PerimeterGenerator.hpp +++ b/src/libslic3r/PerimeterGenerator.hpp @@ -1,8 +1,15 @@ #ifndef slic3r_PerimeterGenerator_hpp_ #define slic3r_PerimeterGenerator_hpp_ +#include "ExtrusionEntityCollection.hpp" +#include "Point.hpp" +#include "Surface.hpp" #include "libslic3r.h" +#include +#include +#include #include +#include #include #include "Layer.hpp" #include "Flow.hpp" diff --git a/src/libslic3r/PlaceholderParser.cpp b/src/libslic3r/PlaceholderParser.cpp index 1d7abcd5de..8bddfc1f10 100644 --- a/src/libslic3r/PlaceholderParser.cpp +++ b/src/libslic3r/PlaceholderParser.cpp @@ -1,12 +1,52 @@ #include "PlaceholderParser.hpp" +#include "Config.hpp" #include "Exception.hpp" #include "Flow.hpp" +#include "PrintConfig.hpp" +#include "Point.hpp" #include "Utils.hpp" +#include "libslic3r_version.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "libslic3r.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include #include #include #include +#include +#include +#include +#include #include #include +#include +#include #ifdef _MSC_VER #include // provides **_environ #else diff --git a/src/libslic3r/PlaceholderParser.hpp b/src/libslic3r/PlaceholderParser.hpp index e32a4de9dc..962517a252 100644 --- a/src/libslic3r/PlaceholderParser.hpp +++ b/src/libslic3r/PlaceholderParser.hpp @@ -1,8 +1,10 @@ #ifndef slic3r_PlaceholderParser_hpp_ #define slic3r_PlaceholderParser_hpp_ +#include "Config.hpp" #include "libslic3r.h" #include +#include #include #include #include diff --git a/src/libslic3r/Platform.cpp b/src/libslic3r/Platform.cpp index d2ca27fa96..35a30712d9 100644 --- a/src/libslic3r/Platform.cpp +++ b/src/libslic3r/Platform.cpp @@ -2,6 +2,11 @@ #include #include +#include +#include +#include +#include +#include #if defined(__APPLE__) #include diff --git a/src/libslic3r/Point.cpp b/src/libslic3r/Point.cpp index 9a2c2b14cd..e3ac888ede 100644 --- a/src/libslic3r/Point.cpp +++ b/src/libslic3r/Point.cpp @@ -5,7 +5,14 @@ #include "Polyline.hpp" #include "Int128.hpp" #include "BoundingBox.hpp" +#include +#include "libslic3r.h" #include +#include +#include +#include +#include +#include namespace Slic3r { diff --git a/src/libslic3r/Point.hpp b/src/libslic3r/Point.hpp index 21e5355fc5..6b8c1a81d7 100644 --- a/src/libslic3r/Point.hpp +++ b/src/libslic3r/Point.hpp @@ -2,7 +2,18 @@ #define slic3r_Point_hpp_ #include "libslic3r.h" +#include +#include +#include #include +#include +#include +#include +#include +#include +#include +#include +#include #include #include #include diff --git a/src/libslic3r/Polygon.cpp b/src/libslic3r/Polygon.cpp index b2e2888111..d7591ae27c 100644 --- a/src/libslic3r/Polygon.cpp +++ b/src/libslic3r/Polygon.cpp @@ -2,9 +2,22 @@ #include "ClipperUtils.hpp" #include "Exception.hpp" #include "Polygon.hpp" +#include "Line.hpp" +#include "Point.hpp" +#include "MultiPoint.hpp" #include "Polyline.hpp" +#include "libslic3r.h" +#include +#include +#include #include +#include +#include +#include +#include +#include +#include namespace Slic3r { diff --git a/src/libslic3r/Polygon.hpp b/src/libslic3r/Polygon.hpp index 1e12c77c18..2c9667ad10 100644 --- a/src/libslic3r/Polygon.hpp +++ b/src/libslic3r/Polygon.hpp @@ -2,6 +2,13 @@ #define slic3r_Polygon_hpp_ #include "libslic3r.h" +#include +#include +#include +#include +#include +#include +#include #include #include #include "Line.hpp" diff --git a/src/libslic3r/PolygonTrimmer.cpp b/src/libslic3r/PolygonTrimmer.cpp index 2c4e06fc58..a9cdafc73b 100644 --- a/src/libslic3r/PolygonTrimmer.cpp +++ b/src/libslic3r/PolygonTrimmer.cpp @@ -1,6 +1,11 @@ #include "PolygonTrimmer.hpp" #include "EdgeGrid.hpp" #include "Geometry.hpp" +#include "Polygon.hpp" +#include +#include "Point.hpp" +#include "libslic3r.h" +#include namespace Slic3r { diff --git a/src/libslic3r/PolygonTrimmer.hpp b/src/libslic3r/PolygonTrimmer.hpp index 93e94e303f..4f0608169b 100644 --- a/src/libslic3r/PolygonTrimmer.hpp +++ b/src/libslic3r/PolygonTrimmer.hpp @@ -1,6 +1,7 @@ #ifndef slic3r_PolygonTrimmer_hpp_ #define slic3r_PolygonTrimmer_hpp_ +#include "Point.hpp" #include "libslic3r.h" #include #include diff --git a/src/libslic3r/Polyline.cpp b/src/libslic3r/Polyline.cpp index 98a5366ecf..278522bfd9 100644 --- a/src/libslic3r/Polyline.cpp +++ b/src/libslic3r/Polyline.cpp @@ -1,11 +1,21 @@ +#include "ArcFitter.hpp" #include "BoundingBox.hpp" #include "Polyline.hpp" #include "Exception.hpp" #include "ExPolygon.hpp" #include "Line.hpp" +#include "Point.hpp" +#include "MultiPoint.hpp" #include "Polygon.hpp" +#include +#include +#include +#include "libslic3r.h" +#include #include +#include #include +#include namespace Slic3r { diff --git a/src/libslic3r/Polyline.hpp b/src/libslic3r/Polyline.hpp index aa9282970e..3b59ab6c4c 100644 --- a/src/libslic3r/Polyline.hpp +++ b/src/libslic3r/Polyline.hpp @@ -1,10 +1,16 @@ #ifndef slic3r_Polyline_hpp_ #define slic3r_Polyline_hpp_ +#include "Point.hpp" #include "libslic3r.h" #include "Line.hpp" #include "MultiPoint.hpp" +#include +#include +#include +#include #include +#include #include //BBS: new necessary header file #include "ArcFitter.hpp" diff --git a/src/libslic3r/Preset.cpp b/src/libslic3r/Preset.cpp index 9ba142dd21..5c87b6b03e 100644 --- a/src/libslic3r/Preset.cpp +++ b/src/libslic3r/Preset.cpp @@ -1,4 +1,30 @@ +#include +#include +#include +#include +#include +#include +#include +#include +#include #include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include #include "Config.hpp" #include "Exception.hpp" @@ -7,6 +33,9 @@ #include "AppConfig.hpp" #include "LocalesUtils.hpp" #include "ParallelResolve.hpp" +#include "Semver.hpp" +#include "PrintConfig.hpp" +#include "libslic3r_version.h" #ifdef _MSC_VER #define WIN32_LEAN_AND_MEAN diff --git a/src/libslic3r/Preset.hpp b/src/libslic3r/Preset.hpp index 0134681f9f..2b1fb372af 100644 --- a/src/libslic3r/Preset.hpp +++ b/src/libslic3r/Preset.hpp @@ -1,7 +1,13 @@ #ifndef slic3r_Preset_hpp_ #define slic3r_Preset_hpp_ +#include +#include +#include +#include #include +#include +#include #include #include #include @@ -12,10 +18,14 @@ #include #include #include +#include +#include +#include "Config.hpp" #include "PrintConfig.hpp" #include "Semver.hpp" #include "ProjectTask.hpp" +#include "libslic3r.h" //BBS: change system directories #define PRESET_SYSTEM_DIR "system" diff --git a/src/libslic3r/PresetBundle.cpp b/src/libslic3r/PresetBundle.cpp index c7c31918a5..87ffa1a822 100644 --- a/src/libslic3r/PresetBundle.cpp +++ b/src/libslic3r/PresetBundle.cpp @@ -1,16 +1,45 @@ #include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include #include +#include #include +#include +#include +#include #include +#include +#include +#include +#include +#include +#include +#include +#include #include #include "PresetBundle.hpp" +#include "Config.hpp" +#include "Exception.hpp" +#include "AppConfig.hpp" #include "ParallelResolve.hpp" +#include "Preset.hpp" #include "PresetCacheFormat.hpp" #include "PrintConfig.hpp" #include "PublishSettings.hpp" #include "FilamentMixer.hpp" +#include "Semver.hpp" #include "libslic3r.h" #include "I18N.hpp" #include "Utils.hpp" @@ -25,6 +54,11 @@ #include #include #include +#include +#include +#include +#include +#include #include #include #include @@ -43,6 +77,8 @@ #include #include #include +#include +#include // Mark string for localization and translate. #define L(s) Slic3r::I18N::translate(s) diff --git a/src/libslic3r/PresetBundle.hpp b/src/libslic3r/PresetBundle.hpp index e09ce9dcb5..46d81a9052 100644 --- a/src/libslic3r/PresetBundle.hpp +++ b/src/libslic3r/PresetBundle.hpp @@ -1,16 +1,23 @@ #ifndef slic3r_PresetBundle_hpp_ #define slic3r_PresetBundle_hpp_ +#include "Config.hpp" #include "Preset.hpp" #include "PresetCacheFormat.hpp" #include "AppConfig.hpp" +#include "PrintConfig.hpp" #include "PublishSettings.hpp" +#include "Semver.hpp" #include "enum_bitmask.hpp" +#include +#include +#include #include #include #include #include +#include #include #include #include @@ -18,6 +25,8 @@ #include #include #include +#include +#include #define DEFAULT_USER_FOLDER_NAME "default" #define BUNDLE_STRUCTURE_JSON_NAME "bundle_structure.json" diff --git a/src/libslic3r/PresetCacheFormat.cpp b/src/libslic3r/PresetCacheFormat.cpp index a45bcb77ac..01e634a581 100644 --- a/src/libslic3r/PresetCacheFormat.cpp +++ b/src/libslic3r/PresetCacheFormat.cpp @@ -1,9 +1,20 @@ #include "libslic3r/PresetCacheFormat.hpp" #include +#include +#include +#include +#include +#include +#include +#include +#include #include #include #include +#include +#include +#include #include #include @@ -14,7 +25,12 @@ #include #include #include +#include +#include "Config.hpp" +#include "PrintConfig.hpp" +#include "Semver.hpp" +#include "Preset.hpp" #include "libslic3r/Utils.hpp" namespace Slic3r { diff --git a/src/libslic3r/PresetCacheFormat.hpp b/src/libslic3r/PresetCacheFormat.hpp index 52c40bea21..8ad1c5bde5 100644 --- a/src/libslic3r/PresetCacheFormat.hpp +++ b/src/libslic3r/PresetCacheFormat.hpp @@ -1,6 +1,7 @@ #ifndef slic3r_PresetCacheFormat_hpp_ #define slic3r_PresetCacheFormat_hpp_ +#include #include #include #include diff --git a/src/libslic3r/PrincipalComponents2D.cpp b/src/libslic3r/PrincipalComponents2D.cpp index 7bdf793157..6d88320286 100644 --- a/src/libslic3r/PrincipalComponents2D.cpp +++ b/src/libslic3r/PrincipalComponents2D.cpp @@ -1,5 +1,11 @@ #include "PrincipalComponents2D.hpp" #include "Point.hpp" +#include +#include +#include "Polygon.hpp" +#include +#include "libslic3r.h" +#include namespace Slic3r { diff --git a/src/libslic3r/PrincipalComponents2D.hpp b/src/libslic3r/PrincipalComponents2D.hpp index dc8897a7a7..adf8e77a20 100644 --- a/src/libslic3r/PrincipalComponents2D.hpp +++ b/src/libslic3r/PrincipalComponents2D.hpp @@ -3,7 +3,9 @@ #include "AABBTreeLines.hpp" #include "BoundingBox.hpp" +#include "Point.hpp" #include "libslic3r.h" +#include #include #include "Polygon.hpp" diff --git a/src/libslic3r/Print.cpp b/src/libslic3r/Print.cpp index 6d60874c18..bb91441c79 100644 --- a/src/libslic3r/Print.cpp +++ b/src/libslic3r/Print.cpp @@ -3,6 +3,56 @@ // needs the Win32 types declared already. #include #endif + +#include "PrintBase.hpp" +#include +#include +#include +#include +#include "libslic3r.h" +#include "calib.hpp" +#include +#include "CustomGCode.hpp" +#include "ObjectID.hpp" +#include +#include "Point.hpp" +#include "Polygon.hpp" +#include "Geometry.hpp" +#include +#include +#include +#include +#include "Slicing.hpp" +#include +#include "TriangleSelector.hpp" +#include "GCode/AdaptivePAProcessor.hpp" +#include +#include +#include "ExPolygon.hpp" +#include "Layer.hpp" +#include "FilamentGroup.hpp" +#include +#include "FilamentGroupUtils.hpp" +#include "MultiNozzleUtils.hpp" +#include +#include +#include "GCode/GCodeProcessor.hpp" +#include "GCode/ThumbnailData.hpp" +#include "ExtrusionEntity.hpp" +#include +#include "CommonDefs.hpp" +#include +#include +#include +#include "Surface.hpp" +#include "Circle.hpp" +#include "Polyline.hpp" +#include "ArcFitter.hpp" +#include +#include +#include +#include +#include "TriangleMesh.hpp" #include "Config.hpp" #include "Exception.hpp" #include "Print.hpp" @@ -4298,10 +4348,11 @@ Polygons Print::get_extruder_shared_printable_polygon() const return shared_printable_polys; } -// Narrow the stored grouping result to the layer-aware type the slicing pipeline uses. -std::shared_ptr Print::get_layered_nozzle_group_result() const +void Print::set_nozzle_group_result(std::shared_ptr result) { - return std::dynamic_pointer_cast(m_nozzle_group_result); + m_nozzle_group_result = std::move(result); + m_layered_nozzle_group_result = std::dynamic_pointer_cast(m_nozzle_group_result); + ++m_config_index_generation; } // Dynamic (per-layer selector) regroup predicate. @@ -4337,6 +4388,7 @@ int Print::get_filament_config_indx(int filament_id, int layer_id, bool use_cach void Print::update_filament_self_index_cache() { m_missing_nozzle_group_logged.clear(); // reset the per-slice get_config_index log dedupe + ++m_config_index_generation; std::vector values; if (m_full_print_config.has("filament_self_index")) { @@ -4376,7 +4428,7 @@ int Print::get_nozzle_config_index(int filament_id, int layer_id) int Print::get_config_index(int filament_id, int layer_id, const std::vector &variant_list, const std::vector& self_index_list, FilamentIndexMap *index_map) { - auto group_result = get_layered_nozzle_group_result(); + const MultiNozzleUtils::LayeredNozzleGroupResult *group_result = m_layered_nozzle_group_result.get(); // Orca: defensive — when no grouping producer has published a result yet, fall back to the // static identity: one filament-variant column per filament. if (!group_result) @@ -4411,7 +4463,7 @@ int Print::get_config_index(int filament_id, int layer_id, const std::vector &variant_list, const std::vector& self_index_list, PrintIndexMap &index_map) { - auto group_result = get_layered_nozzle_group_result(); + const MultiNozzleUtils::LayeredNozzleGroupResult *group_result = m_layered_nozzle_group_result.get(); // Orca: same static fallback as the filament overload; the slot degenerates to the filament's // extruder column (filament_map is 1 based, get_extruder_id guards the filament id range). if (!group_result) diff --git a/src/libslic3r/Print.hpp b/src/libslic3r/Print.hpp index f185962b1e..2fe135a24c 100644 --- a/src/libslic3r/Print.hpp +++ b/src/libslic3r/Print.hpp @@ -1,6 +1,14 @@ #ifndef slic3r_Print_hpp_ #define slic3r_Print_hpp_ +#include "Config.hpp" +#include "Model.hpp" +#include "Polygon.hpp" +#include "Fill/FillBase.hpp" +#include "Polyline.hpp" +#include "ExtrusionEntity.hpp" +#include "Geometry.hpp" +#include "CommonDefs.hpp" #include "PrintBase.hpp" #include "Fill/FillAdaptive.hpp" #include "Fill/FillLightning.hpp" @@ -9,7 +17,9 @@ #include "ExtrusionEntityCollection.hpp" #include "Flow.hpp" #include "Point.hpp" +#include "PrintConfig.hpp" #include "Slicing.hpp" +#include "TriangleMesh.hpp" #include "TriangleMeshSlicer.hpp" #include "GCode/ToolOrdering.hpp" #include "GCode/WipeTower.hpp" @@ -18,13 +28,25 @@ #include "GCode/GCodeProcessor.hpp" #include "MultiMaterialSegmentation.hpp" #include "ObjectID.hpp" +#include "TriangleSelector.hpp" #include "libslic3r.h" #include +#include +#include +#include #include +#include +#include +#include +#include #include +#include +#include #include +#include +#include #include "calib.hpp" @@ -1073,9 +1095,9 @@ public: // Logical (extruder, nozzle) grouping result produced by ToolOrdering during reorder. // Consumed by GCode via get_layered_nozzle_group_result()->get_nozzle_id(filament, layer) etc. - void set_nozzle_group_result(std::shared_ptr result) { m_nozzle_group_result = result; } + void set_nozzle_group_result(std::shared_ptr result); std::shared_ptr get_nozzle_group_result() const { return m_nozzle_group_result; } - std::shared_ptr get_layered_nozzle_group_result() const; + std::shared_ptr get_layered_nozzle_group_result() const { return m_layered_nozzle_group_result; } // True only when the project opts into the per-layer filament selector // (enable_filament_dynamic_map) in auto-for-flush mode on a multi-extruder machine. Gates the @@ -1226,6 +1248,9 @@ public: // pipeline's cooling stage, which runs concurrently with the generator stage filling it. int get_filament_config_indx(int filament_id, int layer_id, bool use_cache = true); int get_nozzle_config_index(int filament_id, int layer_id); + // Changes with the grouping result and the filament maps, so a caller may reuse a resolved slot + // until it changes. + size_t config_index_generation() const { return m_config_index_generation; } // Orca: Implement prusa's filament shrink compensation approach // Returns if all used filaments have same shrinkage compensations. @@ -1352,6 +1377,9 @@ private: // Logical (extruder, nozzle) grouping result, set by ToolOrdering during reorder. std::shared_ptr m_nozzle_group_result; + // m_nozzle_group_result narrowed to the layer-aware type; only set_nozzle_group_result() assigns + // either. + std::shared_ptr m_layered_nozzle_group_result; // Sequential (by-object) selector plans, keyed by object; see sequential_dynamic_orderings(). // Rebuilt (or cleared) on every process(). @@ -1361,6 +1389,7 @@ private: FilamentIndexMap m_filament_index_map; // Used to cache printer and process parameter information PrintIndexMap m_nozzle_index_map; + size_t m_config_index_generation{0}; // Orca: filament ids already reported as missing a nozzle-group entry this slice. get_config_index() // falls back per-filament/per-layer in the g-code hot path, so this dedupes its log to once per // filament instead of flooding thousands of identical error lines. Cleared with the caches each slice. diff --git a/src/libslic3r/PrintApply.cpp b/src/libslic3r/PrintApply.cpp index 21e2251b65..6b9a559f03 100644 --- a/src/libslic3r/PrintApply.cpp +++ b/src/libslic3r/PrintApply.cpp @@ -1,10 +1,35 @@ #include "ClipperUtils.hpp" +#include "Geometry.hpp" +#include "CustomGCode.hpp" +#include "Config.hpp" #include "Model.hpp" +#include "Point.hpp" +#include "Polygon.hpp" #include "Print.hpp" #include "FilamentMixer.hpp" +#include "Slicing.hpp" +#include "libslic3r.h" +#include "PrintConfig.hpp" +#include "PrintBase.hpp" +#include "libslic3r_version.h" +#include "TriangleSelector.hpp" +#include +#include #include +#include #include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include namespace Slic3r { @@ -1309,7 +1334,7 @@ Print::ApplyStatus Print::apply(const Model &model, DynamicPrintConfig new_full_ // Reproduce that exact expansion here so an unchanged config diffs empty — the expanded // keys invalidate the wipe tower / g-code export, and the placeholder parser aliases // the full config — instead of trimming back to one slot per filament. - auto group_result = std::dynamic_pointer_cast(this->get_nozzle_group_result()); + auto group_result = this->get_layered_nozzle_group_result(); std::unordered_map> filament_variant_uses; if (group_result && group_result->is_support_dynamic_nozzle_map() && collect_filament_variant_uses(*group_result, m_ori_full_print_config, filament_variant_uses)) diff --git a/src/libslic3r/PrintBase.cpp b/src/libslic3r/PrintBase.cpp index 4448c12c76..7b022c8c84 100644 --- a/src/libslic3r/PrintBase.cpp +++ b/src/libslic3r/PrintBase.cpp @@ -1,11 +1,23 @@ +#include "Config.hpp" #include "Exception.hpp" #include "PrintBase.hpp" #include +#include #include #include +#include +#include +#include +#include +#include +#include #include "I18N.hpp" +#include "Model.hpp" +#include "libslic3r.h" +#include "libslic3r_version.h" +#include "PlaceholderParser.hpp" //! macro used to mark string used at localization, //! return same string diff --git a/src/libslic3r/PrintBase.hpp b/src/libslic3r/PrintBase.hpp index f1b158e51f..7e2b17e48f 100644 --- a/src/libslic3r/PrintBase.hpp +++ b/src/libslic3r/PrintBase.hpp @@ -1,8 +1,15 @@ #ifndef slic3r_PrintBase_hpp_ #define slic3r_PrintBase_hpp_ +#include "Config.hpp" +#include "Polygon.hpp" #include "libslic3r.h" +#include +#include +#include +#include #include +#include #include #include #include diff --git a/src/libslic3r/PrintConfig.cpp b/src/libslic3r/PrintConfig.cpp index fbd72117cd..76073b4981 100644 --- a/src/libslic3r/PrintConfig.cpp +++ b/src/libslic3r/PrintConfig.cpp @@ -1,14 +1,35 @@ #include "PrintConfig.hpp" +#include "CommonDefs.hpp" +#include "Point.hpp" +#include "Polygon.hpp" #include "PrintConfigConstants.hpp" #include "ClipperUtils.hpp" #include "Config.hpp" #include "FilamentMixer.hpp" #include "MaterialType.hpp" #include "I18N.hpp" +#include "enum_bitmask.hpp" #include "format.hpp" #include "GCode/Thumbnails.hpp" #include +#include +#include +#include +#include +#include +#include +#include +#include "libslic3r.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include #include #include #include @@ -19,6 +40,11 @@ #include #include #include +#include +#include +#include +#include +#include namespace { std::set SplitStringAndRemoveDuplicateElement(const std::string &str, const std::string &separator) diff --git a/src/libslic3r/PrintConfig.hpp b/src/libslic3r/PrintConfig.hpp index f2c7b2810a..0a478d66dc 100644 --- a/src/libslic3r/PrintConfig.hpp +++ b/src/libslic3r/PrintConfig.hpp @@ -16,10 +16,13 @@ #ifndef slic3r_PrintConfig_hpp_ #define slic3r_PrintConfig_hpp_ +#include "Point.hpp" #include "libslic3r.h" #include "CommonDefs.hpp" #include "Config.hpp" #include "Polygon.hpp" +#include +#include #include #include #include @@ -27,6 +30,19 @@ #include #include #include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include namespace Slic3r { diff --git a/src/libslic3r/PrintObject.cpp b/src/libslic3r/PrintObject.cpp index 1b1b44afcd..0a9750ed2d 100644 --- a/src/libslic3r/PrintObject.cpp +++ b/src/libslic3r/PrintObject.cpp @@ -1,6 +1,12 @@ +#include "ExPolygon.hpp" +#include "Config.hpp" #include "Exception.hpp" +#include "Line.hpp" +#include "Flow.hpp" #include "Model.hpp" #include "Point.hpp" +#include "Polygon.hpp" +#include "Polyline.hpp" #include "Print.hpp" #include "BoundingBox.hpp" #include "ClipperUtils.hpp" @@ -9,6 +15,7 @@ #include "I18N.hpp" #include "Layer.hpp" #include "MutablePolygon.hpp" +#include "PrintBase.hpp" #include "PrintConfig.hpp" #include "SLA/IndexedMesh.hpp" #include "Support/SupportMaterial.hpp" @@ -18,6 +25,7 @@ #include "Slicing.hpp" #include "Tesselate.hpp" #include "TriangleMeshSlicer.hpp" +#include "TriangleSelector.hpp" #include "Utils.hpp" #include "Fill/FillAdaptive.hpp" #include "Fill/Fill.hpp" @@ -26,17 +34,40 @@ #include "format.hpp" #include "AABBTreeIndirect.hpp" #include "AABBTreeLines.hpp" +#include "libslic3r.h" +#include +#include +#include +#include +#include +#include +#include #include +#include +#include #include #include +#include +#include +#include +#include #include +#include +#include +#include +#include #include +#include +#include +#include #include #include #include #include #include +#include +#include #include #include @@ -47,6 +78,7 @@ #include #include +#include using namespace std::literals; diff --git a/src/libslic3r/PrintObjectSlice.cpp b/src/libslic3r/PrintObjectSlice.cpp index 14bd65c9cf..43a9b703a0 100644 --- a/src/libslic3r/PrintObjectSlice.cpp +++ b/src/libslic3r/PrintObjectSlice.cpp @@ -1,16 +1,42 @@ +#include #include +#include +#include +#include +#include +#include +#include +#include +#include #include +#include +#include +#include "BoundingBox.hpp" #include "ClipperUtils.hpp" #include "ElephantFootCompensation.hpp" +#include "ExPolygon.hpp" #include "Exception.hpp" +#include "Flow.hpp" #include "I18N.hpp" #include "Layer.hpp" +#include "Model.hpp" #include "MultiMaterialSegmentation.hpp" +#include "ObjectID.hpp" +#include "Point.hpp" +#include "Polygon.hpp" #include "Print.hpp" //BBS +#include "PrintConfig.hpp" +#include "PrintBase.hpp" #include "ShortestPath.hpp" +#include "libslic3r.h" +#include "TriangleMeshSlicer.hpp" +#include "TriangleMesh.hpp" +#include "Slicing.hpp" +#include "Surface.hpp" +#include "Utils.hpp" #include "libslic3r/Feature/Interlocking/InterlockingGenerator.hpp" //! macro used to mark string used at localization, return same string diff --git a/src/libslic3r/PrintRegion.cpp b/src/libslic3r/PrintRegion.cpp index 5c08de8b36..52018223ca 100644 --- a/src/libslic3r/PrintRegion.cpp +++ b/src/libslic3r/PrintRegion.cpp @@ -1,5 +1,13 @@ +#include "Config.hpp" #include "Exception.hpp" +#include "Flow.hpp" #include "Print.hpp" +#include +#include "PrintConfig.hpp" +#include "libslic3r.h" +#include +#include +#include namespace Slic3r { diff --git a/src/libslic3r/ProjectTask.cpp b/src/libslic3r/ProjectTask.cpp index fe5fd36a45..33be040999 100644 --- a/src/libslic3r/ProjectTask.cpp +++ b/src/libslic3r/ProjectTask.cpp @@ -4,6 +4,11 @@ #include "ProjectTask.hpp" +#include +#include +#include +#include +#include #include #include #include diff --git a/src/libslic3r/ProjectTask.hpp b/src/libslic3r/ProjectTask.hpp index fd9dd2db3b..47eaa37dcc 100644 --- a/src/libslic3r/ProjectTask.hpp +++ b/src/libslic3r/ProjectTask.hpp @@ -1,6 +1,7 @@ #ifndef slic3r_ProjectTask_hpp_ #define slic3r_ProjectTask_hpp_ +#include #include #include #include diff --git a/src/libslic3r/PublishSettings.cpp b/src/libslic3r/PublishSettings.cpp index 6d28cc0af3..435c8e44eb 100644 --- a/src/libslic3r/PublishSettings.cpp +++ b/src/libslic3r/PublishSettings.cpp @@ -1,5 +1,6 @@ #include "PublishSettings.hpp" +#include "Config.hpp" #include "PresetBundle.hpp" #include "Preset.hpp" #include "PrintConfig.hpp" @@ -8,8 +9,11 @@ #include #include +#include #include #include +#include +#include namespace Slic3r { diff --git a/src/libslic3r/QuadricEdgeCollapse.cpp b/src/libslic3r/QuadricEdgeCollapse.cpp index 5d0e3c17e8..27f820e453 100644 --- a/src/libslic3r/QuadricEdgeCollapse.cpp +++ b/src/libslic3r/QuadricEdgeCollapse.cpp @@ -1,8 +1,22 @@ #include "QuadricEdgeCollapse.hpp" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include #include #include #include "MutablePriorityQueue.hpp" +#include "libslic3r.h" +#include "Point.hpp" #include +#include +#include using namespace Slic3r; diff --git a/src/libslic3r/SLA/AGGRaster.hpp b/src/libslic3r/SLA/AGGRaster.hpp index 7c8e71c2ae..52c95eae5b 100644 --- a/src/libslic3r/SLA/AGGRaster.hpp +++ b/src/libslic3r/SLA/AGGRaster.hpp @@ -1,7 +1,14 @@ #ifndef AGGRASTER_HPP #define AGGRASTER_HPP +#include +#include +#include +#include #include +#include "libslic3r/Polygon.hpp" +#include "libslic3r/Point.hpp" +#include "libslic3r/libslic3r.h" #include "libslic3r/ExPolygon.hpp" // For rasterizing @@ -15,6 +22,8 @@ #include #include #include +#include +#include namespace Slic3r { diff --git a/src/libslic3r/SLA/BoostAdapter.hpp b/src/libslic3r/SLA/BoostAdapter.hpp index 13e0465b14..d5487808a7 100644 --- a/src/libslic3r/SLA/BoostAdapter.hpp +++ b/src/libslic3r/SLA/BoostAdapter.hpp @@ -1,10 +1,22 @@ #ifndef SLA_BOOSTADAPTER_HPP #define SLA_BOOSTADAPTER_HPP +#include +#include +#include +#include "libslic3r/libslic3r.h" +#include +#include +#include +#include +#include +#include +#include #include #include #include +#include namespace boost { namespace geometry { diff --git a/src/libslic3r/SLA/Clustering.cpp b/src/libslic3r/SLA/Clustering.cpp index 41ff1d4f09..010ce5d6e1 100644 --- a/src/libslic3r/SLA/Clustering.cpp +++ b/src/libslic3r/SLA/Clustering.cpp @@ -1,8 +1,16 @@ #include "Clustering.hpp" #include "boost/geometry/index/rtree.hpp" +#include +#include +#include +#include +#include +#include #include #include +#include +#include namespace Slic3r { namespace sla { diff --git a/src/libslic3r/SLA/Clustering.hpp b/src/libslic3r/SLA/Clustering.hpp index 269ec28822..0f1e113b22 100644 --- a/src/libslic3r/SLA/Clustering.hpp +++ b/src/libslic3r/SLA/Clustering.hpp @@ -1,6 +1,11 @@ #ifndef SLA_CLUSTERING_HPP #define SLA_CLUSTERING_HPP +#include +#include +#include +#include +#include #include #include diff --git a/src/libslic3r/SLA/ConcaveHull.cpp b/src/libslic3r/SLA/ConcaveHull.cpp index 2484fda2ff..8d361fc5b5 100644 --- a/src/libslic3r/SLA/ConcaveHull.cpp +++ b/src/libslic3r/SLA/ConcaveHull.cpp @@ -1,3 +1,10 @@ +#include "libslic3r/Point.hpp" +#include "libslic3r/libslic3r.h" +#include +#include +#include "libslic3r/Polygon.hpp" +#include +#include "libslic3r/ExPolygon.hpp" #include #include @@ -5,6 +12,8 @@ #include #include +#include +#include namespace Slic3r { namespace sla { diff --git a/src/libslic3r/SLA/ConcaveHull.hpp b/src/libslic3r/SLA/ConcaveHull.hpp index dccdafd18c..5c697c2595 100644 --- a/src/libslic3r/SLA/ConcaveHull.hpp +++ b/src/libslic3r/SLA/ConcaveHull.hpp @@ -1,6 +1,10 @@ #ifndef SLA_CONCAVEHULL_HPP #define SLA_CONCAVEHULL_HPP +#include "libslic3r/Polygon.hpp" +#include +#include "libslic3r/Point.hpp" +#include "libslic3r/libslic3r.h" #include namespace Slic3r { diff --git a/src/libslic3r/SLA/Concurrency.hpp b/src/libslic3r/SLA/Concurrency.hpp index 7299101b31..35e30d88d7 100644 --- a/src/libslic3r/SLA/Concurrency.hpp +++ b/src/libslic3r/SLA/Concurrency.hpp @@ -3,6 +3,8 @@ // FIXME: Deprecated +#include "libslic3r/Execution/Execution.hpp" +#include #include #include diff --git a/src/libslic3r/SLA/Hollowing.cpp b/src/libslic3r/SLA/Hollowing.cpp index f50cdbced2..d21744a026 100644 --- a/src/libslic3r/SLA/Hollowing.cpp +++ b/src/libslic3r/SLA/Hollowing.cpp @@ -1,5 +1,20 @@ +#include "libslic3r/SLA/JobController.hpp" +#include +#include +#include "libslic3r/libslic3r.h" +#include +#include +#include "libslic3r/Point.hpp" +#include +#include +#include "libslic3r/ExPolygon.hpp" +#include +#include "libslic3r/SLA/Concurrency.hpp" #include +#include +#include #include +#include #include #include @@ -15,6 +30,8 @@ #include #include +#include +#include //! macro used to mark string used at localization, //! return same string diff --git a/src/libslic3r/SLA/Hollowing.hpp b/src/libslic3r/SLA/Hollowing.hpp index f6beaadb24..fd06f93a34 100644 --- a/src/libslic3r/SLA/Hollowing.hpp +++ b/src/libslic3r/SLA/Hollowing.hpp @@ -1,9 +1,17 @@ #ifndef SLA_HOLLOWING_HPP #define SLA_HOLLOWING_HPP +#include "libslic3r/Point.hpp" +#include +#include +#include "libslic3r/libslic3r.h" +#include "libslic3r/ExPolygon.hpp" +#include #include #include #include +#include +#include namespace Slic3r { diff --git a/src/libslic3r/SLA/IndexedMesh.cpp b/src/libslic3r/SLA/IndexedMesh.cpp index 65d9d90b34..d17f9497fc 100644 --- a/src/libslic3r/SLA/IndexedMesh.cpp +++ b/src/libslic3r/SLA/IndexedMesh.cpp @@ -1,10 +1,24 @@ #include "IndexedMesh.hpp" +#include "libslic3r/BoundingBox.hpp" #include "Concurrency.hpp" +#include "libslic3r/Point.hpp" +#include "libslic3r/libslic3r.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include #include #include +#include #include +#include #ifdef SLIC3R_HOLE_RAYCASTER #include diff --git a/src/libslic3r/SLA/IndexedMesh.hpp b/src/libslic3r/SLA/IndexedMesh.hpp index bb2dee034c..b377064115 100644 --- a/src/libslic3r/SLA/IndexedMesh.hpp +++ b/src/libslic3r/SLA/IndexedMesh.hpp @@ -1,6 +1,12 @@ #ifndef SLA_INDEXEDMESH_H #define SLA_INDEXEDMESH_H +#include +#include +#include +#include +#include +#include #include #include diff --git a/src/libslic3r/SLA/Pad.cpp b/src/libslic3r/SLA/Pad.cpp index 8726dfa55b..887676174d 100644 --- a/src/libslic3r/SLA/Pad.cpp +++ b/src/libslic3r/SLA/Pad.cpp @@ -1,3 +1,5 @@ +#include +#include #include #include #include @@ -6,6 +8,9 @@ #include "ConcaveHull.hpp" +#include "libslic3r/Point.hpp" +#include "libslic3r/ExPolygon.hpp" +#include "libslic3r/TriangleMesh.hpp" #include "boost/log/trivial.hpp" #include "ClipperUtils.hpp" #include "Tesselate.hpp" @@ -19,7 +24,11 @@ #include "SVG.hpp" #include "I18N.hpp" +#include "libslic3r/libslic3r.h" #include +#include +#include +#include //! macro used to mark string used at localization, //! return same string diff --git a/src/libslic3r/SLA/RasterBase.cpp b/src/libslic3r/SLA/RasterBase.cpp index 7240b198da..dadfa23e96 100644 --- a/src/libslic3r/SLA/RasterBase.cpp +++ b/src/libslic3r/SLA/RasterBase.cpp @@ -1,13 +1,25 @@ #ifndef SLARASTER_CPP #define SLARASTER_CPP +#include +#include +#include +#include +#include #include +#include +#include #include #include // minz image write: +#include #include +#include +#include +#include +#include namespace Slic3r { namespace sla { diff --git a/src/libslic3r/SLA/RasterBase.hpp b/src/libslic3r/SLA/RasterBase.hpp index 33d39eafbd..44b7c0dccd 100644 --- a/src/libslic3r/SLA/RasterBase.hpp +++ b/src/libslic3r/SLA/RasterBase.hpp @@ -1,8 +1,13 @@ #ifndef SLA_RASTERBASE_HPP #define SLA_RASTERBASE_HPP +#include +#include +#include "libslic3r/libslic3r.h" +#include "libslic3r/Point.hpp" #include #include +#include #include #include #include diff --git a/src/libslic3r/SLA/RasterToPolygons.cpp b/src/libslic3r/SLA/RasterToPolygons.cpp index e05a721cd8..88620831d8 100644 --- a/src/libslic3r/SLA/RasterToPolygons.cpp +++ b/src/libslic3r/SLA/RasterToPolygons.cpp @@ -1,9 +1,18 @@ #include "RasterToPolygons.hpp" #include "AGGRaster.hpp" +#include "libslic3r/ExPolygon.hpp" +#include "libslic3r/Point.hpp" +#include "libslic3r/Polygon.hpp" +#include "libslic3r/libslic3r.h" #include "libslic3r/MarchingSquares.hpp" #include "MTUtils.hpp" #include "ClipperUtils.hpp" +#include +#include +#include +#include +#include namespace marchsq { diff --git a/src/libslic3r/SLA/RasterToPolygons.hpp b/src/libslic3r/SLA/RasterToPolygons.hpp index 5320887c8f..1f78865603 100644 --- a/src/libslic3r/SLA/RasterToPolygons.hpp +++ b/src/libslic3r/SLA/RasterToPolygons.hpp @@ -1,6 +1,7 @@ #ifndef RASTERTOPOLYGONS_HPP #define RASTERTOPOLYGONS_HPP +#include "libslic3r/Point.hpp" #include "libslic3r/ExPolygon.hpp" namespace Slic3r { diff --git a/src/libslic3r/SLA/ReprojectPointsOnMesh.hpp b/src/libslic3r/SLA/ReprojectPointsOnMesh.hpp index 3ad7d62b1e..881a0a0e22 100644 --- a/src/libslic3r/SLA/ReprojectPointsOnMesh.hpp +++ b/src/libslic3r/SLA/ReprojectPointsOnMesh.hpp @@ -7,7 +7,9 @@ #include "IndexedMesh.hpp" #include "libslic3r/Model.hpp" +#include #include +#include namespace Slic3r { namespace sla { diff --git a/src/libslic3r/SLA/Rotfinder.cpp b/src/libslic3r/SLA/Rotfinder.cpp index 196646dc9e..8134fb1d6c 100644 --- a/src/libslic3r/SLA/Rotfinder.cpp +++ b/src/libslic3r/SLA/Rotfinder.cpp @@ -1,3 +1,10 @@ +#include +#include +#include +#include +#include +#include +#include #include #include @@ -8,12 +15,19 @@ #include #include +#include "libslic3r/Point.hpp" +#include "libslic3r/libslic3r.h" +#include "libslic3r/Execution/Execution.hpp" +#include "libslic3r/Model.hpp" +#include "libslic3r/Optimize/Optimizer.hpp" +#include "libslic3r/BoundingBox.hpp" #include "libslic3r/SLAPrint.hpp" #include "libslic3r/PrintConfig.hpp" #include #include +#include namespace Slic3r { namespace sla { diff --git a/src/libslic3r/SLA/Rotfinder.hpp b/src/libslic3r/SLA/Rotfinder.hpp index d632419fb3..ba0f23b310 100644 --- a/src/libslic3r/SLA/Rotfinder.hpp +++ b/src/libslic3r/SLA/Rotfinder.hpp @@ -5,6 +5,7 @@ #include #include +#include namespace Slic3r { diff --git a/src/libslic3r/SLA/SpatIndex.cpp b/src/libslic3r/SLA/SpatIndex.cpp index d95ba55bee..3e36b4943e 100644 --- a/src/libslic3r/SLA/SpatIndex.cpp +++ b/src/libslic3r/SLA/SpatIndex.cpp @@ -1,7 +1,15 @@ #include "SpatIndex.hpp" +#include "libslic3r/BoundingBox.hpp" // for concave hull merging decisions +#include +#include +#include +#include +#include #include +#include +#include #ifdef _MSC_VER #pragma warning(push) diff --git a/src/libslic3r/SLA/SpatIndex.hpp b/src/libslic3r/SLA/SpatIndex.hpp index ef059d3ae6..a35806800c 100644 --- a/src/libslic3r/SLA/SpatIndex.hpp +++ b/src/libslic3r/SLA/SpatIndex.hpp @@ -1,6 +1,9 @@ #ifndef SLA_SPATINDEX_HPP #define SLA_SPATINDEX_HPP +#include +#include +#include #include #include #include diff --git a/src/libslic3r/SLA/SupportPoint.hpp b/src/libslic3r/SLA/SupportPoint.hpp index 71849a3643..6c2cf88075 100644 --- a/src/libslic3r/SLA/SupportPoint.hpp +++ b/src/libslic3r/SLA/SupportPoint.hpp @@ -1,7 +1,11 @@ #ifndef SLA_SUPPORTPOINT_HPP #define SLA_SUPPORTPOINT_HPP +#include +#include +#include "libslic3r/libslic3r.h" #include +#include namespace Slic3r { namespace sla { diff --git a/src/libslic3r/SLA/SupportPointGenerator.cpp b/src/libslic3r/SLA/SupportPointGenerator.cpp index e3cca1324f..f63430bede 100644 --- a/src/libslic3r/SLA/SupportPointGenerator.cpp +++ b/src/libslic3r/SLA/SupportPointGenerator.cpp @@ -1,6 +1,15 @@ //#include "igl/random_points_on_mesh.h" //#include "igl/AABB.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include #include #include "SupportPointGenerator.hpp" @@ -8,6 +17,9 @@ #include "Concurrency.hpp" #include "Model.hpp" #include "ExPolygon.hpp" +#include "libslic3r/SLA/IndexedMesh.hpp" +#include "libslic3r/SLA/SupportPoint.hpp" +#include "libslic3r/Polygon.hpp" #include "SVG.hpp" #include "Point.hpp" #include "ClipperUtils.hpp" @@ -17,6 +29,9 @@ #include #include +#include +#include +#include namespace Slic3r { namespace sla { diff --git a/src/libslic3r/SLA/SupportPointGenerator.hpp b/src/libslic3r/SLA/SupportPointGenerator.hpp index 17daed9f30..e48fa05335 100644 --- a/src/libslic3r/SLA/SupportPointGenerator.hpp +++ b/src/libslic3r/SLA/SupportPointGenerator.hpp @@ -1,6 +1,13 @@ #ifndef SLA_SUPPORTPOINTGENERATOR_HPP #define SLA_SUPPORTPOINTGENERATOR_HPP +#include "libslic3r/ExPolygon.hpp" +#include +#include "libslic3r/Polygon.hpp" +#include +#include "libslic3r/libslic3r.h" +#include +#include #include #include @@ -11,6 +18,9 @@ #include #include +#include +#include +#include // #define SLA_SUPPORTPOINTGEN_DEBUG diff --git a/src/libslic3r/SLA/SupportTree.cpp b/src/libslic3r/SLA/SupportTree.cpp index a0f88ed608..4de28ca45b 100644 --- a/src/libslic3r/SLA/SupportTree.cpp +++ b/src/libslic3r/SLA/SupportTree.cpp @@ -3,6 +3,12 @@ * */ +#include "libslic3r/TriangleMesh.hpp" +#include "libslic3r/ExPolygon.hpp" +#include "libslic3r/libslic3r.h" +#include +#include +#include #include #include #include @@ -18,6 +24,8 @@ #include #include #include +#include +#include //! macro used to mark string used at localization, //! return same string diff --git a/src/libslic3r/SLA/SupportTree.hpp b/src/libslic3r/SLA/SupportTree.hpp index a5e283b0dd..7511b0aaa5 100644 --- a/src/libslic3r/SLA/SupportTree.hpp +++ b/src/libslic3r/SLA/SupportTree.hpp @@ -1,6 +1,7 @@ #ifndef SLA_SUPPORTTREE_HPP #define SLA_SUPPORTTREE_HPP +#include #include #include #include diff --git a/src/libslic3r/SLA/SupportTreeBuilder.cpp b/src/libslic3r/SLA/SupportTreeBuilder.cpp index 4080c4fc3f..635b5452d1 100644 --- a/src/libslic3r/SLA/SupportTreeBuilder.cpp +++ b/src/libslic3r/SLA/SupportTreeBuilder.cpp @@ -2,6 +2,21 @@ #define NOMINMAX #endif +#include "libslic3r/SLA/SpatIndex.hpp" +#include "libslic3r/ExPolygon.hpp" +#include "libslic3r/SLA/Pad.hpp" +#include "libslic3r/libslic3r.h" +#include "libslic3r/MTUtils.hpp" +#include "libslic3r/Point.hpp" +#include "libslic3r/TriangleMesh.hpp" +#include +#include +#include +#include +#include +#include "libslic3r/BoundingBox.hpp" +#include "libslic3r/SLA/SupportTree.hpp" + #include #include #include diff --git a/src/libslic3r/SLA/SupportTreeBuilder.hpp b/src/libslic3r/SLA/SupportTreeBuilder.hpp index df5484e3dd..de0170d854 100644 --- a/src/libslic3r/SLA/SupportTreeBuilder.hpp +++ b/src/libslic3r/SLA/SupportTreeBuilder.hpp @@ -1,12 +1,18 @@ #ifndef SLA_SUPPORTTREEBUILDER_HPP #define SLA_SUPPORTTREEBUILDER_HPP +#include "libslic3r/Point.hpp" +#include +#include +#include "libslic3r/libslic3r.h" #include #include //#include #include #include #include +#include +#include namespace Slic3r { namespace sla { diff --git a/src/libslic3r/SLA/SupportTreeBuildsteps.cpp b/src/libslic3r/SLA/SupportTreeBuildsteps.cpp index cff92b5b89..923d0f924f 100644 --- a/src/libslic3r/SLA/SupportTreeBuildsteps.cpp +++ b/src/libslic3r/SLA/SupportTreeBuildsteps.cpp @@ -1,8 +1,31 @@ +#include "libslic3r/Optimize/Optimizer.hpp" +#include "libslic3r/SLA/SupportTree.hpp" +#include "libslic3r/SLA/IndexedMesh.hpp" +#include "libslic3r/SLA/SupportTreeBuilder.hpp" +#include "libslic3r/SLA/SupportPoint.hpp" +#include +#include +#include +#include "libslic3r/SLA/Concurrency.hpp" +#include "libslic3r/libslic3r.h" +#include +#include +#include +#include "libslic3r/Point.hpp" +#include "libslic3r/SLA/Clustering.hpp" +#include +#include +#include #include #include #include #include +#include +#include +#include +#include +#include namespace Slic3r { namespace sla { diff --git a/src/libslic3r/SLA/SupportTreeBuildsteps.hpp b/src/libslic3r/SLA/SupportTreeBuildsteps.hpp index 478e2df1fe..850f35bdeb 100644 --- a/src/libslic3r/SLA/SupportTreeBuildsteps.hpp +++ b/src/libslic3r/SLA/SupportTreeBuildsteps.hpp @@ -1,12 +1,30 @@ #ifndef SLASUPPORTTREEALGORITHM_H #define SLASUPPORTTREEALGORITHM_H +#include "libslic3r/Point.hpp" +#include +#include +#include +#include "libslic3r/libslic3r.h" +#include "libslic3r/SLA/Concurrency.hpp" +#include +#include +#include "libslic3r/SLA/SupportTree.hpp" +#include "libslic3r/SLA/IndexedMesh.hpp" +#include "libslic3r/SLA/SupportPoint.hpp" +#include "libslic3r/SLA/Pad.hpp" #include +#include +#include +#include #include #include #include #include +#include +#include +#include namespace Slic3r { namespace sla { diff --git a/src/libslic3r/SLA/SupportTreeMesher.cpp b/src/libslic3r/SLA/SupportTreeMesher.cpp index 17f57f4578..0732a7ab23 100644 --- a/src/libslic3r/SLA/SupportTreeMesher.cpp +++ b/src/libslic3r/SLA/SupportTreeMesher.cpp @@ -1,4 +1,13 @@ #include "SupportTreeMesher.hpp" +#include "libslic3r/libslic3r.h" +#include +#include +#include +#include +#include "libslic3r/Point.hpp" +#include +#include +#include "libslic3r/TriangleMesh.hpp" namespace Slic3r { namespace sla { diff --git a/src/libslic3r/SLA/SupportTreeMesher.hpp b/src/libslic3r/SLA/SupportTreeMesher.hpp index 63ccc5fce3..e914bcea36 100644 --- a/src/libslic3r/SLA/SupportTreeMesher.hpp +++ b/src/libslic3r/SLA/SupportTreeMesher.hpp @@ -1,10 +1,14 @@ #ifndef SUPPORTTREEMESHER_HPP #define SUPPORTTREEMESHER_HPP +#include "libslic3r/libslic3r.h" #include "libslic3r/Point.hpp" #include "libslic3r/SLA/SupportTreeBuilder.hpp" #include "libslic3r/TriangleMesh.hpp" +#include +#include +#include //#include "libslic3r/SLA/Contour3D.hpp" namespace Slic3r { namespace sla { diff --git a/src/libslic3r/SLAPrint.cpp b/src/libslic3r/SLAPrint.cpp index eb37ca578c..336143c764 100644 --- a/src/libslic3r/SLAPrint.cpp +++ b/src/libslic3r/SLAPrint.cpp @@ -1,17 +1,42 @@ #include "SLAPrint.hpp" +#include "PrintConfig.hpp" +#include "SLA/SupportTree.hpp" +#include "SLA/Pad.hpp" +#include "Point.hpp" +#include "Model.hpp" +#include "ObjectID.hpp" +#include "Config.hpp" +#include "PrintBase.hpp" +#include "SLA/SupportPoint.hpp" +#include "Polygon.hpp" +#include "ExPolygon.hpp" +#include "SLA/Hollowing.hpp" #include "SLAPrintSteps.hpp" #include "ClipperUtils.hpp" #include "Geometry.hpp" #include "MTUtils.hpp" #include "Thread.hpp" +#include "libslic3r.h" +#include "Utils.hpp" +#include +#include +#include +#include +#include +#include +#include +#include +#include #include #include #include #include #include +#include +#include // #define SLAPRINT_DO_BENCHMARK diff --git a/src/libslic3r/SLAPrint.hpp b/src/libslic3r/SLAPrint.hpp index 0eaa44a754..7b863f7380 100644 --- a/src/libslic3r/SLAPrint.hpp +++ b/src/libslic3r/SLAPrint.hpp @@ -1,15 +1,35 @@ #ifndef slic3r_SLAPrint_hpp_ #define slic3r_SLAPrint_hpp_ +#include +#include +#include #include +#include +#include +#include #include +#include "ObjectID.hpp" +#include +#include "ExPolygon.hpp" +#include +#include "Config.hpp" +#include +#include "Polygon.hpp" +#include #include "PrintBase.hpp" +#include "PrintConfig.hpp" +#include "SLA/Hollowing.hpp" +#include "SLA/JobController.hpp" +#include "SLA/Pad.hpp" #include "SLA/RasterBase.hpp" +#include "SLA/SupportPoint.hpp" #include "SLA/SupportTree.hpp" #include "Execution/ExecutionTBB.hpp" #include "Point.hpp" #include "MTUtils.hpp" #include "Zipper.hpp" +#include "libslic3r.h" namespace Slic3r { diff --git a/src/libslic3r/SLAPrintSteps.cpp b/src/libslic3r/SLAPrintSteps.cpp index 04c65644d0..51c2e6ef9f 100644 --- a/src/libslic3r/SLAPrintSteps.cpp +++ b/src/libslic3r/SLAPrintSteps.cpp @@ -1,3 +1,13 @@ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include #include #include @@ -18,8 +28,23 @@ #include #include +#include +#include +#include "ExPolygon.hpp" +#include "Execution/ExecutionTBB.hpp" #include "I18N.hpp" +#include "SLAPrint.hpp" +#include "Point.hpp" +#include "libslic3r.h" +#include "SLA/Hollowing.hpp" +#include "TriangleMesh.hpp" +#include "Line.hpp" +#include "Model.hpp" +#include "SLA/SupportPoint.hpp" +#include "SLA/JobController.hpp" +#include "SLA/SupportTree.hpp" +#include "SLA/RasterBase.hpp" //! macro used to mark string used at localization, //! return same string diff --git a/src/libslic3r/SLAPrintSteps.hpp b/src/libslic3r/SLAPrintSteps.hpp index 19b64d4a98..8d1ca12179 100644 --- a/src/libslic3r/SLAPrintSteps.hpp +++ b/src/libslic3r/SLAPrintSteps.hpp @@ -1,12 +1,15 @@ #ifndef SLAPRINTSTEPS_HPP #define SLAPRINTSTEPS_HPP +#include +#include "libslic3r.h" #include #include #include #include +#include namespace Slic3r { diff --git a/src/libslic3r/SVG.cpp b/src/libslic3r/SVG.cpp index 206158edd7..ebd4343425 100644 --- a/src/libslic3r/SVG.cpp +++ b/src/libslic3r/SVG.cpp @@ -1,8 +1,28 @@ #include "SVG.hpp" +#include +#include +#include +#include +#include "BoundingBox.hpp" +#include "libslic3r.h" +#include "Line.hpp" +#include "Point.hpp" +#include +#include "ExPolygon.hpp" +#include "Polygon.hpp" +#include "Surface.hpp" +#include "Polyline.hpp" +#include "MultiPoint.hpp" +#include +#include #include #include #include +#include +#include +#include +#include namespace Slic3r { diff --git a/src/libslic3r/SVG.hpp b/src/libslic3r/SVG.hpp index d677f48375..838c1cdc73 100644 --- a/src/libslic3r/SVG.hpp +++ b/src/libslic3r/SVG.hpp @@ -1,11 +1,20 @@ #ifndef slic3r_SVG_hpp_ #define slic3r_SVG_hpp_ +#include "Point.hpp" +#include "Polygon.hpp" +#include "Polyline.hpp" +#include "MultiPoint.hpp" #include "libslic3r.h" #include "ExPolygon.hpp" #include "Line.hpp" #include "TriangleMesh.hpp" #include "Surface.hpp" +#include +#include +#include +#include +#include namespace Slic3r { diff --git a/src/libslic3r/Semver.cpp b/src/libslic3r/Semver.cpp index 5d36b39f72..f052ba6bdb 100644 --- a/src/libslic3r/Semver.cpp +++ b/src/libslic3r/Semver.cpp @@ -1,4 +1,6 @@ +#include "Semver.hpp" #include "libslic3r.h" +#include "libslic3r_version.h" namespace Slic3r { diff --git a/src/libslic3r/Semver.hpp b/src/libslic3r/Semver.hpp index d3683b4eb8..7c79f404ce 100644 --- a/src/libslic3r/Semver.hpp +++ b/src/libslic3r/Semver.hpp @@ -1,12 +1,17 @@ #ifndef slic3r_Semver_hpp_ #define slic3r_Semver_hpp_ +#include +#include +#include +#include #include #include #include #include #include #include +#include #include "semver/semver.h" diff --git a/src/libslic3r/Shape/TextShape.cpp b/src/libslic3r/Shape/TextShape.cpp index 4f32b9d857..cc7a7d555d 100644 --- a/src/libslic3r/Shape/TextShape.cpp +++ b/src/libslic3r/Shape/TextShape.cpp @@ -4,13 +4,36 @@ #include "TextShape.hpp" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include #include +#include #include +#include "libslic3r/Point.hpp" #include "Standard_TypeDef.hxx" #include "STEPCAFControl_Reader.hxx" #include "BRepMesh_IncrementalMesh.hxx" #include "Interface_Static.hxx" +#include "libslic3r/Utils.hpp" #include "XCAFDoc_DocumentTool.hxx" #include "XCAFDoc_ShapeTool.hxx" #include "XCAFApp_Application.hxx" diff --git a/src/libslic3r/Shape/TextShape.hpp b/src/libslic3r/Shape/TextShape.hpp index d093c2da42..28abf4d7ea 100644 --- a/src/libslic3r/Shape/TextShape.hpp +++ b/src/libslic3r/Shape/TextShape.hpp @@ -2,6 +2,9 @@ #define slic3r_Text_Shape_hpp_ #include "libslic3r/TriangleMesh.hpp" +#include +#include +#include namespace Slic3r { class TriangleMesh; diff --git a/src/libslic3r/ShortEdgeCollapse.cpp b/src/libslic3r/ShortEdgeCollapse.cpp index 3397daf55c..59637b4dae 100644 --- a/src/libslic3r/ShortEdgeCollapse.cpp +++ b/src/libslic3r/ShortEdgeCollapse.cpp @@ -1,10 +1,14 @@ #include "ShortEdgeCollapse.hpp" +#include "Point.hpp" +#include "TriangleMesh.hpp" #include "libslic3r/NormalUtils.hpp" +#include #include #include #include #include +#include namespace Slic3r { diff --git a/src/libslic3r/ShortEdgeCollapse.hpp b/src/libslic3r/ShortEdgeCollapse.hpp index e6f1822c89..f62a082828 100644 --- a/src/libslic3r/ShortEdgeCollapse.hpp +++ b/src/libslic3r/ShortEdgeCollapse.hpp @@ -2,6 +2,7 @@ #define SRC_LIBSLIC3R_SHORTEDGECOLLAPSE_HPP_ #include "libslic3r/TriangleMesh.hpp" +#include namespace Slic3r{ diff --git a/src/libslic3r/ShortestPath.cpp b/src/libslic3r/ShortestPath.cpp index 301a804753..0b31a66919 100644 --- a/src/libslic3r/ShortestPath.cpp +++ b/src/libslic3r/ShortestPath.cpp @@ -1,3 +1,18 @@ +#include "ExtrusionEntity.hpp" +#include +#include +#include +#include "Point.hpp" +#include +#include +#include +#include "ExPolygon.hpp" +#include "BoundingBox.hpp" +#include +#include "Polyline.hpp" +#include +#include "Line.hpp" +#include "libslic3r.h" #if 0 #pragma optimize("", off) #undef NDEBUG diff --git a/src/libslic3r/ShortestPath.hpp b/src/libslic3r/ShortestPath.hpp index f4ce89a16b..d8cd7a025f 100644 --- a/src/libslic3r/ShortestPath.hpp +++ b/src/libslic3r/ShortestPath.hpp @@ -1,10 +1,12 @@ #ifndef slic3r_ShortestPath_hpp_ #define slic3r_ShortestPath_hpp_ +#include "Polyline.hpp" #include "libslic3r.h" #include "ExtrusionEntity.hpp" #include "Point.hpp" +#include #include #include #include diff --git a/src/libslic3r/SlicesToTriangleMesh.cpp b/src/libslic3r/SlicesToTriangleMesh.cpp index 3b55cf066b..a536bc0d5e 100644 --- a/src/libslic3r/SlicesToTriangleMesh.cpp +++ b/src/libslic3r/SlicesToTriangleMesh.cpp @@ -1,14 +1,21 @@ +#include +#include #include #include "SlicesToTriangleMesh.hpp" //#include "libslic3r/MTUtils.hpp" +#include "Polygon.hpp" +#include "Point.hpp" +#include "TriangleMesh.hpp" +#include "Execution/Execution.hpp" #include "libslic3r/Execution/ExecutionTBB.hpp" #include "libslic3r/ClipperUtils.hpp" #include "libslic3r/Tesselate.hpp" #include #include +#include namespace Slic3r { diff --git a/src/libslic3r/SlicesToTriangleMesh.hpp b/src/libslic3r/SlicesToTriangleMesh.hpp index 57b540d9fb..f3177a7622 100644 --- a/src/libslic3r/SlicesToTriangleMesh.hpp +++ b/src/libslic3r/SlicesToTriangleMesh.hpp @@ -3,6 +3,7 @@ #include "libslic3r/TriangleMesh.hpp" #include "libslic3r/ExPolygon.hpp" +#include namespace Slic3r { diff --git a/src/libslic3r/Slicing.cpp b/src/libslic3r/Slicing.cpp index c8c37a5a79..92bdac10e3 100644 --- a/src/libslic3r/Slicing.cpp +++ b/src/libslic3r/Slicing.cpp @@ -1,5 +1,13 @@ +#include +#include +#include +#include #include +#include +#include +#include +#include "Point.hpp" #include "libslic3r.h" #include "Slicing.hpp" #include "SlicingAdaptive.hpp" diff --git a/src/libslic3r/Slicing.hpp b/src/libslic3r/Slicing.hpp index f735ec5518..59ae27c8dd 100644 --- a/src/libslic3r/Slicing.hpp +++ b/src/libslic3r/Slicing.hpp @@ -3,10 +3,12 @@ #ifndef slic3r_Slicing_hpp_ #define slic3r_Slicing_hpp_ +#include #include #include #include #include +#include #include #include "libslic3r.h" diff --git a/src/libslic3r/SlicingAdaptive.cpp b/src/libslic3r/SlicingAdaptive.cpp index 30ff67bba5..65600b4005 100644 --- a/src/libslic3r/SlicingAdaptive.cpp +++ b/src/libslic3r/SlicingAdaptive.cpp @@ -3,8 +3,14 @@ #include "TriangleMesh.hpp" #include "SlicingAdaptive.hpp" +#include #include +#include #include +#include +#include +#include +#include // Based on the work of Florens Waserfall (@platch on github) // and his paper diff --git a/src/libslic3r/SlicingAdaptive.hpp b/src/libslic3r/SlicingAdaptive.hpp index a296553d62..99479bb8b6 100644 --- a/src/libslic3r/SlicingAdaptive.hpp +++ b/src/libslic3r/SlicingAdaptive.hpp @@ -5,6 +5,9 @@ #include "Slicing.hpp" #include "admesh/stl.h" +#include +#include +#include namespace Slic3r { diff --git a/src/libslic3r/StreamUtils.hpp b/src/libslic3r/StreamUtils.hpp index 78a9ac7335..d3c6823a8f 100644 --- a/src/libslic3r/StreamUtils.hpp +++ b/src/libslic3r/StreamUtils.hpp @@ -6,6 +6,7 @@ #include "Polygon.hpp" #include "Polyline.hpp" #include "ExPolygon.hpp" +#include #include #include 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/SupportCommon.hpp b/src/libslic3r/Support/SupportCommon.hpp index 531daaa0a8..e6f5b3e1ef 100644 --- a/src/libslic3r/Support/SupportCommon.hpp +++ b/src/libslic3r/Support/SupportCommon.hpp @@ -4,8 +4,16 @@ #include "../Layer.hpp" #include "../Polygon.hpp" #include "../Print.hpp" +#include "libslic3r/PrintConfig.hpp" +#include "libslic3r/Slicing.hpp" +#include "libslic3r/ExtrusionEntity.hpp" +#include "libslic3r/Flow.hpp" +#include "libslic3r/Fill/FillBase.hpp" #include "SupportLayer.hpp" #include "SupportParameters.hpp" +#include +#include +#include namespace Slic3r { diff --git a/src/libslic3r/Support/SupportLayer.hpp b/src/libslic3r/Support/SupportLayer.hpp index 64e3be99e7..46b41df35a 100644 --- a/src/libslic3r/Support/SupportLayer.hpp +++ b/src/libslic3r/Support/SupportLayer.hpp @@ -1,8 +1,12 @@ #ifndef slic3r_SupportLayer_hpp_ #define slic3r_SupportLayer_hpp_ +#include +#include #include #include +#include +#include // for Slic3r::deque #include "../libslic3r.h" #include "../ClipperUtils.hpp" diff --git a/src/libslic3r/Support/SupportMaterial.cpp b/src/libslic3r/Support/SupportMaterial.cpp index d9f21752ec..e7558d3aae 100644 --- a/src/libslic3r/Support/SupportMaterial.cpp +++ b/src/libslic3r/Support/SupportMaterial.cpp @@ -1,22 +1,48 @@ #include "ClipperUtils.hpp" +#include "libslic3r/ExPolygon.hpp" #include "ExtrusionEntity.hpp" #include "ExtrusionEntityCollection.hpp" +#include "libslic3r/Flow.hpp" #include "Layer.hpp" +#include "libslic3r/Polygon.hpp" +#include "libslic3r/Polyline.hpp" #include "Print.hpp" #include "SupportMaterial.hpp" +#include "libslic3r/Slicing.hpp" +#include "libslic3r/Support/SupportLayer.hpp" +#include "libslic3r/PrintConfig.hpp" #include "SupportCommon.hpp" #include "Geometry.hpp" #include "Point.hpp" #include "MutablePolygon.hpp" +#include "libslic3r/libslic3r.h" +#include "libslic3r/Surface.hpp" +#include "libslic3r/TriangleSelector.hpp" +#include +#include +#include +#include #include +#include +#include +#include +#include +#include +#include +#include #include #include #include +#include +#include #include #include #include +#include +#include +#include #define SUPPORT_USE_AGG_RASTERIZER diff --git a/src/libslic3r/Support/SupportMaterial.hpp b/src/libslic3r/Support/SupportMaterial.hpp index 6d5355dab1..1d5bec31b5 100644 --- a/src/libslic3r/Support/SupportMaterial.hpp +++ b/src/libslic3r/Support/SupportMaterial.hpp @@ -2,11 +2,14 @@ #define slic3r_SupportMaterial_hpp_ #include "Flow.hpp" +#include "libslic3r/Polygon.hpp" #include "PrintConfig.hpp" #include "Slicing.hpp" #include "Fill/FillBase.hpp" #include "SupportLayer.hpp" #include "SupportParameters.hpp" +#include +#include "libslic3r/libslic3r.h" namespace Slic3r { class PrintObject; diff --git a/src/libslic3r/Support/SupportParameters.hpp b/src/libslic3r/Support/SupportParameters.hpp index e9151c0c95..ebf2cc2f4e 100644 --- a/src/libslic3r/Support/SupportParameters.hpp +++ b/src/libslic3r/Support/SupportParameters.hpp @@ -1,9 +1,20 @@ #ifndef slic3r_SupportParameters_hpp_ #define slic3r_SupportParameters_hpp_ +#include #include +#include +#include +#include +#include #include "../libslic3r.h" #include "../Flow.hpp" +#include "../Layer.hpp" +#include "../Print.hpp" +#include "libslic3r/PrintConfig.hpp" +#include "libslic3r/Slicing.hpp" +#include "libslic3r/Point.hpp" +#include "libslic3r/Geometry.hpp" namespace Slic3r { diff --git a/src/libslic3r/Support/SupportSpotsGenerator.cpp b/src/libslic3r/Support/SupportSpotsGenerator.cpp index 6fb4908e67..a3c312ee15 100644 --- a/src/libslic3r/Support/SupportSpotsGenerator.cpp +++ b/src/libslic3r/Support/SupportSpotsGenerator.cpp @@ -4,6 +4,7 @@ #include "ExPolygon.hpp" #include "ExtrusionEntity.hpp" #include "ExtrusionEntityCollection.hpp" +#include "libslic3r/Flow.hpp" #include "GCode/ExtrusionProcessor.hpp" #include "Line.hpp" #include "Point.hpp" @@ -20,6 +21,7 @@ #include "tbb/parallel_reduce.h" #include #include +#include #include #include #include diff --git a/src/libslic3r/Support/SupportSpotsGenerator.hpp b/src/libslic3r/Support/SupportSpotsGenerator.hpp index 615158dabb..e3c3245d47 100644 --- a/src/libslic3r/Support/SupportSpotsGenerator.hpp +++ b/src/libslic3r/Support/SupportSpotsGenerator.hpp @@ -8,6 +8,8 @@ #include "MaterialType.hpp" #include #include +#include +#include #include diff --git a/src/libslic3r/Support/TreeModelVolumes.cpp b/src/libslic3r/Support/TreeModelVolumes.cpp index e933ac3c1b..5d1a3bdb20 100644 --- a/src/libslic3r/Support/TreeModelVolumes.cpp +++ b/src/libslic3r/Support/TreeModelVolumes.cpp @@ -7,6 +7,8 @@ // CuraEngine is released under the terms of the AGPLv3 or higher. #include "TreeModelVolumes.hpp" +#include "libslic3r/Polygon.hpp" +#include "libslic3r/ExPolygon.hpp" #include "TreeSupportCommon.hpp" #include "../BuildVolume.hpp" @@ -18,13 +20,26 @@ #include "../PrintConfig.hpp" #include "../Utils.hpp" #include "../format.hpp" +#include "libslic3r/libslic3r.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include #include #include #include #include +#include +#include +#include namespace Slic3r::TreeSupport3D { diff --git a/src/libslic3r/Support/TreeModelVolumes.hpp b/src/libslic3r/Support/TreeModelVolumes.hpp index eff4cadcaf..b2c1226dfe 100644 --- a/src/libslic3r/Support/TreeModelVolumes.hpp +++ b/src/libslic3r/Support/TreeModelVolumes.hpp @@ -9,16 +9,25 @@ #ifndef slic3r_TreeModelVolumes_hpp #define slic3r_TreeModelVolumes_hpp +#include +#include +#include +#include +#include #include +#include #include #include +#include +#include #include "TreeSupportCommon.hpp" #include "../Point.hpp" #include "../Polygon.hpp" #include "../PrintConfig.hpp" +#include "libslic3r/libslic3r.h" namespace Slic3r { diff --git a/src/libslic3r/Support/TreeSupport.cpp b/src/libslic3r/Support/TreeSupport.cpp index 8fcd2b4fbc..3719ed84e6 100644 --- a/src/libslic3r/Support/TreeSupport.cpp +++ b/src/libslic3r/Support/TreeSupport.cpp @@ -1,6 +1,31 @@ +#include +#include +#include #include +#include +#include +#include +#include +#include +#include +#include +#include +#include #include +#include "libslic3r/Point.hpp" +#include "libslic3r/Polygon.hpp" +#include "libslic3r/Surface.hpp" +#include "libslic3r/ExPolygon.hpp" +#include "libslic3r/Line.hpp" +#include "libslic3r/PrintConfig.hpp" +#include "libslic3r/Geometry.hpp" +#include "libslic3r/TriangleSelector.hpp" +#include "libslic3r/ExtrusionEntity.hpp" +#include "libslic3r/Flow.hpp" +#include "libslic3r/Polyline.hpp" +#include "libslic3r/Support/SupportParameters.hpp" +#include "libslic3r/Utils.hpp" #include "format.hpp" #include "ClipperUtils.hpp" #include "Fill/FillBase.hpp" @@ -14,10 +39,17 @@ #include "TreeSupportCommon.hpp" #include "TreeSupport.hpp" #include "TreeSupport3D.hpp" +#include "libslic3r/libslic3r.h" #include #include +#include +#include +#include +#include +#include +#include #include #include #include @@ -26,6 +58,11 @@ #include #include +#include +#include +#include +#include +#include #ifndef M_PI #define M_PI 3.1415926535897932384626433832795 diff --git a/src/libslic3r/Support/TreeSupport.hpp b/src/libslic3r/Support/TreeSupport.hpp index bd5a154e26..e0da1f40c7 100644 --- a/src/libslic3r/Support/TreeSupport.hpp +++ b/src/libslic3r/Support/TreeSupport.hpp @@ -1,12 +1,26 @@ #ifndef TREESUPPORT_H #define TREESUPPORT_H +#include +#include #include +#include +#include +#include +#include +#include +#include #include +#include +#include #include "ExPolygon.hpp" #include "Point.hpp" +#include "libslic3r/Polygon.hpp" #include "Slicing.hpp" #include "MinimumSpanningTree.hpp" +#include "libslic3r/libslic3r.h" +#include "libslic3r/Support/TreeSupportCommon.hpp" +#include "libslic3r/Support/SupportParameters.hpp" #include "tbb/concurrent_unordered_map.h" #include "Flow.hpp" #include "PrintConfig.hpp" diff --git a/src/libslic3r/Support/TreeSupport3D.cpp b/src/libslic3r/Support/TreeSupport3D.cpp index c9fceabaea..09f741ec25 100644 --- a/src/libslic3r/Support/TreeSupport3D.cpp +++ b/src/libslic3r/Support/TreeSupport3D.cpp @@ -12,20 +12,47 @@ #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" +#include "libslic3r/Fill/FillBase.hpp" #include "Layer.hpp" +#include "libslic3r/Point.hpp" +#include "libslic3r/Line.hpp" #include "Print.hpp" #include "MultiPoint.hpp" #include "Polygon.hpp" #include "Polyline.hpp" #include "MutablePolygon.hpp" +#include "libslic3r/Support/TreeSupportCommon.hpp" +#include "libslic3r/PrintConfig.hpp" +#include "libslic3r/Support/TreeModelVolumes.hpp" +#include "libslic3r/Support/SupportParameters.hpp" +#include "libslic3r/Support/SupportLayer.hpp" #include "SupportCommon.hpp" +#include "libslic3r/Surface.hpp" #include "TriangleMeshSlicer.hpp" #include "TreeSupport.hpp" #include "I18N.hpp" +#include "libslic3r/libslic3r.h" +#include "libslic3r/Utils.hpp" +#include +#include +#include #include #include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include #include #include #include @@ -36,6 +63,10 @@ #include #include #include +#include +#include +#include +#include #if defined(TREE_SUPPORT_SHOW_ERRORS) && defined(_WIN32) #define TREE_SUPPORT_SHOW_ERRORS_WIN32 diff --git a/src/libslic3r/Support/TreeSupport3D.hpp b/src/libslic3r/Support/TreeSupport3D.hpp index a333edb962..65a5e22975 100644 --- a/src/libslic3r/Support/TreeSupport3D.hpp +++ b/src/libslic3r/Support/TreeSupport3D.hpp @@ -9,6 +9,8 @@ #ifndef slic3r_TreeSupport_hpp #define slic3r_TreeSupport_hpp +#include "libslic3r/Polygon.hpp" +#include "libslic3r/Layer.hpp" #include "SupportLayer.hpp" #include "TreeModelVolumes.hpp" #include "TreeSupportCommon.hpp" @@ -16,8 +18,16 @@ #include "../BoundingBox.hpp" #include "../Point.hpp" #include "../Utils.hpp" +#include "libslic3r/libslic3r.h" #include +#include +#include +#include +#include +#include +#include +#include // #define TREE_SUPPORT_SHOW_ERRORS diff --git a/src/libslic3r/Support/TreeSupportCommon.hpp b/src/libslic3r/Support/TreeSupportCommon.hpp index fb08a1a928..97a0e31eb3 100644 --- a/src/libslic3r/Support/TreeSupportCommon.hpp +++ b/src/libslic3r/Support/TreeSupportCommon.hpp @@ -11,10 +11,28 @@ #include "../libslic3r.h" #include "../Polygon.hpp" +#include "libslic3r/PrintConfig.hpp" +#include "libslic3r/Slicing.hpp" +#include "libslic3r/Print.hpp" +#include "libslic3r/Flow.hpp" +#include "libslic3r/Point.hpp" +#include "libslic3r/Support/SupportParameters.hpp" +#include "libslic3r/Support/SupportLayer.hpp" #include "SupportCommon.hpp" +#include "libslic3r/Utils.hpp" #include +#include +#include +#include +#include +#include +#include +#include +#include #include +#include +#include namespace Slic3r { diff --git a/src/libslic3r/Surface.cpp b/src/libslic3r/Surface.cpp index 58ac7294cc..cb7d0d4674 100644 --- a/src/libslic3r/Surface.cpp +++ b/src/libslic3r/Surface.cpp @@ -1,6 +1,11 @@ #include "BoundingBox.hpp" #include "Surface.hpp" +#include "Polygon.hpp" +#include "Point.hpp" +#include "ExPolygon.hpp" #include "SVG.hpp" +#include +#include "libslic3r.h" namespace Slic3r { diff --git a/src/libslic3r/Surface.hpp b/src/libslic3r/Surface.hpp index f9737f8cf5..7eb9e0421d 100644 --- a/src/libslic3r/Surface.hpp +++ b/src/libslic3r/Surface.hpp @@ -1,8 +1,16 @@ #ifndef slic3r_Surface_hpp_ #define slic3r_Surface_hpp_ +#include "Polygon.hpp" +#include "Line.hpp" +#include "Point.hpp" #include "libslic3r.h" #include "ExPolygon.hpp" +#include +#include +#include +#include +#include namespace Slic3r { diff --git a/src/libslic3r/SurfaceCollection.cpp b/src/libslic3r/SurfaceCollection.cpp index 83015c3e6a..47109b9965 100644 --- a/src/libslic3r/SurfaceCollection.cpp +++ b/src/libslic3r/SurfaceCollection.cpp @@ -1,8 +1,18 @@ #include "SurfaceCollection.hpp" #include "BoundingBox.hpp" +#include "ExPolygon.hpp" +#include "Polygon.hpp" +#include "Point.hpp" #include "SVG.hpp" +#include "Surface.hpp" +#include +#include +#include +#include #include +#include +#include namespace Slic3r { diff --git a/src/libslic3r/SurfaceCollection.hpp b/src/libslic3r/SurfaceCollection.hpp index 1895516aa2..3b6316e0a4 100644 --- a/src/libslic3r/SurfaceCollection.hpp +++ b/src/libslic3r/SurfaceCollection.hpp @@ -1,9 +1,13 @@ #ifndef slic3r_SurfaceCollection_hpp_ #define slic3r_SurfaceCollection_hpp_ +#include "Polygon.hpp" +#include "ExPolygon.hpp" #include "libslic3r.h" #include "Surface.hpp" +#include #include +#include #include namespace Slic3r { diff --git a/src/libslic3r/SurfaceMesh.hpp b/src/libslic3r/SurfaceMesh.hpp index 82dff2e22d..221c584697 100644 --- a/src/libslic3r/SurfaceMesh.hpp +++ b/src/libslic3r/SurfaceMesh.hpp @@ -2,8 +2,13 @@ #define slic3r_SurfaceMesh_hpp_ #include +#include +#include +#include #include +#include +#include "Point.hpp" #include "boost/container/small_vector.hpp" namespace Slic3r { diff --git a/src/libslic3r/Tesselate.cpp b/src/libslic3r/Tesselate.cpp index febb3d0e74..be7087a311 100644 --- a/src/libslic3r/Tesselate.cpp +++ b/src/libslic3r/Tesselate.cpp @@ -1,8 +1,17 @@ #include "Tesselate.hpp" #include "ExPolygon.hpp" +#include "Point.hpp" +#include "libslic3r.h" +#include +#include +#include +#include +#include #include +#include +#include namespace Slic3r { diff --git a/src/libslic3r/Tesselate.hpp b/src/libslic3r/Tesselate.hpp index 2dbe6caa10..f9effa242d 100644 --- a/src/libslic3r/Tesselate.hpp +++ b/src/libslic3r/Tesselate.hpp @@ -4,6 +4,7 @@ #include #include "Point.hpp" +#include "libslic3r.h" namespace Slic3r { diff --git a/src/libslic3r/TextConfiguration.hpp b/src/libslic3r/TextConfiguration.hpp index 40c8c836ac..753cec71ba 100644 --- a/src/libslic3r/TextConfiguration.hpp +++ b/src/libslic3r/TextConfiguration.hpp @@ -1,6 +1,7 @@ #ifndef slic3r_TextConfiguration_hpp_ #define slic3r_TextConfiguration_hpp_ +#include #include #include #include @@ -9,6 +10,7 @@ #include #include #include "Point.hpp" // Transform3d +#include "libslic3r.h" namespace Slic3r { diff --git a/src/libslic3r/TextureBake/TextureBakeDebug.cpp b/src/libslic3r/TextureBake/TextureBakeDebug.cpp index 9465080e21..7b3538da72 100644 --- a/src/libslic3r/TextureBake/TextureBakeDebug.cpp +++ b/src/libslic3r/TextureBake/TextureBakeDebug.cpp @@ -1,11 +1,19 @@ #include "TextureBakeDebug.hpp" +#include "libslic3r/Point.hpp" +#include "libslic3r/TextureBake/TextureBakeIndex.hpp" #include +#include +#include #include +#include #include #include #include +#include +#include +#include namespace Slic3r { diff --git a/src/libslic3r/TextureBake/TextureBakeDebug.hpp b/src/libslic3r/TextureBake/TextureBakeDebug.hpp index 5c6d987e44..b0cf0c1952 100644 --- a/src/libslic3r/TextureBake/TextureBakeDebug.hpp +++ b/src/libslic3r/TextureBake/TextureBakeDebug.hpp @@ -18,8 +18,10 @@ #include #include #include +#include #include +#include "libslic3r/Point.hpp" #include "TextureBakeIndex.hpp" namespace Slic3r { diff --git a/src/libslic3r/TextureBake/TextureBakeDecimate.cpp b/src/libslic3r/TextureBake/TextureBakeDecimate.cpp index ee335cff3c..c03607e99c 100644 --- a/src/libslic3r/TextureBake/TextureBakeDecimate.cpp +++ b/src/libslic3r/TextureBake/TextureBakeDecimate.cpp @@ -1,8 +1,13 @@ #include "TextureBakeDecimate.hpp" +#include "libslic3r/Point.hpp" +#include "libslic3r/TextureBake/TextureBakeIndex.hpp" #include #include #include +#include +#include +#include #include #include @@ -10,6 +15,7 @@ #include #include +#include namespace Slic3r { namespace TextureBake { diff --git a/src/libslic3r/TextureBake/TextureBakeDecimate.hpp b/src/libslic3r/TextureBake/TextureBakeDecimate.hpp index 5579778050..8b31dbb642 100644 --- a/src/libslic3r/TextureBake/TextureBakeDecimate.hpp +++ b/src/libslic3r/TextureBake/TextureBakeDecimate.hpp @@ -10,6 +10,7 @@ // Flat-face harvesting: the loop keeps going past the triangle target while each collapse's error // stays under an absolute bound, so flat faces that cost nothing to remove are not left behind. +#include #include #include #include diff --git a/src/libslic3r/TextureBake/TextureBakeDisplace.cpp b/src/libslic3r/TextureBake/TextureBakeDisplace.cpp index 6e306b1c43..7dee94de99 100644 --- a/src/libslic3r/TextureBake/TextureBakeDisplace.cpp +++ b/src/libslic3r/TextureBake/TextureBakeDisplace.cpp @@ -1,11 +1,18 @@ #include "TextureBakeDisplace.hpp" +#include "libslic3r/TextureBake/TextureBakeIndex.hpp" +#include "libslic3r/Point.hpp" #include #include +#include +#include #include +#include #include #include +#include +#include namespace Slic3r { namespace TextureBake { diff --git a/src/libslic3r/TextureBake/TextureBakeDisplace.hpp b/src/libslic3r/TextureBake/TextureBakeDisplace.hpp index eee6ca0626..76e70d3bc5 100644 --- a/src/libslic3r/TextureBake/TextureBakeDisplace.hpp +++ b/src/libslic3r/TextureBake/TextureBakeDisplace.hpp @@ -13,6 +13,7 @@ #include #include +#include "libslic3r/Point.hpp" #include "TextureBakeIndex.hpp" namespace Slic3r { diff --git a/src/libslic3r/TextureBake/TextureBakeFlip.cpp b/src/libslic3r/TextureBake/TextureBakeFlip.cpp index f4d9997f71..8f7000a878 100644 --- a/src/libslic3r/TextureBake/TextureBakeFlip.cpp +++ b/src/libslic3r/TextureBake/TextureBakeFlip.cpp @@ -1,13 +1,20 @@ #include "TextureBakeFlip.hpp" +#include "libslic3r/TextureBake/TextureBakeIndex.hpp" +#include "libslic3r/TextureBake/TextureBakeDisplace.hpp" +#include "libslic3r/Point.hpp" #include #include #include +#include +#include #include #include #include #include +#include +#include namespace Slic3r { namespace TextureBake { diff --git a/src/libslic3r/TextureBake/TextureBakeFlip.hpp b/src/libslic3r/TextureBake/TextureBakeFlip.hpp index 02701bbced..a1057a344a 100644 --- a/src/libslic3r/TextureBake/TextureBakeFlip.hpp +++ b/src/libslic3r/TextureBake/TextureBakeFlip.hpp @@ -16,6 +16,7 @@ // flat regions cost nothing; a non-planar quad (a model crease) is never touched, nor is one whose // triangles belong to different source faces or straddle the painted boundary. +#include #include #include diff --git a/src/libslic3r/TextureBake/TextureBakeIndex.cpp b/src/libslic3r/TextureBake/TextureBakeIndex.cpp index ac7234774b..75839c746b 100644 --- a/src/libslic3r/TextureBake/TextureBakeIndex.cpp +++ b/src/libslic3r/TextureBake/TextureBakeIndex.cpp @@ -1,6 +1,9 @@ #include "TextureBakeIndex.hpp" +#include "libslic3r/Point.hpp" #include +#include +#include namespace Slic3r { namespace TextureBake { diff --git a/src/libslic3r/TextureBake/TextureBakeIndex.hpp b/src/libslic3r/TextureBake/TextureBakeIndex.hpp index 2b1dd72395..6fbfa4f831 100644 --- a/src/libslic3r/TextureBake/TextureBakeIndex.hpp +++ b/src/libslic3r/TextureBake/TextureBakeIndex.hpp @@ -11,7 +11,9 @@ #include #include +#include #include +#include #include #include "../Point.hpp" diff --git a/src/libslic3r/TextureBake/TextureBakeMesh.cpp b/src/libslic3r/TextureBake/TextureBakeMesh.cpp index 6f6d72218d..caf6e22d36 100644 --- a/src/libslic3r/TextureBake/TextureBakeMesh.cpp +++ b/src/libslic3r/TextureBake/TextureBakeMesh.cpp @@ -1,6 +1,11 @@ #include "TextureBakeMesh.hpp" +#include "libslic3r/TextureBake/TextureBakeIndex.hpp" +#include "libslic3r/Point.hpp" #include +#include +#include +#include namespace Slic3r { namespace TextureBake { diff --git a/src/libslic3r/TextureBake/TextureBakeMesh.hpp b/src/libslic3r/TextureBake/TextureBakeMesh.hpp index b4e3ced5fe..860aa1445d 100644 --- a/src/libslic3r/TextureBake/TextureBakeMesh.hpp +++ b/src/libslic3r/TextureBake/TextureBakeMesh.hpp @@ -5,6 +5,8 @@ #include "TextureBakeIndex.hpp" #include "../TriangleMesh.hpp" +#include +#include namespace Slic3r { namespace TextureBake { diff --git a/src/libslic3r/TextureBake/TextureBakePipeline.cpp b/src/libslic3r/TextureBake/TextureBakePipeline.cpp index 2b678905b1..b44ae837bc 100644 --- a/src/libslic3r/TextureBake/TextureBakePipeline.cpp +++ b/src/libslic3r/TextureBake/TextureBakePipeline.cpp @@ -1,8 +1,21 @@ #include "TextureBakePipeline.hpp" +#include +#include +#include +#include #include #include +#include "libslic3r/TextureBake/TextureBakeIndex.hpp" +#include "libslic3r/Point.hpp" +#include "libslic3r/TextureBake/TextureBakeDisplace.hpp" +#include "libslic3r/TextureBake/TextureBakeSubdivide.hpp" +#include "libslic3r/TextureBake/TextureBakeRegularize.hpp" +#include "libslic3r/TextureBake/TextureBakeRelocate.hpp" +#include "libslic3r/TextureBake/TextureBakeFlip.hpp" +#include "libslic3r/TextureBake/TextureBakeDecimate.hpp" +#include "libslic3r/TextureBake/TextureBakeRepair.hpp" #include "TextureBakeDebug.hpp" #include @@ -11,6 +24,8 @@ #include #include +#include +#include namespace Slic3r { namespace TextureBake { diff --git a/src/libslic3r/TextureBake/TextureBakePipeline.hpp b/src/libslic3r/TextureBake/TextureBakePipeline.hpp index e230cf0d49..43429ce22f 100644 --- a/src/libslic3r/TextureBake/TextureBakePipeline.hpp +++ b/src/libslic3r/TextureBake/TextureBakePipeline.hpp @@ -13,10 +13,12 @@ // Decimation and repair are export-only - decimation drops the output-to-input face mapping a bake // needs to carry per-face data forward. +#include #include #include #include +#include "libslic3r/Point.hpp" #include "TextureBakeDecimate.hpp" #include "TextureBakeDisplace.hpp" #include "TextureBakeIndex.hpp" diff --git a/src/libslic3r/TextureBake/TextureBakeRegularize.cpp b/src/libslic3r/TextureBake/TextureBakeRegularize.cpp index 3028d8bee9..fb32eb7712 100644 --- a/src/libslic3r/TextureBake/TextureBakeRegularize.cpp +++ b/src/libslic3r/TextureBake/TextureBakeRegularize.cpp @@ -1,11 +1,18 @@ #include "TextureBakeRegularize.hpp" +#include "libslic3r/TextureBake/TextureBakeIndex.hpp" +#include "libslic3r/Point.hpp" #include #include +#include +#include +#include #include #include #include +#include +#include namespace Slic3r { namespace TextureBake { diff --git a/src/libslic3r/TextureBake/TextureBakeRegularize.hpp b/src/libslic3r/TextureBake/TextureBakeRegularize.hpp index 350666783a..b6cd5eedc3 100644 --- a/src/libslic3r/TextureBake/TextureBakeRegularize.hpp +++ b/src/libslic3r/TextureBake/TextureBakeRegularize.hpp @@ -12,6 +12,7 @@ // flattened); and the link condition must hold, or the result would be non-manifold. Boundary and // non-manifold edges are skipped outright. Rounds repeat until one achieves nothing. +#include #include #include diff --git a/src/libslic3r/TextureBake/TextureBakeRelocate.cpp b/src/libslic3r/TextureBake/TextureBakeRelocate.cpp index 5ea33b353b..405ea8e286 100644 --- a/src/libslic3r/TextureBake/TextureBakeRelocate.cpp +++ b/src/libslic3r/TextureBake/TextureBakeRelocate.cpp @@ -1,11 +1,17 @@ #include "TextureBakeRelocate.hpp" +#include "libslic3r/Point.hpp" +#include "libslic3r/TextureBake/TextureBakeIndex.hpp" +#include "libslic3r/TextureBake/TextureBakeDisplace.hpp" #include #include +#include +#include #include #include #include +#include namespace Slic3r { namespace TextureBake { diff --git a/src/libslic3r/TextureBake/TextureBakeRelocate.hpp b/src/libslic3r/TextureBake/TextureBakeRelocate.hpp index cd674d03ae..36ca059dde 100644 --- a/src/libslic3r/TextureBake/TextureBakeRelocate.hpp +++ b/src/libslic3r/TextureBake/TextureBakeRelocate.hpp @@ -21,6 +21,7 @@ // Vertices in flat regions have no gradient to speak of and are left alone, so the pass costs nothing // where there is nothing to align. +#include #include #include #include diff --git a/src/libslic3r/TextureBake/TextureBakeRepair.cpp b/src/libslic3r/TextureBake/TextureBakeRepair.cpp index 438e0ea25d..49f427d461 100644 --- a/src/libslic3r/TextureBake/TextureBakeRepair.cpp +++ b/src/libslic3r/TextureBake/TextureBakeRepair.cpp @@ -1,10 +1,16 @@ #include "TextureBakeRepair.hpp" +#include "libslic3r/TextureBake/TextureBakeIndex.hpp" +#include "libslic3r/Point.hpp" #include #include #include +#include +#include #include #include +#include +#include namespace Slic3r { namespace TextureBake { diff --git a/src/libslic3r/TextureBake/TextureBakeRepair.hpp b/src/libslic3r/TextureBake/TextureBakeRepair.hpp index 35e9f50b06..07d5323059 100644 --- a/src/libslic3r/TextureBake/TextureBakeRepair.hpp +++ b/src/libslic3r/TextureBake/TextureBakeRepair.hpp @@ -7,6 +7,7 @@ // one incident face on one side, which a slicer reads as an open boundary. This splits the offending // face into a fan so every on-edge vertex becomes a real corner. +#include #include #include diff --git a/src/libslic3r/TextureBake/TextureBakeSubdivide.cpp b/src/libslic3r/TextureBake/TextureBakeSubdivide.cpp index 6b882b1fc8..967f88381a 100644 --- a/src/libslic3r/TextureBake/TextureBakeSubdivide.cpp +++ b/src/libslic3r/TextureBake/TextureBakeSubdivide.cpp @@ -1,12 +1,20 @@ #include "TextureBakeSubdivide.hpp" +#include "libslic3r/Point.hpp" +#include "libslic3r/TextureBake/TextureBakeIndex.hpp" #include #include +#include +#include +#include +#include #include #include #include #include +#include +#include namespace Slic3r { namespace TextureBake { diff --git a/src/libslic3r/TextureBake/TextureBakeSubdivide.hpp b/src/libslic3r/TextureBake/TextureBakeSubdivide.hpp index 743c74eb49..0120160345 100644 --- a/src/libslic3r/TextureBake/TextureBakeSubdivide.hpp +++ b/src/libslic3r/TextureBake/TextureBakeSubdivide.hpp @@ -8,9 +8,12 @@ // The 1->4 case is what keeps the tessellation regular - its children are similar to the parent. An // irregular one shows up after displacement as adjacent triangles tilting alternately, i.e. noise. +#include +#include #include #include +#include "libslic3r/Point.hpp" #include "TextureBakeIndex.hpp" namespace Slic3r { diff --git a/src/libslic3r/TextureDisplacement.cpp b/src/libslic3r/TextureDisplacement.cpp index 862c6c9044..46a7cb18b4 100644 --- a/src/libslic3r/TextureDisplacement.cpp +++ b/src/libslic3r/TextureDisplacement.cpp @@ -1,7 +1,10 @@ #include "TextureDisplacement.hpp" +#include +#include #include #include +#include #include #include #include @@ -11,10 +14,13 @@ #include #include #include +#include +#include #include #include #include #include +#include #include #include #include @@ -27,11 +33,16 @@ #include #include +#include +#include #include "AABBTreeIndirect.hpp" #include "MeshBoolean.hpp" #include "Model.hpp" #include "PNGReadWrite.hpp" +#include "Point.hpp" +#include "TriangleMesh.hpp" +#include "TextureBake/TextureBakeDisplace.hpp" #include "TriangleSelector.hpp" #include "TextureBake/TextureBakeDebug.hpp" #include "TextureBake/TextureBakeMesh.hpp" diff --git a/src/libslic3r/TextureDisplacement.hpp b/src/libslic3r/TextureDisplacement.hpp index e97178abca..afe6a42911 100644 --- a/src/libslic3r/TextureDisplacement.hpp +++ b/src/libslic3r/TextureDisplacement.hpp @@ -1,10 +1,13 @@ #ifndef slic3r_TextureDisplacement_hpp_ #define slic3r_TextureDisplacement_hpp_ +#include +#include #include #include #include #include +#include #include #include diff --git a/src/libslic3r/TexturePainting.cpp b/src/libslic3r/TexturePainting.cpp index 9f83f282cd..e44f870b5d 100644 --- a/src/libslic3r/TexturePainting.cpp +++ b/src/libslic3r/TexturePainting.cpp @@ -1,9 +1,15 @@ #include "TexturePainting.hpp" #include +#include #include +#include +#include #include +#include +#include #include +#include #include #include @@ -11,11 +17,15 @@ #include #include +#include +#include "Point.hpp" +#include "TextureToColor/Callbacks.hpp" #include "TextureToColor/TextureToColor.hpp" #include "TextureToColor/ColorUtils.hpp" #include "Model.hpp" +#include "TextureToColor/TriMesh.hpp" #include "TriangleMesh.hpp" #include "TriangleSelector.hpp" diff --git a/src/libslic3r/TextureToColor/CgalUtils.hpp b/src/libslic3r/TextureToColor/CgalUtils.hpp index 109d454827..1782530bcb 100644 --- a/src/libslic3r/TextureToColor/CgalUtils.hpp +++ b/src/libslic3r/TextureToColor/CgalUtils.hpp @@ -1,8 +1,10 @@ #pragma once +#include "libslic3r/Point.hpp" #include "TriMesh.hpp" #include #include #include +#include #include #include #include diff --git a/src/libslic3r/TextureToColor/ColorUtils.cpp b/src/libslic3r/TextureToColor/ColorUtils.cpp index 7127a5d364..a32b4848b2 100644 --- a/src/libslic3r/TextureToColor/ColorUtils.cpp +++ b/src/libslic3r/TextureToColor/ColorUtils.cpp @@ -1,12 +1,26 @@ #include "ColorUtils.hpp" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include #include #include #include #include #include #include +#include +#include #include +#include +#include #include #include @@ -23,11 +37,19 @@ #include #include #include +#include #include #include "CgalUtils.hpp" +#include "TriMesh.hpp" +#include "libslic3r/Point.hpp" #include "libslic3r/AABBTreeIndirect.hpp" #include +#include +#include +#include +#include +#include namespace Slic3r { namespace tex2color { namespace color_utils { diff --git a/src/libslic3r/TextureToColor/ColorUtils.hpp b/src/libslic3r/TextureToColor/ColorUtils.hpp index 05849109f4..89e6095923 100644 --- a/src/libslic3r/TextureToColor/ColorUtils.hpp +++ b/src/libslic3r/TextureToColor/ColorUtils.hpp @@ -1,7 +1,12 @@ #pragma once #include "Callbacks.hpp" +#include "libslic3r/Point.hpp" #include "TriMesh.hpp" +#include +#include +#include +#include namespace Slic3r { namespace tex2color { diff --git a/src/libslic3r/TextureToColor/Repair.hpp b/src/libslic3r/TextureToColor/Repair.hpp index 44dc30c144..092c0623fb 100644 --- a/src/libslic3r/TextureToColor/Repair.hpp +++ b/src/libslic3r/TextureToColor/Repair.hpp @@ -4,18 +4,22 @@ #include "Callbacks.hpp" #include #include +#include #include #include #include #include #include #include +#include #include #include #include #include +#include #include #include +#include namespace Slic3r { namespace tex2color { diff --git a/src/libslic3r/TextureToColor/TextureToColor.cpp b/src/libslic3r/TextureToColor/TextureToColor.cpp index e5dde36714..15a2a641af 100644 --- a/src/libslic3r/TextureToColor/TextureToColor.cpp +++ b/src/libslic3r/TextureToColor/TextureToColor.cpp @@ -1,5 +1,12 @@ #include "TextureToColor.hpp" +#include +#include +#include +#include +#include +#include +#include #include #include #include @@ -9,14 +16,20 @@ #include #include +#include "Callbacks.hpp" #include "CgalUtils.hpp" #include "ColorUtils.hpp" +#include "TriMesh.hpp" +#include "libslic3r/Point.hpp" #include "libslic3r/TriangleMesh.hpp" #include #include #include "Repair.hpp" #include "libslic3r/AABBTreeIndirect.hpp" #include +#include +#include +#include namespace Slic3r { namespace tex2color { diff --git a/src/libslic3r/TextureToColor/TextureToColor.hpp b/src/libslic3r/TextureToColor/TextureToColor.hpp index 019a113fc4..a88fe2086e 100644 --- a/src/libslic3r/TextureToColor/TextureToColor.hpp +++ b/src/libslic3r/TextureToColor/TextureToColor.hpp @@ -1,10 +1,15 @@ #pragma once #include "Callbacks.hpp" +#include "libslic3r/Point.hpp" #include "TriMesh.hpp" #include "opencv2/core.hpp" +#include +#include #include +#include #include +#include namespace Slic3r { namespace tex2color { diff --git a/src/libslic3r/TextureToColor/TriMesh.hpp b/src/libslic3r/TextureToColor/TriMesh.hpp index d557ae1d2e..63d5286ab7 100644 --- a/src/libslic3r/TextureToColor/TriMesh.hpp +++ b/src/libslic3r/TextureToColor/TriMesh.hpp @@ -1,5 +1,8 @@ #pragma once #include +#include +#include +#include #include "Point.hpp" namespace Slic3r { namespace tex2color { diff --git a/src/libslic3r/Thread.cpp b/src/libslic3r/Thread.cpp index edd7c2a3d0..066656c9ed 100644 --- a/src/libslic3r/Thread.cpp +++ b/src/libslic3r/Thread.cpp @@ -6,6 +6,14 @@ #include #endif +#include +#include +#include +#include +#include +#include +#include + #include #include #include diff --git a/src/libslic3r/Thread.hpp b/src/libslic3r/Thread.hpp index c407159072..e40cae5f26 100644 --- a/src/libslic3r/Thread.hpp +++ b/src/libslic3r/Thread.hpp @@ -1,6 +1,7 @@ #ifndef GUI_THREAD_HPP #define GUI_THREAD_HPP +#include #include #include #include diff --git a/src/libslic3r/Time.cpp b/src/libslic3r/Time.cpp index 81b9af49e2..a9f3f07352 100644 --- a/src/libslic3r/Time.cpp +++ b/src/libslic3r/Time.cpp @@ -1,6 +1,10 @@ #include "Time.hpp" #include +#include +#include +#include +#include #include #include #include @@ -8,6 +12,8 @@ #include #include #include +#include +#include #ifdef _MSC_VER #include diff --git a/src/libslic3r/Timer.cpp b/src/libslic3r/Timer.cpp index 91f3b0f09e..1a81210c58 100644 --- a/src/libslic3r/Timer.cpp +++ b/src/libslic3r/Timer.cpp @@ -1,5 +1,7 @@ #include "Timer.hpp" #include +#include +#include using namespace std::chrono; diff --git a/src/libslic3r/Timer.hpp b/src/libslic3r/Timer.hpp index 01f73a9b3e..e122c6cb1d 100644 --- a/src/libslic3r/Timer.hpp +++ b/src/libslic3r/Timer.hpp @@ -1,8 +1,10 @@ #ifndef libslic3r_Timer_hpp_ #define libslic3r_Timer_hpp_ +#include #include #include +#include namespace Slic3r { diff --git a/src/libslic3r/TriangleMesh.cpp b/src/libslic3r/TriangleMesh.cpp index 9e08e6f1e0..2f047e4e7f 100644 --- a/src/libslic3r/TriangleMesh.cpp +++ b/src/libslic3r/TriangleMesh.cpp @@ -1,5 +1,7 @@ +#include "BoundingBox.hpp" #include "Exception.hpp" #include "TriangleMesh.hpp" +#include "Polygon.hpp" #include "TriangleMeshSlicer.hpp" #include "MeshSplitImpl.hpp" #include "ClipperUtils.hpp" @@ -11,13 +13,26 @@ #include "CutUtils.hpp" #include "Utils.hpp" #include "Format/STL.hpp" +#include "libslic3r.h" +#include +#include +#include +#include +#include +#include +#include +#include #include #include +#include +#include #include #include #include #include +#include +#include #include #include #include diff --git a/src/libslic3r/TriangleMesh.hpp b/src/libslic3r/TriangleMesh.hpp index b963671ce9..8c82bac52f 100644 --- a/src/libslic3r/TriangleMesh.hpp +++ b/src/libslic3r/TriangleMesh.hpp @@ -3,6 +3,11 @@ #include "libslic3r.h" #include +#include +#include +#include +#include +#include #include #include #include "BoundingBox.hpp" diff --git a/src/libslic3r/TriangleMeshDeal.cpp b/src/libslic3r/TriangleMeshDeal.cpp index 4ea3030e51..7ecfc362d1 100644 --- a/src/libslic3r/TriangleMeshDeal.cpp +++ b/src/libslic3r/TriangleMeshDeal.cpp @@ -1,5 +1,7 @@ #include "TriangleMeshDeal.hpp" +#include "TriangleMesh.hpp" +#include #include #undef NDEBUG #include diff --git a/src/libslic3r/TriangleMeshSlicer.cpp b/src/libslic3r/TriangleMeshSlicer.cpp index 444f33c296..2bd5e94622 100644 --- a/src/libslic3r/TriangleMeshSlicer.cpp +++ b/src/libslic3r/TriangleMeshSlicer.cpp @@ -1,16 +1,29 @@ #include "ClipperUtils.hpp" +#include "ExPolygon.hpp" #include "Geometry.hpp" +#include "Point.hpp" +#include "Line.hpp" +#include "MultiPoint.hpp" +#include "Polygon.hpp" #include "Tesselate.hpp" #include "TriangleMesh.hpp" #include "TriangleMeshSlicer.hpp" #include "Utils.hpp" // BBS #include "MeshBoolean.hpp" +#include "libslic3r.h" #include +#include #include +#include +#include #include #include +#include +#include +#include +#include #include #include #include @@ -18,6 +31,7 @@ #include #include +#include #ifndef NDEBUG // #define EXPENSIVE_DEBUG_CHECKS diff --git a/src/libslic3r/TriangleMeshSlicer.hpp b/src/libslic3r/TriangleMeshSlicer.hpp index 1a78e5b7d0..aa1b020716 100644 --- a/src/libslic3r/TriangleMeshSlicer.hpp +++ b/src/libslic3r/TriangleMeshSlicer.hpp @@ -1,8 +1,14 @@ #ifndef slic3r_TriangleMeshSlicer_hpp_ #define slic3r_TriangleMeshSlicer_hpp_ +#include +#include #include +#include #include +#include + +#include "Point.hpp" #include "Polygon.hpp" #include "ExPolygon.hpp" diff --git a/src/libslic3r/TriangleSelector.cpp b/src/libslic3r/TriangleSelector.cpp index 4d6007530f..7314b00082 100644 --- a/src/libslic3r/TriangleSelector.cpp +++ b/src/libslic3r/TriangleSelector.cpp @@ -1,12 +1,31 @@ #include "TriangleSelector.hpp" +#include "Geometry.hpp" #include "Model.hpp" #include "AABBTreeIndirect.hpp" +#include "Point.hpp" +#include "libslic3r.h" +#include "Utils.hpp" +#include "TriangleMesh.hpp" +#include +#include +#include +#include #include #include +#include +#include #include +#include +#include +#include #include +#include +#include #include +#include +#include +#include #ifndef NDEBUG // #define EXPENSIVE_DEBUG_CHECKS diff --git a/src/libslic3r/TriangleSelector.hpp b/src/libslic3r/TriangleSelector.hpp index 344e88cb99..3dd2efdaf0 100644 --- a/src/libslic3r/TriangleSelector.hpp +++ b/src/libslic3r/TriangleSelector.hpp @@ -4,7 +4,18 @@ // #define PRUSASLICER_TRIANGLE_SELECTOR_DEBUG +#include +#include +#include +#include #include +#include +#include +#include +#include +#include +#include +#include #include "Point.hpp" #include "TriangleMesh.hpp" diff --git a/src/libslic3r/TriangleSetSampling.cpp b/src/libslic3r/TriangleSetSampling.cpp index bb03ff6d75..6ab4290ee6 100644 --- a/src/libslic3r/TriangleSetSampling.cpp +++ b/src/libslic3r/TriangleSetSampling.cpp @@ -1,8 +1,13 @@ #include "TriangleSetSampling.hpp" +#include +#include "Point.hpp" +#include +#include #include #include #include #include +#include namespace Slic3r { diff --git a/src/libslic3r/TriangleSetSampling.hpp b/src/libslic3r/TriangleSetSampling.hpp index 28a661d76f..ba20a932eb 100644 --- a/src/libslic3r/TriangleSetSampling.hpp +++ b/src/libslic3r/TriangleSetSampling.hpp @@ -2,6 +2,8 @@ #define SRC_LIBSLIC3R_TRIANGLESETSAMPLING_HPP_ #include +#include +#include #include "libslic3r/Point.hpp" namespace Slic3r { diff --git a/src/libslic3r/TriangulateWall.hpp b/src/libslic3r/TriangulateWall.hpp index fcdb842f9b..fcc67e29b2 100644 --- a/src/libslic3r/TriangulateWall.hpp +++ b/src/libslic3r/TriangulateWall.hpp @@ -1,7 +1,11 @@ #ifndef TRIANGULATEWALL_HPP #define TRIANGULATEWALL_HPP +#include "Point.hpp" #include "libslic3r/Polygon.hpp" +#include +#include +#include namespace Slic3r { diff --git a/src/libslic3r/Triangulation.cpp b/src/libslic3r/Triangulation.cpp index f290442bf1..63a5b30fe5 100644 --- a/src/libslic3r/Triangulation.cpp +++ b/src/libslic3r/Triangulation.cpp @@ -1,10 +1,27 @@ #include "Triangulation.hpp" #include "IntersectionPoints.hpp" +#include +#include +#include +#include +#include +#include #include #include #include #include #include +#include +#include "libslic3r/Polygon.hpp" +#include "libslic3r/Point.hpp" +#include +#include "libslic3r/Line.hpp" +#include +#include +#include +#include "libslic3r/libslic3r.h" +#include "libslic3r/ExPolygon.hpp" +#include using namespace Slic3r; namespace priv{ diff --git a/src/libslic3r/Triangulation.hpp b/src/libslic3r/Triangulation.hpp index 6a168d1d20..261f76bba5 100644 --- a/src/libslic3r/Triangulation.hpp +++ b/src/libslic3r/Triangulation.hpp @@ -1,6 +1,8 @@ #ifndef libslic3r_Triangulation_hpp_ #define libslic3r_Triangulation_hpp_ +#include +#include #include #include #include diff --git a/src/libslic3r/Utils.hpp b/src/libslic3r/Utils.hpp index d142afae92..cc84b93939 100644 --- a/src/libslic3r/Utils.hpp +++ b/src/libslic3r/Utils.hpp @@ -1,9 +1,23 @@ #ifndef slic3r_Utils_hpp_ #define slic3r_Utils_hpp_ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include #include +#include #include #include +#include +#include +#include #include #include #include @@ -19,6 +33,7 @@ #include "boost/date_time/posix_time/ptime.hpp" #include +#include #include "libslic3r.h" #include "Semver.hpp" diff --git a/src/libslic3r/VariableWidth.cpp b/src/libslic3r/VariableWidth.cpp index c00fc13bdf..db8f0bc373 100644 --- a/src/libslic3r/VariableWidth.cpp +++ b/src/libslic3r/VariableWidth.cpp @@ -1,4 +1,16 @@ #include "VariableWidth.hpp" +#include "ExtrusionEntity.hpp" +#include "Polyline.hpp" +#include "Flow.hpp" +#include "Line.hpp" +#include +#include "libslic3r.h" +#include "Point.hpp" +#include +#include +#include +#include +#include namespace Slic3r { diff --git a/src/libslic3r/VariableWidth.hpp b/src/libslic3r/VariableWidth.hpp index f6eca97089..7b8f1f4b0a 100644 --- a/src/libslic3r/VariableWidth.hpp +++ b/src/libslic3r/VariableWidth.hpp @@ -4,6 +4,8 @@ #include "Polygon.hpp" #include "ExtrusionEntity.hpp" #include "Flow.hpp" +#include "Polyline.hpp" +#include namespace Slic3r { ExtrusionMultiPath thick_polyline_to_multi_path(const ThickPolyline& thick_polyline, ExtrusionRole role, const Flow& flow, const float tolerance, const float merge_tolerance); diff --git a/src/libslic3r/Zipper.cpp b/src/libslic3r/Zipper.cpp index aa0c6409e7..4e7e53a1b5 100644 --- a/src/libslic3r/Zipper.cpp +++ b/src/libslic3r/Zipper.cpp @@ -1,9 +1,14 @@ +#include +#include #include #include "Exception.hpp" #include "Zipper.hpp" #include "miniz_extension.hpp" #include +#include +#include +#include #include "I18N.hpp" //! macro used to mark string used at localization, diff --git a/src/libslic3r/Zipper.hpp b/src/libslic3r/Zipper.hpp index bbaf2f05e7..dbd1fb9cc0 100644 --- a/src/libslic3r/Zipper.hpp +++ b/src/libslic3r/Zipper.hpp @@ -1,9 +1,11 @@ #ifndef ZIPPER_HPP #define ZIPPER_HPP +#include #include #include #include +#include namespace Slic3r { diff --git a/src/libslic3r/calib.cpp b/src/libslic3r/calib.cpp index 99625ca196..dd6d8592b7 100644 --- a/src/libslic3r/calib.cpp +++ b/src/libslic3r/calib.cpp @@ -1,9 +1,23 @@ #include "calib.hpp" #include "BoundingBox.hpp" #include "Config.hpp" +#include "Flow.hpp" +#include "GCodeWriter.hpp" +#include "GCode/GCodeProcessor.hpp" +#include "CustomGCode.hpp" #include "Model.hpp" #include "GCode.hpp" +#include "PrintConfig.hpp" +#include +#include "Point.hpp" +#include "libslic3r.h" #include +#include +#include +#include +#include +#include +#include namespace Slic3r { diff --git a/src/libslic3r/calib.hpp b/src/libslic3r/calib.hpp index abca5e79dc..fd22d4a08f 100644 --- a/src/libslic3r/calib.hpp +++ b/src/libslic3r/calib.hpp @@ -1,5 +1,11 @@ #pragma once +#include "Point.hpp" +#include +#include +#include #include +#include +#include #define calib_pressure_advance_dd #include "GCodeWriter.hpp" diff --git a/src/libslic3r/format.hpp b/src/libslic3r/format.hpp index c3747677b0..7f3385c3d7 100644 --- a/src/libslic3r/format.hpp +++ b/src/libslic3r/format.hpp @@ -14,6 +14,7 @@ // boost::format may convert to string, see slic3r/GUI/I18N.hpp for a "cook" function to convert wxString to UTF8. #include +#include namespace Slic3r { diff --git a/src/libslic3r/libslic3r.h b/src/libslic3r/libslic3r.h index 06fce9796d..17ec412b05 100644 --- a/src/libslic3r/libslic3r.h +++ b/src/libslic3r/libslic3r.h @@ -2,6 +2,12 @@ #define _libslic3r_h_ #include "libslic3r_version.h" +#include +#include +#include +#include +#include +#include #define SLIC3R_APP_FULL_NAME "Orca Slicer" #define GCODEVIEWER_APP_NAME "OrcaSlicer G-code Viewer" #define GCODEVIEWER_APP_KEY "OrcaSlicerGcodeViewer" diff --git a/src/libslic3r/miniz_extension.cpp b/src/libslic3r/miniz_extension.cpp index 4d9b528267..33f24a9a55 100644 --- a/src/libslic3r/miniz_extension.cpp +++ b/src/libslic3r/miniz_extension.cpp @@ -1,3 +1,8 @@ +#include +#include +#include +#include +#include #include #include @@ -6,6 +11,9 @@ #include #include +#include +#include +#include #if defined(_MSC_VER) || defined(__MINGW64__) #include "boost/nowide/cstdio.hpp" diff --git a/src/libslic3r/utils.cpp b/src/libslic3r/utils.cpp index 849d309563..6205f11219 100644 --- a/src/libslic3r/utils.cpp +++ b/src/libslic3r/utils.cpp @@ -1,11 +1,43 @@ #include "Utils.hpp" +#include "Exception.hpp" #include "I18N.hpp" #include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include #include #include #include #include +#include +#include +#include #include #include #include @@ -14,7 +46,12 @@ #include #include #include +#include +#include +#include +#include +#include "Semver.hpp" #include "format.hpp" #include "Platform.hpp" #include "Time.hpp" @@ -23,6 +60,7 @@ // (get_version_from_json) and the preset cache stamp (VendorCacheFile). #include "Preset.hpp" #include "PresetCacheFormat.hpp" +#include "libslic3r_version.h" #ifdef __APPLE__ #include "MacUtils.hpp" diff --git a/src/libvgcode/include/ColorPrint.hpp b/src/libvgcode/include/ColorPrint.hpp index 071b93a708..bbae9284a5 100644 --- a/src/libvgcode/include/ColorPrint.hpp +++ b/src/libvgcode/include/ColorPrint.hpp @@ -6,6 +6,8 @@ #define VGCODE_COLORPRINT_HPP #include "../include/Types.hpp" +#include +#include namespace libvgcode { diff --git a/src/libvgcode/include/ColorRange.hpp b/src/libvgcode/include/ColorRange.hpp index e6c83cb21d..ce34c3de7b 100644 --- a/src/libvgcode/include/ColorRange.hpp +++ b/src/libvgcode/include/ColorRange.hpp @@ -7,7 +7,10 @@ #include "../include/Types.hpp" +#include #include +#include +#include namespace libvgcode { diff --git a/src/libvgcode/include/GCodeInputData.hpp b/src/libvgcode/include/GCodeInputData.hpp index 5085322e37..a0057230e7 100644 --- a/src/libvgcode/include/GCodeInputData.hpp +++ b/src/libvgcode/include/GCodeInputData.hpp @@ -6,6 +6,8 @@ #define VGCODE_GCODEINPUTDATA_HPP #include "PathVertex.hpp" +#include +#include "Types.hpp" namespace libvgcode { diff --git a/src/libvgcode/include/PathVertex.hpp b/src/libvgcode/include/PathVertex.hpp index f5704d5376..8f24d6a440 100644 --- a/src/libvgcode/include/PathVertex.hpp +++ b/src/libvgcode/include/PathVertex.hpp @@ -7,7 +7,9 @@ #include "Types.hpp" +#include #include +#include namespace libvgcode { diff --git a/src/libvgcode/include/Types.hpp b/src/libvgcode/include/Types.hpp index 099f622dc3..1c3b50208a 100644 --- a/src/libvgcode/include/Types.hpp +++ b/src/libvgcode/include/Types.hpp @@ -5,6 +5,7 @@ #ifndef VGCODE_TYPES_HPP #define VGCODE_TYPES_HPP +#include #define VGCODE_ENABLE_COG_AND_TOOL_MARKERS 0 #include diff --git a/src/libvgcode/include/Viewer.hpp b/src/libvgcode/include/Viewer.hpp index 458bc4b69f..a714bf1756 100644 --- a/src/libvgcode/include/Viewer.hpp +++ b/src/libvgcode/include/Viewer.hpp @@ -7,7 +7,10 @@ #include "Types.hpp" +#include +#include #include +#include namespace libvgcode { diff --git a/src/libvgcode/src/Bitset.hpp b/src/libvgcode/src/Bitset.hpp index eebe297262..75dbe5580b 100644 --- a/src/libvgcode/src/Bitset.hpp +++ b/src/libvgcode/src/Bitset.hpp @@ -6,6 +6,9 @@ #define VGCODE_BITSET_HPP #include +#include +#include +#include #include namespace libvgcode { diff --git a/src/libvgcode/src/ColorRange.cpp b/src/libvgcode/src/ColorRange.cpp index 1ba0dfc526..86a034fffe 100644 --- a/src/libvgcode/src/ColorRange.cpp +++ b/src/libvgcode/src/ColorRange.cpp @@ -7,8 +7,13 @@ #include "Utils.hpp" #include +#include #include +#include #include +#include "../include/Types.hpp" +#include +#include namespace libvgcode { diff --git a/src/libvgcode/src/ExtrusionRoles.cpp b/src/libvgcode/src/ExtrusionRoles.cpp index e38886c57b..bac4eac60e 100644 --- a/src/libvgcode/src/ExtrusionRoles.cpp +++ b/src/libvgcode/src/ExtrusionRoles.cpp @@ -3,6 +3,11 @@ ///|/ libvgcode is released under the terms of the AGPLv3 or higher ///|/ #include "ExtrusionRoles.hpp" +#include "../include/Types.hpp" +#include +#include +#include +#include namespace libvgcode { diff --git a/src/libvgcode/src/ExtrusionRoles.hpp b/src/libvgcode/src/ExtrusionRoles.hpp index ee949fbf0d..5ab06cef94 100644 --- a/src/libvgcode/src/ExtrusionRoles.hpp +++ b/src/libvgcode/src/ExtrusionRoles.hpp @@ -7,7 +7,10 @@ #include "../include/Types.hpp" +#include +#include #include +#include namespace libvgcode { diff --git a/src/libvgcode/src/Layers.cpp b/src/libvgcode/src/Layers.cpp index 16a2e38fcd..5e52bc7aa9 100644 --- a/src/libvgcode/src/Layers.cpp +++ b/src/libvgcode/src/Layers.cpp @@ -9,6 +9,11 @@ #include #include +#include "../include/Types.hpp" +#include +#include +#include +#include namespace libvgcode { diff --git a/src/libvgcode/src/Layers.hpp b/src/libvgcode/src/Layers.hpp index bf3386016c..e55d1f04af 100644 --- a/src/libvgcode/src/Layers.hpp +++ b/src/libvgcode/src/Layers.hpp @@ -6,6 +6,11 @@ #define VGCODE_LAYERS_HPP #include "Range.hpp" +#include +#include +#include "../include/Types.hpp" +#include +#include namespace libvgcode { diff --git a/src/libvgcode/src/OpenGLUtils.cpp b/src/libvgcode/src/OpenGLUtils.cpp index bc39b29a4d..c6617af506 100644 --- a/src/libvgcode/src/OpenGLUtils.cpp +++ b/src/libvgcode/src/OpenGLUtils.cpp @@ -10,6 +10,7 @@ #include #include #include +#include namespace libvgcode { diff --git a/src/libvgcode/src/OptionTemplate.cpp b/src/libvgcode/src/OptionTemplate.cpp index 316897ad3b..cc2b39a5ec 100644 --- a/src/libvgcode/src/OptionTemplate.cpp +++ b/src/libvgcode/src/OptionTemplate.cpp @@ -6,6 +6,9 @@ #include "OpenGLUtils.hpp" #include "Utils.hpp" +#include +#include "../include/Types.hpp" +#include #include #include #include diff --git a/src/libvgcode/src/PathVertex.cpp b/src/libvgcode/src/PathVertex.cpp index ed1569bc36..e157f20ff7 100644 --- a/src/libvgcode/src/PathVertex.cpp +++ b/src/libvgcode/src/PathVertex.cpp @@ -3,6 +3,7 @@ ///|/ libvgcode is released under the terms of the AGPLv3 or higher ///|/ #include "../include/PathVertex.hpp" +#include "../include/Types.hpp" namespace libvgcode { diff --git a/src/libvgcode/src/Range.cpp b/src/libvgcode/src/Range.cpp index 4d8df12f3d..5ef4570d1f 100644 --- a/src/libvgcode/src/Range.cpp +++ b/src/libvgcode/src/Range.cpp @@ -5,6 +5,7 @@ #include "Range.hpp" #include +#include "../include/Types.hpp" namespace libvgcode { diff --git a/src/libvgcode/src/SegmentTemplate.cpp b/src/libvgcode/src/SegmentTemplate.cpp index 9d9872aa3b..f925e0a860 100644 --- a/src/libvgcode/src/SegmentTemplate.cpp +++ b/src/libvgcode/src/SegmentTemplate.cpp @@ -5,6 +5,7 @@ #include "SegmentTemplate.hpp" #include "OpenGLUtils.hpp" +#include #include #include diff --git a/src/libvgcode/src/Settings.hpp b/src/libvgcode/src/Settings.hpp index b3aa371c4a..fe205531f2 100644 --- a/src/libvgcode/src/Settings.hpp +++ b/src/libvgcode/src/Settings.hpp @@ -7,6 +7,8 @@ #include "../include/Types.hpp" +#include +#include #include namespace libvgcode { diff --git a/src/libvgcode/src/ToolMarker.cpp b/src/libvgcode/src/ToolMarker.cpp index 3e595faec0..f4447fe9ad 100644 --- a/src/libvgcode/src/ToolMarker.cpp +++ b/src/libvgcode/src/ToolMarker.cpp @@ -7,6 +7,7 @@ #include "Utils.hpp" #include +#include "../include/Types.hpp" #if VGCODE_ENABLE_COG_AND_TOOL_MARKERS diff --git a/src/libvgcode/src/Types.cpp b/src/libvgcode/src/Types.cpp index 2aa8a40e9d..1badfae81b 100644 --- a/src/libvgcode/src/Types.cpp +++ b/src/libvgcode/src/Types.cpp @@ -5,6 +5,7 @@ #include "../include/Types.hpp" #include +#include namespace libvgcode { diff --git a/src/libvgcode/src/Utils.cpp b/src/libvgcode/src/Utils.cpp index aee2cd4875..46ed6a336c 100644 --- a/src/libvgcode/src/Utils.cpp +++ b/src/libvgcode/src/Utils.cpp @@ -6,6 +6,9 @@ #include #include +#include "../include/Types.hpp" +#include +#include namespace libvgcode { diff --git a/src/libvgcode/src/Utils.hpp b/src/libvgcode/src/Utils.hpp index 84c3deb3c5..4db67e426f 100644 --- a/src/libvgcode/src/Utils.hpp +++ b/src/libvgcode/src/Utils.hpp @@ -6,6 +6,8 @@ #define VGCODE_UTILS_HPP #include "../include/Types.hpp" +#include +#include #ifdef _WIN32 #define STDVEC_MEMSIZE(NAME, TYPE) NAME.capacity() * ((sizeof(TYPE) + __alignof(TYPE) - 1) / __alignof(TYPE)) * __alignof(TYPE) diff --git a/src/libvgcode/src/ViewRange.cpp b/src/libvgcode/src/ViewRange.cpp index ea2f1e916e..b5657da1b7 100644 --- a/src/libvgcode/src/ViewRange.cpp +++ b/src/libvgcode/src/ViewRange.cpp @@ -3,6 +3,7 @@ ///|/ libvgcode is released under the terms of the AGPLv3 or higher ///|/ #include "ViewRange.hpp" +#include "../include/Types.hpp" namespace libvgcode { diff --git a/src/libvgcode/src/ViewRange.hpp b/src/libvgcode/src/ViewRange.hpp index b9356fc760..7d5f9eb32e 100644 --- a/src/libvgcode/src/ViewRange.hpp +++ b/src/libvgcode/src/ViewRange.hpp @@ -6,6 +6,7 @@ #define VGCODE_VIEWRANGE_HPP #include "Range.hpp" +#include "../include/Types.hpp" namespace libvgcode { diff --git a/src/libvgcode/src/Viewer.cpp b/src/libvgcode/src/Viewer.cpp index 089f1f7e7b..b082a6e29d 100644 --- a/src/libvgcode/src/Viewer.cpp +++ b/src/libvgcode/src/Viewer.cpp @@ -4,6 +4,12 @@ ///|/ #include "../include/Viewer.hpp" #include "ViewerImpl.hpp" +#include +#include +#include "../include/Types.hpp" +#include +#include +#include namespace libvgcode { diff --git a/src/libvgcode/src/ViewerImpl.cpp b/src/libvgcode/src/ViewerImpl.cpp index ee38594817..8dc908d6d8 100644 --- a/src/libvgcode/src/ViewerImpl.cpp +++ b/src/libvgcode/src/ViewerImpl.cpp @@ -9,14 +9,26 @@ #include "OpenGLUtils.hpp" #include "Utils.hpp" +#include +#include "../include/Types.hpp" +#include +#include "../include/PathVertex.hpp" +#include "Bitset.hpp" +#include "../include/ColorPrint.hpp" +#include +#include #include #include +#include #include #include #include #include #include #include +#include +#include +#include namespace libvgcode { diff --git a/src/libvgcode/src/ViewerImpl.hpp b/src/libvgcode/src/ViewerImpl.hpp index 335fb5ef52..0877e6265b 100644 --- a/src/libvgcode/src/ViewerImpl.hpp +++ b/src/libvgcode/src/ViewerImpl.hpp @@ -8,6 +8,12 @@ #include "Settings.hpp" #include "SegmentTemplate.hpp" #include "OptionTemplate.hpp" +#include "../include/Types.hpp" +#include +#include +#include +#include +#include #if VGCODE_ENABLE_COG_AND_TOOL_MARKERS #include "CogMarker.hpp" #include "ToolMarker.hpp" diff --git a/src/slic3r/Config/Snapshot.cpp b/src/slic3r/Config/Snapshot.cpp index a7135eac6f..cf568432dc 100644 --- a/src/slic3r/Config/Snapshot.cpp +++ b/src/slic3r/Config/Snapshot.cpp @@ -1,5 +1,21 @@ #include "Snapshot.hpp" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "libslic3r/Exception.hpp" +#include "slic3r/Config/Version.hpp" +#include #include #include @@ -26,7 +42,10 @@ #include "../GUI/MainFrame.hpp" #include "../GUI/MsgDialog.hpp" +#include +#include #include +#include #define SLIC3R_SNAPSHOTS_DIR "snapshots" #define SLIC3R_SNAPSHOT_FILE "snapshot.ini" diff --git a/src/slic3r/Config/Snapshot.hpp b/src/slic3r/Config/Snapshot.hpp index f453006338..96a0c33771 100644 --- a/src/slic3r/Config/Snapshot.hpp +++ b/src/slic3r/Config/Snapshot.hpp @@ -1,6 +1,8 @@ #ifndef slic3r_GUI_Snapshot_ #define slic3r_GUI_Snapshot_ +#include +#include #include #include #include diff --git a/src/slic3r/Config/Version.cpp b/src/slic3r/Config/Version.cpp index 092594ce51..f25577c9dc 100644 --- a/src/slic3r/Config/Version.cpp +++ b/src/slic3r/Config/Version.cpp @@ -1,9 +1,21 @@ #include "Version.hpp" +#include +#include +#include +#include #include #include #include +#include "libslic3r/Semver.hpp" +#include +#include +#include +#include +#include +#include +#include "libslic3r/Exception.hpp" #include "libslic3r/libslic3r.h" #include "libslic3r/Config.hpp" diff --git a/src/slic3r/Config/Version.hpp b/src/slic3r/Config/Version.hpp index 8249573dec..5e10e9ab95 100644 --- a/src/slic3r/Config/Version.hpp +++ b/src/slic3r/Config/Version.hpp @@ -1,6 +1,7 @@ #ifndef slic3r_GUI_ConfigIndex_ #define slic3r_GUI_ConfigIndex_ +#include #include #include diff --git a/src/slic3r/GUI/2DBed.cpp b/src/slic3r/GUI/2DBed.cpp index 3257d05adc..4bf71c2d50 100644 --- a/src/slic3r/GUI/2DBed.cpp +++ b/src/slic3r/GUI/2DBed.cpp @@ -18,6 +18,7 @@ #include "slic3r/GUI/Gizmos/GLGizmoBase.hpp" #include "slic3r/GUI/Widgets/StateColor.hpp" #include +#include #include #include #include diff --git a/src/slic3r/GUI/AMSMaterialsSetting.cpp b/src/slic3r/GUI/AMSMaterialsSetting.cpp index 08e7d7a056..66e87ac3af 100644 --- a/src/slic3r/GUI/AMSMaterialsSetting.cpp +++ b/src/slic3r/GUI/AMSMaterialsSetting.cpp @@ -12,6 +12,7 @@ #include #include #include +#include #include #include "slic3r/GUI/GUI_Utils.hpp" #include "slic3r/GUI/Widgets/Button.hpp" diff --git a/src/slic3r/GUI/AMSMaterialsSetting.hpp b/src/slic3r/GUI/AMSMaterialsSetting.hpp index 79880a6ec5..0ecc8809be 100644 --- a/src/slic3r/GUI/AMSMaterialsSetting.hpp +++ b/src/slic3r/GUI/AMSMaterialsSetting.hpp @@ -16,6 +16,7 @@ #include "Widgets/TextInput.hpp" #include "Widgets/HyperLink.hpp" #include "slic3r/Utils/CalibUtils.hpp" +#include #include #include #include diff --git a/src/slic3r/GUI/AMSSetting.cpp b/src/slic3r/GUI/AMSSetting.cpp index d967fa37ab..f953dd115a 100644 --- a/src/slic3r/GUI/AMSSetting.cpp +++ b/src/slic3r/GUI/AMSSetting.cpp @@ -12,6 +12,7 @@ #include "slic3r/GUI/Widgets/AnimaController.hpp" #include "slic3r/GUI/Widgets/Label.hpp" #include "slic3r/GUI/Widgets/ComboBox.hpp" +#include #include #include #include "slic3r/GUI/GUI_Utils.hpp" diff --git a/src/slic3r/GUI/AMSSetting.hpp b/src/slic3r/GUI/AMSSetting.hpp index 24467f8d13..1d6b559981 100644 --- a/src/slic3r/GUI/AMSSetting.hpp +++ b/src/slic3r/GUI/AMSSetting.hpp @@ -12,6 +12,7 @@ #include "Widgets/CheckBox.hpp" #include "slic3r/GUI/DeviceCore/DevFilaAmsSetting.h" +#include #include #include #include diff --git a/src/slic3r/GUI/CAD/DesignCanvas.cpp b/src/slic3r/GUI/CAD/DesignCanvas.cpp index 517fbcee63..1abfd81feb 100644 --- a/src/slic3r/GUI/CAD/DesignCanvas.cpp +++ b/src/slic3r/GUI/CAD/DesignCanvas.cpp @@ -18,6 +18,7 @@ #include #include +#include #include #include #include "libslic3r/CAD/SketchEngine.hpp" diff --git a/src/slic3r/GUI/CAD/DesignPanel.cpp b/src/slic3r/GUI/CAD/DesignPanel.cpp index 59e3aaac8e..d61d0aa11f 100644 --- a/src/slic3r/GUI/CAD/DesignPanel.cpp +++ b/src/slic3r/GUI/CAD/DesignPanel.cpp @@ -34,6 +34,7 @@ #include #include #include +#include #include #include #include diff --git a/src/slic3r/GUI/CalibrationPanel.hpp b/src/slic3r/GUI/CalibrationPanel.hpp index f427b37871..adf03e4be9 100644 --- a/src/slic3r/GUI/CalibrationPanel.hpp +++ b/src/slic3r/GUI/CalibrationPanel.hpp @@ -6,6 +6,24 @@ #include "Lazy.hpp" #include "SelectMachinePop.hpp" #include "Widgets/SideTools.hpp" +#include +#include "libslic3r/calib.hpp" +#include +#include "slic3r/GUI/wxExtensions.hpp" +#include "slic3r/GUI/DeviceManager.hpp" +#include +#include +#include +#include "slic3r/GUI/Widgets/PopupWindow.hpp" +#include +#include +#include +#include +#include +#include +#include +#include +#include "slic3r/GUI/StagedBuild.hpp" namespace Slic3r { namespace GUI { diff --git a/src/slic3r/GUI/CapsuleButton.hpp b/src/slic3r/GUI/CapsuleButton.hpp index ac23f174e8..f8afdddabb 100644 --- a/src/slic3r/GUI/CapsuleButton.hpp +++ b/src/slic3r/GUI/CapsuleButton.hpp @@ -3,6 +3,7 @@ #include "wxExtensions.hpp" #include "Widgets/Label.hpp" +#include #include #include #include diff --git a/src/slic3r/GUI/ConfigExceptions.hpp b/src/slic3r/GUI/ConfigExceptions.hpp index 181442d4e3..e3c5b08cea 100644 --- a/src/slic3r/GUI/ConfigExceptions.hpp +++ b/src/slic3r/GUI/ConfigExceptions.hpp @@ -1,4 +1,8 @@ #include +#include + +#include "libslic3r/Exception.hpp" + namespace Slic3r { class ConfigError : public Slic3r::RuntimeError { diff --git a/src/slic3r/GUI/ConfigManipulation.cpp b/src/slic3r/GUI/ConfigManipulation.cpp index 91c5f211e1..48c0cd0d5f 100644 --- a/src/slic3r/GUI/ConfigManipulation.cpp +++ b/src/slic3r/GUI/ConfigManipulation.cpp @@ -24,6 +24,7 @@ #include #include #include +#include namespace Slic3r { namespace GUI { diff --git a/src/slic3r/GUI/DeviceTab/uiAMSBestPositionPopup.cpp b/src/slic3r/GUI/DeviceTab/uiAMSBestPositionPopup.cpp index f02007593a..151d53810b 100644 --- a/src/slic3r/GUI/DeviceTab/uiAMSBestPositionPopup.cpp +++ b/src/slic3r/GUI/DeviceTab/uiAMSBestPositionPopup.cpp @@ -13,6 +13,7 @@ #include "slic3r/GUI/Widgets/StateColor.hpp" +#include #include #include #include diff --git a/src/slic3r/GUI/DeviceTab/uiAMSBestPositionPopup.hpp b/src/slic3r/GUI/DeviceTab/uiAMSBestPositionPopup.hpp index 34cd85e692..dcc7654b41 100644 --- a/src/slic3r/GUI/DeviceTab/uiAMSBestPositionPopup.hpp +++ b/src/slic3r/GUI/DeviceTab/uiAMSBestPositionPopup.hpp @@ -18,6 +18,7 @@ #include "libslic3r/ProjectTask.hpp" #include #include +#include #include #include #include diff --git a/src/slic3r/GUI/DeviceTab/uiAmsHumidityPopup.cpp b/src/slic3r/GUI/DeviceTab/uiAmsHumidityPopup.cpp index 5014743f2d..462fcf892e 100644 --- a/src/slic3r/GUI/DeviceTab/uiAmsHumidityPopup.cpp +++ b/src/slic3r/GUI/DeviceTab/uiAmsHumidityPopup.cpp @@ -14,6 +14,7 @@ #include "slic3r/GUI/Widgets/StateColor.hpp" +#include #include #include "slic3r/GUI/Widgets/Label.hpp" #include diff --git a/src/slic3r/GUI/DeviceTab/wgtDeviceNozzleRack.h b/src/slic3r/GUI/DeviceTab/wgtDeviceNozzleRack.h index 16cd311120..c433973e44 100644 --- a/src/slic3r/GUI/DeviceTab/wgtDeviceNozzleRack.h +++ b/src/slic3r/GUI/DeviceTab/wgtDeviceNozzleRack.h @@ -14,9 +14,16 @@ #include "slic3r/GUI/Widgets/StaticBox.hpp" #include "slic3r/GUI/Widgets/AnimaController.hpp" +#include +#include +#include +#include +#include #include #include #include +#include +#include // Previous definitions class Button; diff --git a/src/slic3r/GUI/ExtrusionCalibration.cpp b/src/slic3r/GUI/ExtrusionCalibration.cpp index e15470e462..a2d14fa370 100644 --- a/src/slic3r/GUI/ExtrusionCalibration.cpp +++ b/src/slic3r/GUI/ExtrusionCalibration.cpp @@ -6,6 +6,7 @@ #include #include "I18N.hpp" #include +#include #include #include "slic3r/GUI/GUI_Utils.hpp" #include "slic3r/GUI/wxExtensions.hpp" diff --git a/src/slic3r/GUI/ExtrusionCalibration.hpp b/src/slic3r/GUI/ExtrusionCalibration.hpp index cbee1b56b1..3b500373da 100644 --- a/src/slic3r/GUI/ExtrusionCalibration.hpp +++ b/src/slic3r/GUI/ExtrusionCalibration.hpp @@ -16,6 +16,7 @@ #include "ParamsDialog.hpp" #include "GUI_App.hpp" #include "wx/hyperlink.h" +#include #include #include #include diff --git a/src/slic3r/GUI/GUI_App.cpp b/src/slic3r/GUI/GUI_App.cpp index 6bd0797ac9..94ef20e9fd 100644 --- a/src/slic3r/GUI/GUI_App.cpp +++ b/src/slic3r/GUI/GUI_App.cpp @@ -6735,8 +6735,10 @@ void GUI_App::reload_settings() tab->reload_config(); tab->update_changed_ui(); } - if (plater_) + if (plater_) { plater_->sidebar().update_all_preset_comboboxes(); + plater_->normalize_bed_types(false); + } }; if (is_main_thread_active()) refresh_synced_ui(); diff --git a/src/slic3r/GUI/GUI_AuxiliaryList.hpp b/src/slic3r/GUI/GUI_AuxiliaryList.hpp index 8604259371..88bab94a3d 100644 --- a/src/slic3r/GUI/GUI_AuxiliaryList.hpp +++ b/src/slic3r/GUI/GUI_AuxiliaryList.hpp @@ -6,10 +6,14 @@ #include #include +#include #include +#include #include #include #include +#include +#include #include "AuxiliaryDataViewModel.hpp" diff --git a/src/slic3r/GUI/GUI_ObjectList.cpp b/src/slic3r/GUI/GUI_ObjectList.cpp index e2226b3d3e..38633dc86a 100644 --- a/src/slic3r/GUI/GUI_ObjectList.cpp +++ b/src/slic3r/GUI/GUI_ObjectList.cpp @@ -67,6 +67,7 @@ #include #include #include +#include #include #include #include diff --git a/src/slic3r/GUI/GUI_ObjectTableSettings.cpp b/src/slic3r/GUI/GUI_ObjectTableSettings.cpp index fbca655a24..949abfcb13 100644 --- a/src/slic3r/GUI/GUI_ObjectTableSettings.cpp +++ b/src/slic3r/GUI/GUI_ObjectTableSettings.cpp @@ -15,6 +15,7 @@ #include "I18N.hpp" #include "ConfigManipulation.hpp" +#include #include #include #include diff --git a/src/slic3r/GUI/GUI_ObjectTableSettings.hpp b/src/slic3r/GUI/GUI_ObjectTableSettings.hpp index 24e3d427a9..490df76a75 100644 --- a/src/slic3r/GUI/GUI_ObjectTableSettings.hpp +++ b/src/slic3r/GUI/GUI_ObjectTableSettings.hpp @@ -1,15 +1,21 @@ #ifndef slic3r_GUI_ObjectTableSettings_hpp_ #define slic3r_GUI_ObjectTableSettings_hpp_ +#include #include +#include #include +#include #include +#include #include "wxExtensions.hpp" +#include "libslic3r/PrintConfig.hpp" class wxBoxSizer; namespace Slic3r { class DynamicPrintConfig; +class ModelObject; class ModelConfig; namespace GUI { class ConfigOptionsGroup; diff --git a/src/slic3r/GUI/Gizmos/GLGizmoCut.cpp b/src/slic3r/GUI/Gizmos/GLGizmoCut.cpp index ebd0821ded..69999155af 100644 --- a/src/slic3r/GUI/Gizmos/GLGizmoCut.cpp +++ b/src/slic3r/GUI/Gizmos/GLGizmoCut.cpp @@ -32,6 +32,7 @@ #include "slic3r/GUI/3DScene.hpp" #include "libslic3r/Config.hpp" #include "libslic3r/Line.hpp" +#include #include #include "libslic3r/TriangleMesh.hpp" #include "slic3r/GUI/MeshUtils.hpp" diff --git a/src/slic3r/GUI/Gizmos/GLGizmoEmboss.cpp b/src/slic3r/GUI/Gizmos/GLGizmoEmboss.cpp index 5bf94c7d77..38aeb26bdf 100644 --- a/src/slic3r/GUI/Gizmos/GLGizmoEmboss.cpp +++ b/src/slic3r/GUI/Gizmos/GLGizmoEmboss.cpp @@ -75,6 +75,7 @@ #include #include "slic3r/GUI/Jobs/Worker.hpp" #include +#include #ifndef IMGUI_DEFINE_MATH_OPERATORS #define IMGUI_DEFINE_MATH_OPERATORS #endif diff --git a/src/slic3r/GUI/Gizmos/GLGizmoMove.cpp b/src/slic3r/GUI/Gizmos/GLGizmoMove.cpp index bed2c42267..87ffbb762f 100644 --- a/src/slic3r/GUI/Gizmos/GLGizmoMove.cpp +++ b/src/slic3r/GUI/Gizmos/GLGizmoMove.cpp @@ -25,6 +25,7 @@ #include "libslic3r/Geometry.hpp" #include #include "libslic3r/Model.hpp" +#include #include namespace Slic3r { diff --git a/src/slic3r/GUI/Gizmos/GLGizmoScale.cpp b/src/slic3r/GUI/Gizmos/GLGizmoScale.cpp index a223749b6c..56c0944da9 100644 --- a/src/slic3r/GUI/Gizmos/GLGizmoScale.cpp +++ b/src/slic3r/GUI/Gizmos/GLGizmoScale.cpp @@ -24,6 +24,7 @@ #include "slic3r/GUI/GLShader.hpp" #include #include "libslic3r/Geometry.hpp" +#include #include namespace Slic3r { diff --git a/src/slic3r/GUI/Gizmos/GLGizmoTextureDisplacement.cpp b/src/slic3r/GUI/Gizmos/GLGizmoTextureDisplacement.cpp index 4aed58d884..fe1368b69e 100644 --- a/src/slic3r/GUI/Gizmos/GLGizmoTextureDisplacement.cpp +++ b/src/slic3r/GUI/Gizmos/GLGizmoTextureDisplacement.cpp @@ -5151,7 +5151,7 @@ void GLGizmoTextureDisplacement::render_debug_stage_panel(ModelVolume *mv) m_imgui->scaled(20.f)); ImGui::SameLine(); - ImGui::Checkbox(_u8L("Check topology").c_str(), &m_debug_check_topology); + m_imgui->bbl_checkbox(_L("Check topology"), m_debug_check_topology); if (ImGui::IsItemHovered()) m_imgui->tooltip(_u8L("Count open and non-manifold edges after each stage, which is how a stage " "that tore the mesh is spotted. It scans every edge, so it adds noticeably " @@ -5341,6 +5341,8 @@ void GLGizmoTextureDisplacement::on_render_input_window(float x, float y, float GizmoImguiBegin(get_name(), flags); ensure_panel_icons(); process_uv_commands(); // clicks from the UV editor pane, run here where the GL context is current + const float previous_body_h = m_panel_body_h; + const float previous_footer_h = m_panel_footer_h; // Pinned every frame while Standard is active, so what Preview shows is always what Bake will do. if (!pro_mode() && apply_standard_mode_presets(mv)) @@ -5362,20 +5364,16 @@ void GLGizmoTextureDisplacement::on_render_input_window(float x, float y, float const float card_pad = std::round(m_imgui->scaled(0.55f)); const float wrap_w = m_imgui->scaled(20.f); const ImVec4 orca = ImGuiWrapper::COL_ORCA; - const ImVec4 col_link = dark ? ImVec4(0.30f, 0.71f, 0.67f, 1.f) : ImVec4(0.f, 0.47f, 0.42f, 1.f); - const ImVec4 col_frame = dark ? ImVec4(0.212f, 0.212f, 0.235f, 1.f) : ImVec4(0.808f, 0.808f, 0.808f, 1.f); - const ImU32 col_card = dark ? IM_COL32(255, 255, 255, 10) : IM_COL32(0, 0, 0, 12); - const ImU32 col_line = dark ? IM_COL32(255, 255, 255, 18) : IM_COL32(0, 0, 0, 23); + const ImVec4 col_link = ImGuiWrapper::COL_ORCA; + const ImVec4 col_frame = ImGui::GetStyleColorVec4(ImGuiCol_Separator); + const ImU32 col_card = ImGui::GetColorU32(ImGuiCol_Text, dark ? 0.045f : 0.047f); + const ImU32 col_line = ImGui::GetColorU32(ImGuiCol_Text, dark ? 0.08f : 0.09f); const ImU32 col_sep = ImGui::GetColorU32(ImGuiCol_Separator); - // Combo drop-downs otherwise inherit ImGui's near-black default popup background; under the light - // theme that leaves the dark item text unreadable ("the dropbox is black"). Pushed only around each - // Combo below (never around a tooltip, whose own near-black default is what makes it readable). - const ImVec4 combo_popup_bg = dark ? ImVec4(0.18f, 0.18f, 0.19f, 1.f) : ImVec4(0.93f, 0.93f, 0.93f, 1.f); const auto scoped_combo = [&](const char *id, int *v, const char *const items[], int n) { - ImGui::PushStyleColor(ImGuiCol_PopupBg, combo_popup_bg); + ImGuiWrapper::push_combo_style(m_parent.get_scale()); const bool changed = ImGui::Combo(id, v, items, n); - ImGui::PopStyleColor(); + ImGuiWrapper::pop_combo_style(); return changed; }; const auto hover_tip = [&](const auto &text) { @@ -5782,10 +5780,10 @@ void GLGizmoTextureDisplacement::on_render_input_window(float x, float y, float wf_toggle = true; const std::string auto_label = _u8L("Auto"); - const float auto_w = frame_h + style.ItemInnerSpacing.x + ImGui::CalcTextSize(auto_label.c_str()).x; + const float auto_w = frame_h * 0.78f /*ratio from BBLCheckbox*/ + style.ItemInnerSpacing.x + ImGui::CalcTextSize(auto_label.c_str()).x; ImGui::SameLine(); ImGui::SetCursorPosX(std::max(ImGui::GetCursorPosX(), ImGui::GetWindowContentRegionMax().x - auto_w)); - if (ImGui::Checkbox((auto_label + "##auto_update").c_str(), &m_auto_update) && m_auto_update) + if (m_imgui->bbl_checkbox(wxString::FromUTF8(auto_label) + "##auto_update", m_auto_update) && m_auto_update) rebuild_preview(); // catch up anything that changed while it was off hover_tip(_u8L("Rebuilds the preview as soon as anything changes. Turn it off on a heavy model if painting " "or dragging a slider starts to stutter - the preview then waits until you let go.")); @@ -6020,7 +6018,7 @@ void GLGizmoTextureDisplacement::on_render_input_window(float x, float y, float "costs fine detail.")); // Edge fade: the relief flattens toward the boundary of the painted area. - m_preview_params_dirty |= ImGui::Checkbox((_u8L("Edge fade") + "##edge_smoothing").c_str(), &layer.edge_smoothing); + m_preview_params_dirty |= m_imgui->bbl_checkbox(_L("Edge fade") + "##edge_smoothing", layer.edge_smoothing); hover_tip(_u8L("Flattens the relief as it approaches the edge of the painted area, so it " "blends into the bare surface instead of stopping at a step.")); ImGui::SameLine(); @@ -6035,7 +6033,7 @@ void GLGizmoTextureDisplacement::on_render_input_window(float x, float y, float // Invert and Colours share a row. { const float x0 = ImGui::GetCursorPosX(); - m_preview_params_dirty |= ImGui::Checkbox(_u8L("Invert").c_str(), &layer.invert); + m_preview_params_dirty |= m_imgui->bbl_checkbox(_L("Invert"), layer.invert); hover_tip(_u8L("Turns the relief inside out: what stood out is cut in, and the other way " "round. The same as using a negative of the image.")); ImGui::SameLine(); @@ -6047,7 +6045,7 @@ void GLGizmoTextureDisplacement::on_render_input_window(float x, float y, float const bool has_color = decode_height_texture(layer).has_color(); bool color_enabled = layer.color_enabled && has_color; m_imgui->disabled_begin(!has_color); - if (ImGui::Checkbox(_u8L("Colours").c_str(), &color_enabled)) { + if (m_imgui->bbl_checkbox(_L("Colours"), color_enabled)) { layer.color_enabled = color_enabled; m_preview_params_dirty = true; } @@ -6065,7 +6063,7 @@ void GLGizmoTextureDisplacement::on_render_input_window(float x, float y, float // under whichever layer turned colour on. if (color_enabled) { TextureDisplacementOptions &opts = mv->texture_displacement_options; - if (ImGui::Checkbox(_u8L("Mix filaments").c_str(), &opts.color_mix_enabled)) + if (m_imgui->bbl_checkbox(_L("Mix filaments"), opts.color_mix_enabled)) m_preview_params_dirty = true; hover_tip(_u8L("Interleaves two filaments to fake the colours in between, so a handful " "of filaments can cover a photo or a gradient. An image of flat colours " @@ -6184,7 +6182,7 @@ void GLGizmoTextureDisplacement::on_render_input_window(float x, float y, float "a slide projector. Faces turned away from you stretch, so line the view up with " "the surface you care about first.")); - if (ImGui::Checkbox(_u8L("Project only on visible").c_str(), &m_project_only_visible)) { + if (m_imgui->bbl_checkbox(_L("Project only on visible"), m_project_only_visible)) { if (m_project_only_visible && select_visible_faces() == 0) show_error(nullptr, _u8L("Nothing is visible from this angle - turn the model to face the " "part you want to project onto.")); @@ -6195,7 +6193,7 @@ void GLGizmoTextureDisplacement::on_render_input_window(float x, float y, float "behind anything - and projects onto those. Replaces what the layer had painted.")); bool projector_open = m_projector_frame != nullptr && m_projector_frame->IsShown(); - if (ImGui::Checkbox(_u8L("Projection frame").c_str(), &projector_open)) + if (m_imgui->bbl_checkbox(_L("Projection frame"), projector_open)) show_projector(projector_open); hover_tip(_u8L("Opens a window you drag over the model. Whatever you can see through it is what " "gets the texture, and its border becomes the edge of the projection.")); @@ -6236,7 +6234,7 @@ void GLGizmoTextureDisplacement::on_render_input_window(float x, float y, float // Tile, and how it repeats. { const float x0 = ImGui::GetCursorPosX(); - m_preview_params_dirty |= ImGui::Checkbox((_u8L("Tile") + "##tile_enabled").c_str(), &layer.tile_enabled); + m_preview_params_dirty |= m_imgui->bbl_checkbox(_L("Tile") + "##tile_enabled", layer.tile_enabled); hover_tip(_u8L("Repeats the texture across the painted area. Off places one copy, like a decal, " "at the size set by Tile size.")); ImGui::SameLine(); @@ -6424,7 +6422,7 @@ void GLGizmoTextureDisplacement::on_render_input_window(float x, float y, float const ImVec2 mn(mouse.x - inner - 0.5f * grip_w, mouse.y - 0.5f * row_h); const ImVec2 mx(mn.x + (content_rx - list_x), mn.y + row_h); fg->AddRectFilled(ImVec2(mn.x + 2.f, mn.y + 4.f), ImVec2(mx.x + 2.f, mx.y + 4.f), IM_COL32(0, 0, 0, 70), rounding); - fg->AddRectFilled(mn, mx, dark ? IM_COL32(0x3a, 0x3a, 0x40, 245) : IM_COL32(255, 255, 255, 245), rounding); + fg->AddRectFilled(mn, mx, ImGui::GetColorU32(ImGuiCol_WindowBg, 245.f / 255.f), rounding); fg->AddRect(mn, mx, ImGui::GetColorU32(orca), rounding, 0, 1.5f); float x = mn.x + inner; @@ -6463,7 +6461,7 @@ void GLGizmoTextureDisplacement::on_render_input_window(float x, float y, float ImGui::Separator(); heading(_L("Subdivision")); - if (ImGui::Checkbox(_u8L("Only painted area (adaptive)").c_str(), &m_subdivide_adaptive)) { + if (m_imgui->bbl_checkbox(_L("Only painted area (adaptive)"), m_subdivide_adaptive)) { if (m_subdivide_editing) rebuild_subdivide_preview(); // switch the wireframe between the uniform and adaptive result m_parent.set_as_dirty(); @@ -6494,7 +6492,7 @@ void GLGizmoTextureDisplacement::on_render_input_window(float x, float y, float m_parent.set_as_dirty(); }; - if (ImGui::Checkbox(_u8L("Follow texture detail").c_str(), &m_subdivide_feature)) + if (m_imgui->bbl_checkbox(_L("Follow texture detail"), m_subdivide_feature)) preview_live(); hover_tip(_u8L("Spends the triangles where the texture actually bends - packed along ridges and edges, " "sparse over flat ground - instead of spreading them evenly. The same detail for fewer " @@ -6621,7 +6619,7 @@ void GLGizmoTextureDisplacement::on_render_input_window(float x, float y, float hover_tip(_u8L("Triangle size the whole model is rebuilt with, in millimetres. Displacement works best on an " "even mesh; this is what makes one out of an uneven import.")); - ImGui::Checkbox((_u8L("Keep sharp edges") + "##remesh_sharp").c_str(), &m_remesh_keep_sharp_edges); + m_imgui->bbl_checkbox(_L("Keep sharp edges") + "##remesh_sharp", m_remesh_keep_sharp_edges); hover_tip(_u8L("Holds hard edges and open borders in place while the rest is remeshed. Without it " "the remesher slides vertices along the surface and rounds every crisp edge off - " "a cube comes back with wobbly edges.")); @@ -6648,12 +6646,12 @@ void GLGizmoTextureDisplacement::on_render_input_window(float x, float y, float ImGui::Separator(); heading(_L("Result")); - m_preview_params_dirty |= ImGui::Checkbox(_u8L("Displace up to the border").c_str(), &opts.displace_border); + m_preview_params_dirty |= m_imgui->bbl_checkbox(_L("Displace up to the border"), opts.displace_border); hover_tip(_u8L("Lets the relief run right to the edge of the painted area. Turn it off to hold that " "outer ring flat, which keeps the displacement strictly inside your paint but flattens " "the pattern at the border.")); - m_preview_params_dirty |= ImGui::Checkbox(_u8L("Smooth result").c_str(), &opts.smooth_enabled); + m_preview_params_dirty |= m_imgui->bbl_checkbox(_L("Smooth result"), opts.smooth_enabled); hover_tip(_u8L("Smooths the geometry after the texture has been applied, to take the hard steps out of a " "low-resolution image. Only what the displacement moved is touched. The Smoothing slider " "on a layer is a different thing: it blurs the image before it is used.")); @@ -6670,7 +6668,7 @@ void GLGizmoTextureDisplacement::on_render_input_window(float x, float y, float hover_tip(_u8L("How many smoothing passes to run. More passes spread the smoothing further across " "the surface; Strength decides how much each one moves.")); - m_preview_params_dirty |= ImGui::Checkbox(_u8L("Ignore outer ring").c_str(), &opts.smooth_skip_border); + m_preview_params_dirty |= m_imgui->bbl_checkbox(_L("Ignore outer ring"), opts.smooth_skip_border); hover_tip(_u8L("Keeps the outer ring of the painted area out of the smoothing. Its neighbours " "outside the paint never move, so smoothing it drags the relief down and leaves the " "pattern half-melted at the border.")); @@ -6695,7 +6693,7 @@ void GLGizmoTextureDisplacement::on_render_input_window(float x, float y, float // The classic path is the opt-in: the one-run pipeline is the default, and its resolution // control lives in the footer next to Bake (see below). bool classic = !opts.pipeline_v2; - if (ImGui::Checkbox(_u8L("Experimental: classic bake pipeline").c_str(), &classic)) { + if (m_imgui->bbl_checkbox(_L("Experimental: classic bake pipeline"), classic)) { opts.pipeline_v2 = !classic; m_preview_params_dirty = true; } @@ -6724,13 +6722,13 @@ void GLGizmoTextureDisplacement::on_render_input_window(float x, float y, float if (SHOW_PIPELINE_DEV_CONTROLS && opts.pipeline_v2) { // Keeping the relief above the plate is not a checkbox: it is unconditional, in both pipelines // (see build_texture_displacement()). - m_preview_params_dirty |= ImGui::Checkbox(_u8L("Align mesh to texture edges").c_str(), &opts.v2_relocate); + m_preview_params_dirty |= m_imgui->bbl_checkbox(_L("Align mesh to texture edges"), opts.v2_relocate); hover_tip(_u8L("Slide vertices sideways onto the edges in the texture before displacing them. " "Displacement can only move vertices up and down, so without this a sharp step " "in the image lands wherever the triangles happen to be and comes out as a " "staircase. Moving the vertices onto the step first gives a straight wall at the " "same triangle count.")); - m_preview_params_dirty |= ImGui::Checkbox(_u8L("Clean up slivers").c_str(), &opts.v2_regularize); + m_preview_params_dirty |= m_imgui->bbl_checkbox(_L("Clean up slivers"), opts.v2_regularize); hover_tip(_u8L("Collapse the thin triangles refinement inherits from the model's own " "tessellation, before displacement samples them. A sliver's three corners " "land on three unrelated parts of the texture, which is what makes the " @@ -6810,7 +6808,7 @@ void GLGizmoTextureDisplacement::on_render_input_window(float x, float y, float // a fixed value, seeded with the recommendation so it starts from something sensible. bool auto_res = opts.v2_refine_mm <= 0.f; m_imgui->disabled_begin(busy); - if (ImGui::Checkbox("##v2auto", &auto_res)) { + if (m_imgui->bbl_checkbox(wxString::FromUTF8("##v2auto"), auto_res)) { if (auto_res) { opts.v2_refine_mm = 0.f; opts.v2_max_triangles_k = -1; @@ -6908,11 +6906,7 @@ void GLGizmoTextureDisplacement::on_render_input_window(float x, float y, float const std::string bake_label = m_prepare_in_progress ? _u8L("Preparing...") : m_bake_in_progress ? _u8L("Baking...") : into_u8(m_desc.at("bake")); - ImGui::PushStyleColor(ImGuiCol_Button, orca); - ImGui::PushStyleColor(ImGuiCol_ButtonHovered, ImGuiWrapper::COL_ORCA_HOVER); - ImGui::PushStyleColor(ImGuiCol_ButtonActive, orca); - ImGui::PushStyleColor(ImGuiCol_Border, orca); - ImGui::PushStyleColor(ImGuiCol_Text, ImVec4(1.f, 1.f, 1.f, 1.f)); + GLGizmoUtils::push_orca_button_style(); m_imgui->push_bold_font(); m_imgui->disabled_begin(!can_bake); if (ImGui::Button((bake_label + "##bake").c_str(), ImVec2(x0 + panel_w - ImGui::GetCursorPosX(), button_h))) { @@ -6925,7 +6919,7 @@ void GLGizmoTextureDisplacement::on_render_input_window(float x, float y, float } m_imgui->disabled_end(); m_imgui->pop_bold_font(); - ImGui::PopStyleColor(5); + GLGizmoUtils::pop_orca_button_style(); if (ImGui::IsItemHovered(ImGuiHoveredFlags_AllowWhenDisabled)) m_imgui->tooltip(mv != nullptr && !mv->is_texture_displacement_painted() ? (m_seam_edit_mode ? _u8L("Nothing is painted yet. The UV editor's seam tool is on, so " @@ -6964,7 +6958,17 @@ void GLGizmoTextureDisplacement::on_render_input_window(float x, float y, float } } m_panel_footer_h = ImGui::GetCursorScreenPos().y - footer_top; - + constexpr float resize_epsilon = 0.5f; + const float content_bottom = ImGui::GetCursorPosY() - style.ItemSpacing.y; + const float window_bottom = ImGui::GetWindowContentRegionMax().y; + const bool outer_window_needs_fit = content_bottom < window_bottom - resize_epsilon || + (content_bottom > window_bottom + resize_epsilon && + ImGui::GetWindowHeight() < ImGui::GetMainViewport()->Size.y - + 2.f * style.DisplaySafeAreaPadding.y - resize_epsilon); + if (std::abs(m_panel_body_h - previous_body_h) > resize_epsilon || + std::abs(m_panel_footer_h - previous_footer_h) > resize_epsilon || outer_window_needs_fit) { + m_parent.request_extra_frame(); + } GizmoImguiEnd(); ImGuiWrapper::pop_toolbar_style(); diff --git a/src/slic3r/GUI/Gizmos/GizmoObjectManipulation.hpp b/src/slic3r/GUI/Gizmos/GizmoObjectManipulation.hpp index 84ff8ebe62..e43a129734 100644 --- a/src/slic3r/GUI/Gizmos/GizmoObjectManipulation.hpp +++ b/src/slic3r/GUI/Gizmos/GizmoObjectManipulation.hpp @@ -1,11 +1,16 @@ #ifndef slic3r_GizmoObjectManipulation_hpp_ #define slic3r_GizmoObjectManipulation_hpp_ +#include #include #include "libslic3r/Point.hpp" #include "libslic3r/Geometry.hpp" #include +#include +#include +#include +#include #include "slic3r/GUI/GUI_Geometry.hpp" @@ -14,6 +19,7 @@ namespace Slic3r { namespace GUI { +class ImGuiWrapper; class Selection; class GLCanvas3D; diff --git a/src/slic3r/GUI/ImGuiWrapper.cpp b/src/slic3r/GUI/ImGuiWrapper.cpp index 64bb5e11ca..41663d147e 100644 --- a/src/slic3r/GUI/ImGuiWrapper.cpp +++ b/src/slic3r/GUI/ImGuiWrapper.cpp @@ -2656,11 +2656,7 @@ void ImGuiWrapper::push_toolbar_style(const float scale) ImGui::PushStyleColor(ImGuiCol_FrameBgActive, ImVec4(238 / 255.0f, 238 / 255.0f, 238 / 255.0f, 1.00f)); // 10 ImGui::PushStyleColor(ImGuiCol_FrameBg, ImVec4(238 / 255.0f, 238 / 255.0f, 238 / 255.0f, 0.00f)); // 11 ImGui::PushStyleColor(ImGuiCol_TextSelectedBg, COL_GREEN_LIGHT); // 12 - // The checkbox/radio frame behind this is drawn fully transparent (see FrameBg above, - // alpha 0), showing the light window background through it - a white check mark there is - // invisible. Dark mode doesn't have this problem (its window background is dark), so only - // this branch needs a check mark color with real contrast against a light background. - ImGui::PushStyleColor(ImGuiCol_CheckMark, ImVec4(0.f, 156 / 255.f, 136 / 255.f, 1.00f));//13 + ImGui::PushStyleColor(ImGuiCol_CheckMark, ImVec4(1.00f, 1.00f, 1.00f, 1.00f));//13 ImGui::PushStyleColor(ImGuiCol_ScrollbarGrab, ImVec4(0.42f, 0.42f, 0.42f, 1.00f)); ImGui::PushStyleColor(ImGuiCol_ScrollbarGrabHovered, ImVec4(0.93f, 0.93f, 0.93f, 1.00f)); ImGui::PushStyleColor(ImGuiCol_ScrollbarGrabActive, ImVec4(0.93f, 0.93f, 0.93f, 1.00f)); diff --git a/src/slic3r/GUI/Jobs/PlaterWorker.hpp b/src/slic3r/GUI/Jobs/PlaterWorker.hpp index f22bd6d511..9b149ab91b 100644 --- a/src/slic3r/GUI/Jobs/PlaterWorker.hpp +++ b/src/slic3r/GUI/Jobs/PlaterWorker.hpp @@ -1,13 +1,26 @@ #ifndef PLATERWORKER_HPP #define PLATERWORKER_HPP +#include +#include +#include +#include +#include #include #include #include "Worker.hpp" #include "BusyCursorJob.hpp" +#include "slic3r/GUI/Jobs/Job.hpp" +#include +#include +#include +#include +#include + #include "slic3r/GUI/GUI.hpp" +#include "slic3r/GUI/GUI_Utils.hpp" #include "slic3r/GUI/I18N.hpp" namespace Slic3r { namespace GUI { diff --git a/src/slic3r/GUI/Jobs/SLAImportDialog.hpp b/src/slic3r/GUI/Jobs/SLAImportDialog.hpp index 5bb101b74a..68ad749726 100644 --- a/src/slic3r/GUI/Jobs/SLAImportDialog.hpp +++ b/src/slic3r/GUI/Jobs/SLAImportDialog.hpp @@ -3,7 +3,14 @@ #include "SLAImportJob.hpp" +#include +#include +#include "libslic3r/Point.hpp" +#include #include +#include +#include +#include #include #include #include diff --git a/src/slic3r/GUI/KBShortcutsDialog.cpp b/src/slic3r/GUI/KBShortcutsDialog.cpp index 92051d116e..903ce4c43a 100644 --- a/src/slic3r/GUI/KBShortcutsDialog.cpp +++ b/src/slic3r/GUI/KBShortcutsDialog.cpp @@ -34,6 +34,7 @@ #include "Widgets/StaticLine.hpp" #include "Widgets/TabCtrl.hpp" #include +#include #include #include #include diff --git a/src/slic3r/GUI/MainFrame.cpp b/src/slic3r/GUI/MainFrame.cpp index 53507edfb3..07d51f9f0c 100644 --- a/src/slic3r/GUI/MainFrame.cpp +++ b/src/slic3r/GUI/MainFrame.cpp @@ -3870,6 +3870,8 @@ bool MainFrame::load_config_file(const std::string &path) return false; } wxGetApp().load_current_presets(); + if (Plater *plater = wxGetApp().plater()) + plater->normalize_bed_types(false); return true; } diff --git a/src/slic3r/GUI/MainFrame.hpp b/src/slic3r/GUI/MainFrame.hpp index 8c4fc58d03..8c25b31770 100644 --- a/src/slic3r/GUI/MainFrame.hpp +++ b/src/slic3r/GUI/MainFrame.hpp @@ -184,7 +184,8 @@ class MainFrame : public DPIFrame std::string m_name{ "prepare_layout" }; wxSize m_laid_out_size; } m_prepare_layout_prebuild{ *this }; - // Every LazyPage, in and out of the book; prebuild_pages_when_idle() registers them. + // Every built-in LazyPage, in and out of the book; prebuild_pages_when_idle() registers them. + // Plugin pages stay out: PluginPages destroys them at runtime. std::vector m_lazy_pages; // The latest EVT_LOAD_PRINTER_URL, applied when the web Device view is built. wxString m_printer_url; diff --git a/src/slic3r/GUI/MarkdownTip.cpp b/src/slic3r/GUI/MarkdownTip.cpp index 70422a4232..9a80870fe0 100644 --- a/src/slic3r/GUI/MarkdownTip.cpp +++ b/src/slic3r/GUI/MarkdownTip.cpp @@ -16,6 +16,7 @@ #include #include #include +#include #include #include #include diff --git a/src/slic3r/GUI/MultiChoiceDialog.cpp b/src/slic3r/GUI/MultiChoiceDialog.cpp index e106d7869f..e78f5d1856 100644 --- a/src/slic3r/GUI/MultiChoiceDialog.cpp +++ b/src/slic3r/GUI/MultiChoiceDialog.cpp @@ -2,6 +2,7 @@ #include "GUI_App.hpp" #include "MainFrame.hpp" +#include #include #include #include "slic3r/GUI/GUI_Utils.hpp" diff --git a/src/slic3r/GUI/ParamsDialog.cpp b/src/slic3r/GUI/ParamsDialog.cpp index 87888848a6..008f71d6d1 100644 --- a/src/slic3r/GUI/ParamsDialog.cpp +++ b/src/slic3r/GUI/ParamsDialog.cpp @@ -3,6 +3,7 @@ #include "ParamsPanel.hpp" #include "GUI_App.hpp" #include "MainFrame.hpp" +#include "Plater.hpp" #include "Tab.hpp" #include "libslic3r/Utils.hpp" @@ -70,6 +71,18 @@ ParamsDialog::ParamsDialog(wxWindow * parent) } Hide(); + if (tab && tab->type() == Preset::TYPE_PRINTER) { + // Normalize only after the dialog closes, when the final capability is known. + auto &preset_bundle = *wxGetApp().preset_bundle; + const bool supports_multiple_bed_types = preset_bundle.is_bbl_vendor() || + preset_bundle.printers.get_edited_preset().config.opt_bool("support_multi_bed_types"); + if (m_initial_multi_bed_types != supports_multiple_bed_types) { + wxGetApp().plater()->normalize_bed_types(true); + if (auto *plate_tab = dynamic_cast(wxGetApp().get_plate_tab())) + plate_tab->update_model_config(); + } + } + if (!m_editing_filament_id.empty()) { Filamentinformation *filament_info = new Filamentinformation(); filament_info->filament_id = m_editing_filament_id; @@ -93,7 +106,15 @@ void ParamsDialog::Popup() if (m_panel && m_panel->get_current_tab()) { bool just_edit = false; if (!m_editing_filament_id.empty()) just_edit = true; - dynamic_cast(m_panel->get_current_tab())->set_just_edit(just_edit); + auto *tab = dynamic_cast(m_panel->get_current_tab()); + tab->set_just_edit(just_edit); + if (tab->type() == Preset::TYPE_PRINTER) { + // Remember the initial capability and compare it when the dialog closes. + // Bambu profiles support multiple bed types even when this option is unset. + auto &preset_bundle = *wxGetApp().preset_bundle; + m_initial_multi_bed_types = preset_bundle.is_bbl_vendor() || + preset_bundle.printers.get_edited_preset().config.opt_bool("support_multi_bed_types"); + } } Show(); } diff --git a/src/slic3r/GUI/ParamsDialog.hpp b/src/slic3r/GUI/ParamsDialog.hpp index 9ad34e165e..80c9c3d2fe 100644 --- a/src/slic3r/GUI/ParamsDialog.hpp +++ b/src/slic3r/GUI/ParamsDialog.hpp @@ -43,6 +43,7 @@ protected: private: std::string m_editing_filament_id; + bool m_initial_multi_bed_types = false; ParamsPanel * m_panel; wxWindowDisabler *m_winDisabler = nullptr; }; diff --git a/src/slic3r/GUI/PartSkipCommon.hpp b/src/slic3r/GUI/PartSkipCommon.hpp index bd158edbf8..ae7ad6f6a5 100644 --- a/src/slic3r/GUI/PartSkipCommon.hpp +++ b/src/slic3r/GUI/PartSkipCommon.hpp @@ -1,6 +1,8 @@ #ifndef PARTSKIPCOMMON_H #define PARTSKIPCOMMON_H +#include +#include namespace Slic3r { namespace GUI { diff --git a/src/slic3r/GUI/PlateSettingsDialog.cpp b/src/slic3r/GUI/PlateSettingsDialog.cpp index b640b2cb84..31b8367774 100644 --- a/src/slic3r/GUI/PlateSettingsDialog.cpp +++ b/src/slic3r/GUI/PlateSettingsDialog.cpp @@ -431,8 +431,9 @@ PlateSettingsDialog::PlateSettingsDialog(wxWindow* parent, const wxString& title } } - if (!wxGetApp().preset_bundle->is_bbl_vendor()) - m_bed_type_choice->Disable(); + auto &preset_bundle = *wxGetApp().preset_bundle; + const auto &printer_config = preset_bundle.printers.get_edited_preset().config; + m_bed_type_choice->Enable(preset_bundle.is_bbl_vendor() || printer_config.opt_bool("support_multi_bed_types")); wxStaticText* m_bed_type_txt = new wxStaticText(this, wxID_ANY, _L("Bed type")); m_bed_type_txt->SetFont(Label::Body_14); diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp index 89616345eb..158991a92f 100644 --- a/src/slic3r/GUI/Plater.cpp +++ b/src/slic3r/GUI/Plater.cpp @@ -6,6 +6,7 @@ #include "libslic3r/Config.hpp" #include "libslic3r_version.h" +#include #include #include #include @@ -7401,7 +7402,8 @@ struct Plater::priv std::vector load_files(const std::vector& input_files, LoadStrategy strategy, bool ask_multi = false, - bool* published_out = nullptr); + bool* published_out = nullptr, + bool* config_loaded_out = nullptr); std::vector load_model_objects(const ModelObjectPtrs& model_objects, bool allow_negative_z = false, bool split_object = false, bool auto_drop = true); // Texture-to-color import: a mesh loaded with UVs + a texture map gets its faces clustered @@ -8872,8 +8874,12 @@ void read_binary_stl(const std::string& filename, std::string& model_id, std::st std::vector Plater::priv::load_files(const std::vector& input_files, LoadStrategy strategy, bool ask_multi, - bool* published_out) + bool* published_out, + bool* config_loaded_out) { + if (config_loaded_out != nullptr) + *config_loaded_out = false; + std::vector empty_result; bool dlg_cont = true; bool is_user_cancel = false; @@ -9558,6 +9564,8 @@ std::vector Plater::priv::load_files(const std::vector& input_ id = agent->to_orca_filament_id(id); } preset_bundle->load_config_model(filename.string(), std::move(config), file_version, &published_config); + if (config_loaded_out != nullptr) + *config_loaded_out = true; // Mixed-filament definitions that collided with one of the // receiver's real slots were relocated during the preset load. @@ -12780,6 +12788,8 @@ void Plater::priv::on_select_bed_type(wxCommandEvent &evt) // update plater with new config q->on_config_change(wxGetApp().preset_bundle->full_config()); + if (auto *plate_tab = dynamic_cast(wxGetApp().get_plate_tab())) + plate_tab->update_model_config(); // update app_config AppConfig* app_config = wxGetApp().app_config; @@ -15479,6 +15489,38 @@ void Plater::reset_project_dirty_initial_presets() { p->reset_project_dirty_init void Plater::render_project_state_debug_window() const { p->render_project_state_debug_window(); } #endif // ENABLE_PROJECT_DIRTY_STATE_DEBUG_WINDOW +void Plater::normalize_bed_types(bool printer_setting_changed) +{ + if (only_gcode_mode() || is_gcode_3mf()) + return; + + auto &preset_bundle = *wxGetApp().preset_bundle; + // Keep FFF plate settings intact while an SLA printer is selected. + if (preset_bundle.printers.get_edited_preset().printer_technology() != ptFFF) + return; + + const auto &printer_config = preset_bundle.printers.get_edited_preset().config; + + const bool supports_multiple_bed_types = + preset_bundle.is_bbl_vendor() || printer_config.opt_bool("support_multi_bed_types"); + // Clear local overrides for single-bed printers. + const bool overrides_reset = !supports_multiple_bed_types && + !p->partplate_list.check_all_plate_local_bed_type({}); + + if (overrides_reset) { + set_plater_dirty(true); + show_info(this, + _L("The selected printer does not support multiple bed types.\nBed type overrides were reset to the global bed type."), + _L("Plate bed types reset")); + } + + // Refresh the controls after a capability change, even when no override was reset. + if (printer_setting_changed || overrides_reset) { + sidebar().update_all_preset_comboboxes(); + wxGetApp().obj_list()->update_and_show_object_settings_item(); + } +} + std::vector Plater::mixed_filament_config_indices() const { std::vector indices; @@ -16059,6 +16101,9 @@ void Plater::load_project(wxString const& filename2, p->dirty_state.update_from_undo_redo_stack(true); up_to_date(true, true); + // Clear plate overrides that are incompatible with the selected printer. + normalize_bed_types(false); + wxGetApp().params_panel()->switch_to_object_if_has_object_configs(); auto has_modify = is_flush_config_modified(); @@ -17691,7 +17736,11 @@ std::vector Plater::load_files(const std::vector& input_files, p->m_slice_all_only_has_gcode = false; //BBS: wish to reset all plates stats item selected state when load a new file p->preview->get_canvas3d()->reset_select_plate_toolbar_selection(); - return p->load_files(input_files, strategy, ask_multi, published_out); + bool config_loaded = false; + std::vector result = p->load_files(input_files, strategy, ask_multi, published_out, &config_loaded); + if (config_loaded && !is_loading_project()) + normalize_bed_types(false); + return result; } bool Plater::preview_zip_archive(const boost::filesystem::path& archive_path) diff --git a/src/slic3r/GUI/Plater.hpp b/src/slic3r/GUI/Plater.hpp index a887805f8a..17534ebf7d 100644 --- a/src/slic3r/GUI/Plater.hpp +++ b/src/slic3r/GUI/Plater.hpp @@ -343,6 +343,7 @@ public: bool is_presets_dirty() const; void set_plater_dirty(bool is_dirty); void update_project_dirty_from_presets(); + void normalize_bed_types(bool printer_setting_changed); int save_project_if_dirty(const wxString& reason); void reset_project_dirty_after_save(); void reset_project_dirty_initial_presets(); diff --git a/src/slic3r/GUI/PrinterWebView.cpp b/src/slic3r/GUI/PrinterWebView.cpp index 4ea2ba0a72..1993748cc6 100644 --- a/src/slic3r/GUI/PrinterWebView.cpp +++ b/src/slic3r/GUI/PrinterWebView.cpp @@ -119,33 +119,13 @@ PrinterWebView::PrinterWebView(wxWindow *parent) wxBoxSizer* topsizer = new wxBoxSizer(wxVERTICAL); // Create the webview - m_browser = WebView::CreateWebView(this, ""); - if (m_browser == nullptr) { - wxLogError("Could not init m_browser"); - return; - } - -#ifdef __linux__ - inject_vue_resize_workaround(m_browser); - - auto cookiesPath = boost::filesystem::path(data_dir() + "/cache/cookies.db"); - auto wv = static_cast(m_browser->GetNativeBackend()); - auto wv_ctx = webkit_web_view_get_context(wv); - auto cookieManager = webkit_web_context_get_cookie_manager(wv_ctx); - webkit_cookie_manager_set_persistent_storage(cookieManager, cookiesPath.c_str(), WEBKIT_COOKIE_PERSISTENT_STORAGE_SQLITE); -#endif - - m_browser->Bind(wxEVT_WEBVIEW_ERROR, &PrinterWebView::OnError, this); - m_browser->Bind(wxEVT_WEBVIEW_LOADED, &PrinterWebView::OnLoaded, this); - m_browser->Bind(wxEVT_WEBVIEW_NEWWINDOW, &PrinterWebView::OnNewWindow, this); - m_browser->Bind(wxEVT_WEBVIEW_SCRIPT_MESSAGE_RECEIVED, &PrinterWebView::OnScriptMessage, this); + create_browser(); + m_reset_on_show = WebView::NeedsRecreateOnShow(); SetSizer(topsizer); topsizer->Add(m_browser, wxSizerFlags().Expand().Proportion(1)); - update_mode(); - // Log backend information /* m_browser->GetUserAgent() may lead crash if (wxGetApp().get_mode() == comDevelop) { @@ -177,12 +157,44 @@ PrinterWebView::~PrinterWebView() BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << " End"; } +void PrinterWebView::create_browser() +{ + m_browser = WebView::CreateWebView(this, ""); + +#ifdef __linux__ + inject_vue_resize_workaround(m_browser); + + auto cookiesPath = boost::filesystem::path(data_dir() + "/cache/cookies.db"); + auto wv = static_cast(m_browser->GetNativeBackend()); + auto wv_ctx = webkit_web_view_get_context(wv); + auto cookieManager = webkit_web_context_get_cookie_manager(wv_ctx); + webkit_cookie_manager_set_persistent_storage(cookieManager, cookiesPath.c_str(), WEBKIT_COOKIE_PERSISTENT_STORAGE_SQLITE); +#endif + + m_browser->Bind(wxEVT_WEBVIEW_ERROR, &PrinterWebView::OnError, this); + m_browser->Bind(wxEVT_WEBVIEW_LOADED, &PrinterWebView::OnLoaded, this); + m_browser->Bind(wxEVT_WEBVIEW_NEWWINDOW, &PrinterWebView::OnNewWindow, this); + m_browser->Bind(wxEVT_WEBVIEW_SCRIPT_MESSAGE_RECEIVED, &PrinterWebView::OnScriptMessage, this); + update_mode(); +} + +void PrinterWebView::reset_browser() +{ + m_browser->Destroy(); // also removes it from the sizer + create_browser(); + GetSizer()->Add(m_browser, wxSizerFlags().Expand().Proportion(1)); + Layout(); + + // OnLoaded may have cleared m_url_deferred already, so requeue the last url for Show(). + m_apikey_sent = false; + m_url_deferred = m_url; +} + void PrinterWebView::load_url(wxString& url, wxString apikey) { // this->Show(); // this->Raise(); - if (m_browser == nullptr) - return; + m_url = url; m_apikey = apikey; m_apikey_sent = false; m_handler = create_printer_webview_handler(*this); @@ -200,6 +212,8 @@ void PrinterWebView::load_url(wxString& url, wxString apikey) bool PrinterWebView::Show(bool show) { + if (show && std::exchange(m_reset_on_show, false)) + reset_browser(); if (show && !m_url_deferred.empty()) { m_browser->LoadURL(m_url_deferred); //ORCA: m_url_deferred will be cleared on load success diff --git a/src/slic3r/GUI/PrinterWebView.hpp b/src/slic3r/GUI/PrinterWebView.hpp index 9bd8ff51a8..53c4f30557 100644 --- a/src/slic3r/GUI/PrinterWebView.hpp +++ b/src/slic3r/GUI/PrinterWebView.hpp @@ -58,13 +58,18 @@ private: friend class PrinterWebViewHandler; void SendAPIKey(); + void create_browser(); + void reset_browser(); wxWebView* m_browser; long m_zoomFactor; wxString m_apikey; bool m_apikey_sent; + // Last url passed to load_url(), reloaded after reset_browser(). + wxString m_url; wxString m_url_deferred; std::unique_ptr m_handler; + bool m_reset_on_show{false}; // DECLARE_EVENT_TABLE() }; diff --git a/src/slic3r/GUI/Project.cpp b/src/slic3r/GUI/Project.cpp index 47945e1179..d8e7d6b806 100644 --- a/src/slic3r/GUI/Project.cpp +++ b/src/slic3r/GUI/Project.cpp @@ -80,16 +80,10 @@ ProjectPanel::ProjectPanel(wxWindow *parent, wxWindowID id, const wxPoint &pos, wxBoxSizer* main_sizer = new wxBoxSizer(wxVERTICAL); - m_browser = WebView::CreateWebView(this, m_project_home_url); - if (m_browser == nullptr) { - BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << boost::format("load web view of project page failed"); - return; - } + create_browser(); + m_reset_on_show = WebView::NeedsRecreateOnShow(); //m_browser->Hide(); main_sizer->Add(m_browser, wxSizerFlags().Expand().Proportion(1)); - m_browser->Bind(wxEVT_WEBVIEW_NAVIGATED, &ProjectPanel::on_navigated, this); - m_browser->Bind(wxEVT_WEBVIEW_SCRIPT_MESSAGE_RECEIVED, &ProjectPanel::OnScriptMessage, this, m_browser->GetId()); - Bind(wxEVT_WEBVIEW_NAVIGATING, &ProjectPanel::onWebNavigating, this, m_browser->GetId()); Bind(EVT_PROJECT_RELOAD, &ProjectPanel::on_reload, this); @@ -117,6 +111,23 @@ void ProjectPanel::shutdown() m_reload_task.reset(); } +void ProjectPanel::create_browser() +{ + m_browser = WebView::CreateWebView(this, m_project_home_url); + m_browser->Bind(wxEVT_WEBVIEW_NAVIGATED, &ProjectPanel::on_navigated, this); + m_browser->Bind(wxEVT_WEBVIEW_SCRIPT_MESSAGE_RECEIVED, &ProjectPanel::OnScriptMessage, this, m_browser->GetId()); + m_browser->Bind(wxEVT_WEBVIEW_NAVIGATING, &ProjectPanel::onWebNavigating, this); +} + +void ProjectPanel::reset_browser() +{ + m_browser->Destroy(); // also removes it from the sizer + create_browser(); + GetSizer()->Insert(0, m_browser, wxSizerFlags().Expand().Proportion(1)); + Layout(); + m_web_init_completed.store(false, std::memory_order_release); +} + // Helper to convert newlines to
static std::string convert_newlines_to_br(const std::string& text) { std::string result = text; @@ -281,12 +292,13 @@ void ProjectPanel::on_reload(wxCommandEvent& evt) wxString strJS = wxString::Format("HandleStudio(%s)", m_Res.dump(-1, ' ', false, json::error_handler_t::ignore)); - if (m_web_init_completed.load(std::memory_order_acquire) && - !cancel_token->load(std::memory_order_acquire) && wxTheApp != nullptr && !wxGetApp().is_closing()) { + if (!cancel_token->load(std::memory_order_acquire) && wxTheApp != nullptr && !wxGetApp().is_closing()) { wxGetApp().CallAfter([this, cancel_token, strJS] { if (cancel_token->load(std::memory_order_acquire) || wxTheApp == nullptr || wxGetApp().is_closing()) return; - RunScript(strJS.ToStdString()); + m_info_script = strJS.ToStdString(); + if (m_web_init_completed.load(std::memory_order_acquire)) + RunScript(m_info_script); }); } }); @@ -327,6 +339,11 @@ void ProjectPanel::OnScriptMessage(wxWebViewEvent& evt) } else if (strCmd == "request_3mf_info") { m_web_init_completed.store(true, std::memory_order_release); + // Replay the stored info after each page load. + CallAfter([this] { + if (!m_info_script.empty()) + RunScript(m_info_script); + }); } else if (strCmd == "edit_project_info") { show_info_editor(true); @@ -383,6 +400,8 @@ void ProjectPanel::clear_model_info() wxGetApp().CallAfter([this, cancel_token, strJS] { if (cancel_token->load(std::memory_order_acquire) || wxTheApp == nullptr || wxGetApp().is_closing()) return; + // Runs after any store queued by an earlier reload pass, so stale info is never replayed. + m_info_script.clear(); RunScript(strJS.ToStdString()); }); } @@ -523,10 +542,12 @@ void ProjectPanel::RunScript(std::string content) WebView::RunScript(m_browser, content); } -bool ProjectPanel::Show(bool show) +bool ProjectPanel::Show(bool show) { + if (show && std::exchange(m_reset_on_show, false)) + reset_browser(); if (show) update_model_data(); - return wxPanel::Show(show); + return wxPanel::Show(show); } }} // namespace Slic3r::GUI diff --git a/src/slic3r/GUI/Project.hpp b/src/slic3r/GUI/Project.hpp index c7a85bce74..90e6eda1f1 100644 --- a/src/slic3r/GUI/Project.hpp +++ b/src/slic3r/GUI/Project.hpp @@ -80,9 +80,14 @@ private: AuxiliaryPanel* m_auxiliary{nullptr}; wxString m_project_home_url; wxString m_root_dir; + // Last show_3mf_info script, also sent whenever the page asks for it. + std::string m_info_script; + bool m_reset_on_show{false}; static inline std::atomic m_sequence_id{8000}; void show_info_editor(bool show); + void create_browser(); + void reset_browser(); public: diff --git a/src/slic3r/GUI/SavePresetDialog.cpp b/src/slic3r/GUI/SavePresetDialog.cpp index 7aff669668..7f280debf5 100644 --- a/src/slic3r/GUI/SavePresetDialog.cpp +++ b/src/slic3r/GUI/SavePresetDialog.cpp @@ -21,6 +21,7 @@ #include #include +#include #include #include #include diff --git a/src/slic3r/GUI/SavePresetDialog.hpp b/src/slic3r/GUI/SavePresetDialog.hpp index 10cf25883b..3bbeeb0cde 100644 --- a/src/slic3r/GUI/SavePresetDialog.hpp +++ b/src/slic3r/GUI/SavePresetDialog.hpp @@ -12,6 +12,7 @@ #include "Widgets/Label.hpp" #include "Widgets/TextInput.hpp" #include +#include #include #include #include diff --git a/src/slic3r/GUI/SendToPrinter.cpp b/src/slic3r/GUI/SendToPrinter.cpp index 7a44305e4e..3ab630b404 100644 --- a/src/slic3r/GUI/SendToPrinter.cpp +++ b/src/slic3r/GUI/SendToPrinter.cpp @@ -16,6 +16,7 @@ #include "Jobs/BoostThreadWorker.hpp" #include "Jobs/PlaterWorker.hpp" +#include #include #include #include diff --git a/src/slic3r/GUI/Tab.cpp b/src/slic3r/GUI/Tab.cpp index c60566d5c7..3050830d56 100644 --- a/src/slic3r/GUI/Tab.cpp +++ b/src/slic3r/GUI/Tab.cpp @@ -87,6 +87,7 @@ #include "slic3r/plugin/PluginConfig.hpp" #include "slic3r/plugin/PluginManager.hpp" #include "Plater.hpp" +#include "ParamsDialog.hpp" #include "MainFrame.hpp" #include "format.hpp" #include "UnsavedChangesDialog.hpp" @@ -3302,6 +3303,11 @@ void TabPrint::toggle_options() m_config_manipulation.toggle_print_fff_options(m_config, int(intptr_t(m_extruder_switch->GetClientData())), m_type < Preset::TYPE_COUNT); + if (m_type == Preset::TYPE_PLATE) { + const auto &printer_config = m_preset_bundle->printers.get_edited_preset().config; + toggle_option("curr_bed_type", m_preset_bundle->is_bbl_vendor() || printer_config.opt_bool("support_multi_bed_types")); + } + Field *field = m_active_page->get_field("support_style"); auto support_type = m_config->opt_enum("support_type"); if (auto choice = dynamic_cast(field)) { @@ -7024,6 +7030,15 @@ bool Tab::select_preset( } load_current_preset(); + // Wait for the settings dialog to close; its edits are still provisional. + if (printer_tab && is_selected) { + Plater *plater = wxGetApp().plater(); + ParamsDialog *dialog = wxGetApp().params_dialog(); + if (plater && !plater->is_loading_project() && + (!dialog || !dialog->IsShown())) + plater->normalize_bed_types(false); + } + { Slic3r::LifecycleEventContext ctx; ctx.name = preset_name; diff --git a/src/slic3r/GUI/TabButton.cpp b/src/slic3r/GUI/TabButton.cpp index 3469c9c980..f7c1a55d7c 100644 --- a/src/slic3r/GUI/TabButton.cpp +++ b/src/slic3r/GUI/TabButton.cpp @@ -2,6 +2,7 @@ #include "Widgets/Label.hpp" #include "slic3r/GUI/Widgets/StaticBox.hpp" +#include #include #include #include "slic3r/GUI/wxExtensions.hpp" diff --git a/src/slic3r/GUI/UpgradePanel.cpp b/src/slic3r/GUI/UpgradePanel.cpp index 485ac48b99..ca20f4edb1 100644 --- a/src/slic3r/GUI/UpgradePanel.cpp +++ b/src/slic3r/GUI/UpgradePanel.cpp @@ -11,6 +11,7 @@ #include #include #include +#include #include #include #include diff --git a/src/slic3r/GUI/UpgradePanel.hpp b/src/slic3r/GUI/UpgradePanel.hpp index 2e0245e40e..c67ec0bbc3 100644 --- a/src/slic3r/GUI/UpgradePanel.hpp +++ b/src/slic3r/GUI/UpgradePanel.hpp @@ -2,6 +2,7 @@ #define slic3r_UpgradePanel_hpp_ #include "slic3r/GUI/wxExtensions.hpp" +#include #include #include #include diff --git a/src/slic3r/GUI/WebGuideDialog.cpp b/src/slic3r/GUI/WebGuideDialog.cpp index 4f1998ae94..350dd9d4be 100644 --- a/src/slic3r/GUI/WebGuideDialog.cpp +++ b/src/slic3r/GUI/WebGuideDialog.cpp @@ -71,6 +71,7 @@ #include #include "MainFrame.hpp" +#include "Plater.hpp" #include #include #include @@ -1161,6 +1162,8 @@ bool GuideFrame::run() app.app_config->set_legacy_datadir(false); app.update_mode(); + if (Plater *plater = app.plater()) + plater->normalize_bed_types(false); // BBS //app.obj_manipul()->update_ui_from_settings(); BOOST_LOG_TRIVIAL(info) << "GuideFrame applied"; diff --git a/src/slic3r/GUI/WebViewDialog.cpp b/src/slic3r/GUI/WebViewDialog.cpp index 02fc7b0877..0101c83534 100644 --- a/src/slic3r/GUI/WebViewDialog.cpp +++ b/src/slic3r/GUI/WebViewDialog.cpp @@ -62,10 +62,10 @@ namespace GUI { WebViewPanel::WebViewPanel(wxWindow *parent) : wxPanel(parent, wxID_ANY, wxDefaultPosition, wxDefaultSize) { - wxString url = file_url_from_path(boost::filesystem::path(resources_dir()) / "web/homepage/index.html"); + m_home_url = file_url_from_path(boost::filesystem::path(resources_dir()) / "web/homepage/index.html"); wxString strlang = wxGetApp().current_language_code_safe(); if (strlang != "") - url += "?lang=" + strlang; + m_home_url += "?lang=" + strlang; wxBoxSizer* topsizer = new wxBoxSizer(wxVERTICAL); @@ -109,12 +109,8 @@ WebViewPanel::WebViewPanel(wxWindow *parent) m_info = new wxInfoBar(this); topsizer->Add(m_info, wxSizerFlags().Expand()); // Create the webview - m_browser = WebView::CreateWebView(this, url); - if (m_browser == nullptr) { - wxLogError("Could not init m_browser"); - return; - } - m_browser->Hide(); + create_browser(); + m_reset_on_show = WebView::NeedsRecreateOnShow(); SetSizer(topsizer); topsizer->Add(m_browser, wxSizerFlags().Expand().Proportion(1)); @@ -264,6 +260,27 @@ WebViewPanel::~WebViewPanel() } +void WebViewPanel::create_browser() +{ + m_browser = WebView::CreateWebView(this, m_home_url); + m_browser->Hide(); +} + +void WebViewPanel::reset_browser() +{ + m_browser->Destroy(); // also removes it from the sizer + create_browser(); + GetSizer()->Add(m_browser, wxSizerFlags().Expand().Proportion(1)); + Layout(); +} + +bool WebViewPanel::Show(bool show) +{ + if (show && std::exchange(m_reset_on_show, false)) + reset_browser(); + return wxPanel::Show(show); +} + void WebViewPanel::load_url(wxString& url) { this->Show(); diff --git a/src/slic3r/GUI/WebViewDialog.hpp b/src/slic3r/GUI/WebViewDialog.hpp index 96d18f23c0..8a4ecbf35d 100644 --- a/src/slic3r/GUI/WebViewDialog.hpp +++ b/src/slic3r/GUI/WebViewDialog.hpp @@ -113,9 +113,15 @@ public: int get_model_mall_detail_url(std::string *url, std::string id); void update_mode(); + + bool Show(bool show = true) override; private: + void create_browser(); + void reset_browser(); wxWebView* m_browser; + wxString m_home_url; + bool m_reset_on_show{false}; wxButton * m_button_stop; wxTextCtrl *m_url; #if !BBL_RELEASE_TO_PUBLIC diff --git a/src/slic3r/GUI/Widgets/AMSControl.cpp b/src/slic3r/GUI/Widgets/AMSControl.cpp index 8a5f03b7ad..1abe045942 100644 --- a/src/slic3r/GUI/Widgets/AMSControl.cpp +++ b/src/slic3r/GUI/Widgets/AMSControl.cpp @@ -11,6 +11,7 @@ #include "slic3r/GUI/DeviceCore/DevFilaSystem.h" #include "slic3r/GUI/DeviceCore/DevFilaSwitch.h" +#include #include #include #include "slic3r/GUI/AmsMappingPopup.hpp" diff --git a/src/slic3r/GUI/Widgets/AMSControl.hpp b/src/slic3r/GUI/Widgets/AMSControl.hpp index 4f44d7a1e7..f4c83667c2 100644 --- a/src/slic3r/GUI/Widgets/AMSControl.hpp +++ b/src/slic3r/GUI/Widgets/AMSControl.hpp @@ -9,6 +9,7 @@ #include "../DeviceManager.hpp" #include "slic3r/GUI/Event.hpp" #include "slic3r/GUI/AmsMappingPopup.hpp" +#include #include #include #include diff --git a/src/slic3r/GUI/Widgets/AMSItem.cpp b/src/slic3r/GUI/Widgets/AMSItem.cpp index 96ca92494d..303b4221bb 100644 --- a/src/slic3r/GUI/Widgets/AMSItem.cpp +++ b/src/slic3r/GUI/Widgets/AMSItem.cpp @@ -12,6 +12,7 @@ #include "slic3r/GUI/DeviceCore/DevConfig.h" #include "slic3r/GUI/DeviceCore/DevManager.h" +#include #include #include #include "slic3r/GUI/Event.hpp" diff --git a/src/slic3r/GUI/Widgets/AMSItem.hpp b/src/slic3r/GUI/Widgets/AMSItem.hpp index e84ba64d98..55c0a3ca8d 100644 --- a/src/slic3r/GUI/Widgets/AMSItem.hpp +++ b/src/slic3r/GUI/Widgets/AMSItem.hpp @@ -9,6 +9,7 @@ #include "slic3r/GUI/Event.hpp" #include "slic3r/GUI/AmsMappingPopup.hpp" #include +#include #include #include #include "slic3r/GUI/DeviceCore/DevDefs.h" diff --git a/src/slic3r/GUI/Widgets/AnimaController.cpp b/src/slic3r/GUI/Widgets/AnimaController.cpp index a73c6d8e50..0267650e1d 100644 --- a/src/slic3r/GUI/Widgets/AnimaController.cpp +++ b/src/slic3r/GUI/Widgets/AnimaController.cpp @@ -1,5 +1,6 @@ #include "AnimaController.hpp" +#include #include #include #include diff --git a/src/slic3r/GUI/Widgets/AnimaController.hpp b/src/slic3r/GUI/Widgets/AnimaController.hpp index e32eae6fb7..a1ddb7bc74 100644 --- a/src/slic3r/GUI/Widgets/AnimaController.hpp +++ b/src/slic3r/GUI/Widgets/AnimaController.hpp @@ -3,6 +3,7 @@ #include "../wxExtensions.hpp" #include "Label.hpp" +#include #include #include #include diff --git a/src/slic3r/GUI/Widgets/Button.cpp b/src/slic3r/GUI/Widgets/Button.cpp index 7010dbd91c..54e720feb4 100644 --- a/src/slic3r/GUI/Widgets/Button.cpp +++ b/src/slic3r/GUI/Widgets/Button.cpp @@ -3,6 +3,7 @@ #include "slic3r/GUI/Widgets/StaticBox.hpp" #include +#include #include #include #include diff --git a/src/slic3r/GUI/Widgets/Button.hpp b/src/slic3r/GUI/Widgets/Button.hpp index cee2eb15b6..b4b1e24bb2 100644 --- a/src/slic3r/GUI/Widgets/Button.hpp +++ b/src/slic3r/GUI/Widgets/Button.hpp @@ -3,6 +3,7 @@ #include "../wxExtensions.hpp" #include "StaticBox.hpp" +#include #include #include "slic3r/GUI/Widgets/StateColor.hpp" #include diff --git a/src/slic3r/GUI/Widgets/CheckBox.cpp b/src/slic3r/GUI/Widgets/CheckBox.cpp index f019f18784..c36a53d8af 100644 --- a/src/slic3r/GUI/Widgets/CheckBox.cpp +++ b/src/slic3r/GUI/Widgets/CheckBox.cpp @@ -1,6 +1,7 @@ #include "CheckBox.hpp" #include "../wxExtensions.hpp" +#include #include #include #include diff --git a/src/slic3r/GUI/Widgets/CheckBox.hpp b/src/slic3r/GUI/Widgets/CheckBox.hpp index 3ad3dac2c4..bab691eb53 100644 --- a/src/slic3r/GUI/Widgets/CheckBox.hpp +++ b/src/slic3r/GUI/Widgets/CheckBox.hpp @@ -3,6 +3,7 @@ #include "../wxExtensions.hpp" +#include #include #include diff --git a/src/slic3r/GUI/Widgets/CheckList.cpp b/src/slic3r/GUI/Widgets/CheckList.cpp index 2b8dcac75e..a9c5c15be4 100644 --- a/src/slic3r/GUI/Widgets/CheckList.cpp +++ b/src/slic3r/GUI/Widgets/CheckList.cpp @@ -2,6 +2,7 @@ #include "slic3r/GUI/GUI_App.hpp" #include "slic3r/GUI/I18N.hpp" +#include #include #include #include diff --git a/src/slic3r/GUI/Widgets/CheckList.hpp b/src/slic3r/GUI/Widgets/CheckList.hpp index 9e5ae4c9e1..5518b10fd0 100644 --- a/src/slic3r/GUI/Widgets/CheckList.hpp +++ b/src/slic3r/GUI/Widgets/CheckList.hpp @@ -6,6 +6,7 @@ #include "Label.hpp" #include "TextInput.hpp" +#include #include #include #include diff --git a/src/slic3r/GUI/Widgets/ComboBox.cpp b/src/slic3r/GUI/Widgets/ComboBox.cpp index 7d507789f5..20998eda0a 100644 --- a/src/slic3r/GUI/Widgets/ComboBox.cpp +++ b/src/slic3r/GUI/Widgets/ComboBox.cpp @@ -8,6 +8,7 @@ #include #include #include +#include #include #include #include diff --git a/src/slic3r/GUI/Widgets/ComboBox.hpp b/src/slic3r/GUI/Widgets/ComboBox.hpp index f13bc876c4..1dae23b85d 100644 --- a/src/slic3r/GUI/Widgets/ComboBox.hpp +++ b/src/slic3r/GUI/Widgets/ComboBox.hpp @@ -3,6 +3,7 @@ #include "TextInput.hpp" #include "DropDown.hpp" +#include #include #include #include diff --git a/src/slic3r/GUI/Widgets/FanControl.cpp b/src/slic3r/GUI/Widgets/FanControl.cpp index 3ffaf59141..e4f039307b 100644 --- a/src/slic3r/GUI/Widgets/FanControl.cpp +++ b/src/slic3r/GUI/Widgets/FanControl.cpp @@ -6,6 +6,7 @@ #include "../MsgDialog.hpp" #include "json_diff.hpp" +#include #include #include #include diff --git a/src/slic3r/GUI/Widgets/FanControl.hpp b/src/slic3r/GUI/Widgets/FanControl.hpp index b97c9a4d27..e5eb49ed45 100644 --- a/src/slic3r/GUI/Widgets/FanControl.hpp +++ b/src/slic3r/GUI/Widgets/FanControl.hpp @@ -9,6 +9,7 @@ #include "../SelectMachine.hpp" #include "../DeviceManager.hpp" #include "slic3r/GUI/Event.hpp" +#include #include #include #include diff --git a/src/slic3r/GUI/Widgets/FilamentLoad.cpp b/src/slic3r/GUI/Widgets/FilamentLoad.cpp index 712c103826..11541a95a3 100644 --- a/src/slic3r/GUI/Widgets/FilamentLoad.cpp +++ b/src/slic3r/GUI/Widgets/FilamentLoad.cpp @@ -5,6 +5,7 @@ #include "../GUI_App.hpp" #include "../DeviceCore/DevFilaSystem.h" +#include #include #include #include "slic3r/GUI/Widgets/StepCtrl.hpp" diff --git a/src/slic3r/GUI/Widgets/FilamentLoad.hpp b/src/slic3r/GUI/Widgets/FilamentLoad.hpp index 257e92d21c..2c516987fc 100644 --- a/src/slic3r/GUI/Widgets/FilamentLoad.hpp +++ b/src/slic3r/GUI/Widgets/FilamentLoad.hpp @@ -8,6 +8,7 @@ #include "../DeviceManager.hpp" #include "slic3r/GUI/Event.hpp" #include "slic3r/GUI/AmsMappingPopup.hpp" +#include #include #include #include diff --git a/src/slic3r/GUI/Widgets/ImageSwitchButton.cpp b/src/slic3r/GUI/Widgets/ImageSwitchButton.cpp index 9915795af5..80e7e85c66 100644 --- a/src/slic3r/GUI/Widgets/ImageSwitchButton.cpp +++ b/src/slic3r/GUI/Widgets/ImageSwitchButton.cpp @@ -4,6 +4,7 @@ #include "../wxExtensions.hpp" #include "slic3r/GUI/I18N.hpp" +#include #include #include #include diff --git a/src/slic3r/GUI/Widgets/RadioBox.cpp b/src/slic3r/GUI/Widgets/RadioBox.cpp index 93e8f63b91..5b4af4e7b5 100644 --- a/src/slic3r/GUI/Widgets/RadioBox.cpp +++ b/src/slic3r/GUI/Widgets/RadioBox.cpp @@ -1,6 +1,7 @@ #include "RadioBox.hpp" #include "../wxExtensions.hpp" +#include #include #include diff --git a/src/slic3r/GUI/Widgets/RadioGroup.hpp b/src/slic3r/GUI/Widgets/RadioGroup.hpp index 6f25190431..ce6499c727 100644 --- a/src/slic3r/GUI/Widgets/RadioGroup.hpp +++ b/src/slic3r/GUI/Widgets/RadioGroup.hpp @@ -3,6 +3,7 @@ #include "../wxExtensions.hpp" +#include #include #include #include diff --git a/src/slic3r/GUI/Widgets/RoundedRectangle.cpp b/src/slic3r/GUI/Widgets/RoundedRectangle.cpp index 5b5cd98076..d53f176ac3 100644 --- a/src/slic3r/GUI/Widgets/RoundedRectangle.cpp +++ b/src/slic3r/GUI/Widgets/RoundedRectangle.cpp @@ -1,5 +1,6 @@ #include "RoundedRectangle.hpp" #include "../wxExtensions.hpp" +#include #include #include #include diff --git a/src/slic3r/GUI/Widgets/ScrolledWindow.hpp b/src/slic3r/GUI/Widgets/ScrolledWindow.hpp index a430dec423..cb497d1015 100644 --- a/src/slic3r/GUI/Widgets/ScrolledWindow.hpp +++ b/src/slic3r/GUI/Widgets/ScrolledWindow.hpp @@ -1,4 +1,5 @@ #pragma once +#include #include #include #include diff --git a/src/slic3r/GUI/Widgets/SideButton.cpp b/src/slic3r/GUI/Widgets/SideButton.cpp index e9fe493621..54b75f1e14 100644 --- a/src/slic3r/GUI/Widgets/SideButton.cpp +++ b/src/slic3r/GUI/Widgets/SideButton.cpp @@ -3,6 +3,7 @@ #include #include "slic3r/GUI/Widgets/StateHandler.hpp" +#include #include #include #include diff --git a/src/slic3r/GUI/Widgets/SideTools.hpp b/src/slic3r/GUI/Widgets/SideTools.hpp index 81c42ecef0..94af1e64c9 100644 --- a/src/slic3r/GUI/Widgets/SideTools.hpp +++ b/src/slic3r/GUI/Widgets/SideTools.hpp @@ -8,6 +8,7 @@ #include #include #include +#include #include #include "Button.hpp" #include "Label.hpp" diff --git a/src/slic3r/GUI/Widgets/SpinInput.cpp b/src/slic3r/GUI/Widgets/SpinInput.cpp index 3077304947..80c000fe46 100644 --- a/src/slic3r/GUI/Widgets/SpinInput.cpp +++ b/src/slic3r/GUI/Widgets/SpinInput.cpp @@ -6,6 +6,7 @@ #include "slic3r/GUI/Widgets/StaticBox.hpp" #include #include "slic3r/GUI/Widgets/StateHandler.hpp" +#include #include #include #include diff --git a/src/slic3r/GUI/Widgets/StaticBox.cpp b/src/slic3r/GUI/Widgets/StaticBox.cpp index 87a1d26827..5b18f733c9 100644 --- a/src/slic3r/GUI/Widgets/StaticBox.cpp +++ b/src/slic3r/GUI/Widgets/StaticBox.cpp @@ -1,6 +1,7 @@ #include "StaticBox.hpp" #include "../GUI.hpp" #include +#include #include #include #include diff --git a/src/slic3r/GUI/Widgets/StaticBox.hpp b/src/slic3r/GUI/Widgets/StaticBox.hpp index b7662ff670..7c8d7c50ee 100644 --- a/src/slic3r/GUI/Widgets/StaticBox.hpp +++ b/src/slic3r/GUI/Widgets/StaticBox.hpp @@ -4,6 +4,7 @@ #include "../wxExtensions.hpp" #include "StateHandler.hpp" +#include #include #include #include "slic3r/GUI/Widgets/StateColor.hpp" diff --git a/src/slic3r/GUI/Widgets/StaticLine.cpp b/src/slic3r/GUI/Widgets/StaticLine.cpp index f574a5b739..61602d520d 100644 --- a/src/slic3r/GUI/Widgets/StaticLine.cpp +++ b/src/slic3r/GUI/Widgets/StaticLine.cpp @@ -2,6 +2,7 @@ #include "Label.hpp" #include "StateColor.hpp" +#include #include #include #include diff --git a/src/slic3r/GUI/Widgets/StepCtrl.cpp b/src/slic3r/GUI/Widgets/StepCtrl.cpp index 34ce8506de..e50db7c821 100644 --- a/src/slic3r/GUI/Widgets/StepCtrl.cpp +++ b/src/slic3r/GUI/Widgets/StepCtrl.cpp @@ -1,6 +1,7 @@ #include "StepCtrl.hpp" #include "Label.hpp" +#include #include #include "slic3r/GUI/Widgets/StaticBox.hpp" #include diff --git a/src/slic3r/GUI/Widgets/StepCtrl.hpp b/src/slic3r/GUI/Widgets/StepCtrl.hpp index d568443eaa..3b5abdab57 100644 --- a/src/slic3r/GUI/Widgets/StepCtrl.hpp +++ b/src/slic3r/GUI/Widgets/StepCtrl.hpp @@ -2,6 +2,7 @@ #define slic3r_GUI_StepCtrlBase_hpp_ #include "StaticBox.hpp" +#include #include #include "slic3r/GUI/Widgets/StateColor.hpp" #include diff --git a/src/slic3r/GUI/Widgets/SwitchButton.hpp b/src/slic3r/GUI/Widgets/SwitchButton.hpp index e4ef0005ad..24fcf59981 100644 --- a/src/slic3r/GUI/Widgets/SwitchButton.hpp +++ b/src/slic3r/GUI/Widgets/SwitchButton.hpp @@ -7,6 +7,7 @@ #include #include +#include #include #include #include diff --git a/src/slic3r/GUI/Widgets/TabCtrl.cpp b/src/slic3r/GUI/Widgets/TabCtrl.cpp index 66ff926d25..7c39cdd3f4 100644 --- a/src/slic3r/GUI/Widgets/TabCtrl.cpp +++ b/src/slic3r/GUI/Widgets/TabCtrl.cpp @@ -1,6 +1,7 @@ #include "TabCtrl.hpp" #include "slic3r/GUI/Widgets/StaticBox.hpp" +#include #include #include #include diff --git a/src/slic3r/GUI/Widgets/TabCtrl.hpp b/src/slic3r/GUI/Widgets/TabCtrl.hpp index 80ac49da0a..f80a1aa08c 100644 --- a/src/slic3r/GUI/Widgets/TabCtrl.hpp +++ b/src/slic3r/GUI/Widgets/TabCtrl.hpp @@ -2,6 +2,7 @@ #define slic3r_GUI_TabCtrl_hpp_ #include "Button.hpp" +#include #include #include "slic3r/GUI/Widgets/StaticBox.hpp" #include diff --git a/src/slic3r/GUI/Widgets/TempInput.cpp b/src/slic3r/GUI/Widgets/TempInput.cpp index 99f50269ed..5890c702ac 100644 --- a/src/slic3r/GUI/Widgets/TempInput.cpp +++ b/src/slic3r/GUI/Widgets/TempInput.cpp @@ -5,6 +5,7 @@ #include "slic3r/GUI/Widgets/StaticBox.hpp" #include #include +#include #include #include "slic3r/GUI/Widgets/StateHandler.hpp" #include diff --git a/src/slic3r/GUI/Widgets/TempInput.hpp b/src/slic3r/GUI/Widgets/TempInput.hpp index 8560576b96..3ca55e558c 100644 --- a/src/slic3r/GUI/Widgets/TempInput.hpp +++ b/src/slic3r/GUI/Widgets/TempInput.hpp @@ -2,6 +2,7 @@ #define slic3r_GUI_TempInput_hpp_ #include "../wxExtensions.hpp" +#include #include #include #include diff --git a/src/slic3r/GUI/Widgets/TextCtrl.h b/src/slic3r/GUI/Widgets/TextCtrl.h index 3f3ab2b4de..2d57c38146 100644 --- a/src/slic3r/GUI/Widgets/TextCtrl.h +++ b/src/slic3r/GUI/Widgets/TextCtrl.h @@ -1,3 +1,5 @@ +#include + #ifdef __WXMSW__ class TextCtrl : public wxTextCtrl { diff --git a/src/slic3r/GUI/Widgets/TextInput.cpp b/src/slic3r/GUI/Widgets/TextInput.cpp index 0ed38ff8de..e3670cbaed 100644 --- a/src/slic3r/GUI/Widgets/TextInput.cpp +++ b/src/slic3r/GUI/Widgets/TextInput.cpp @@ -7,6 +7,7 @@ #include #include #include "slic3r/GUI/Widgets/StateHandler.hpp" +#include #include #include #include diff --git a/src/slic3r/GUI/Widgets/WebView.cpp b/src/slic3r/GUI/Widgets/WebView.cpp index 9a4d5f90b0..c446875d1f 100644 --- a/src/slic3r/GUI/Widgets/WebView.cpp +++ b/src/slic3r/GUI/Widgets/WebView.cpp @@ -381,6 +381,17 @@ void WebView::MarkScriptMessageHandlerAdded(wxWebView * webView) if (WebViewRef *ref = webview_ref(webView)) ref->m_script_handler_added = true; } + +bool WebView::NeedsRecreateOnShow() +{ + const bool recreating = Slic3r::GUI::wxGetApp().is_recreating_gui(); + BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << ": is_recreating_gui = " << recreating; +#ifdef __WIN32__ + return recreating; +#else + return false; +#endif +} #if wxUSE_WEBVIEW_EDGE bool WebView::CheckWebViewRuntime() { diff --git a/src/slic3r/GUI/Widgets/WebView.hpp b/src/slic3r/GUI/Widgets/WebView.hpp index 2dc126643d..0172f3f8ac 100644 --- a/src/slic3r/GUI/Widgets/WebView.hpp +++ b/src/slic3r/GUI/Widgets/WebView.hpp @@ -23,6 +23,10 @@ public: // Marks "wx" as registered so CreateWebView's deferred add skips the duplicate. static void MarkScriptMessageHandlerAdded(wxWebView * webView); + // On Windows, a WebView2 backend created during a GUI rebuild (language switch) can come up + // ignoring every navigation. A panel that gets true here recreates its view on first Show(). + static bool NeedsRecreateOnShow(); + static void RecreateAll(); }; diff --git a/src/slic3r/GUI/WipeTowerDialog.hpp b/src/slic3r/GUI/WipeTowerDialog.hpp index 91944cfc78..6f6af5f59d 100644 --- a/src/slic3r/GUI/WipeTowerDialog.hpp +++ b/src/slic3r/GUI/WipeTowerDialog.hpp @@ -1,8 +1,16 @@ #ifndef _WIPE_TOWER_DIALOG_H_ #define _WIPE_TOWER_DIALOG_H_ +#include +#include +#include +#include #include +#include +#include +#include #include +#include "libslic3r/FlushVolCalc.hpp" #include "libslic3r/PrintConfig.hpp" #include "Widgets/SpinInput.hpp" diff --git a/src/slic3r/GUI/calib_dlg.cpp b/src/slic3r/GUI/calib_dlg.cpp index 48ea425cf0..24abe219bc 100644 --- a/src/slic3r/GUI/calib_dlg.cpp +++ b/src/slic3r/GUI/calib_dlg.cpp @@ -6,6 +6,7 @@ #include #include #include "slic3r/GUI/Widgets/CheckBox.hpp" +#include #include #include "libslic3r/Config.hpp" #include diff --git a/src/slic3r/GUI/calib_dlg.hpp b/src/slic3r/GUI/calib_dlg.hpp index da6e9ee7c5..81d6b15200 100644 --- a/src/slic3r/GUI/calib_dlg.hpp +++ b/src/slic3r/GUI/calib_dlg.hpp @@ -13,6 +13,7 @@ #include "Widgets/RadioGroup.hpp" #include "GUI_App.hpp" #include "wx/hyperlink.h" +#include #include #include #include diff --git a/src/slic3r/Utils/3DPrinterOS.cpp b/src/slic3r/Utils/3DPrinterOS.cpp old mode 100755 new mode 100644 index 081afb667c..29b6bd63f8 --- a/src/slic3r/Utils/3DPrinterOS.cpp +++ b/src/slic3r/Utils/3DPrinterOS.cpp @@ -1,7 +1,12 @@ #include "3DPrinterOS.hpp" #include +#include "slic3r/GUI/Widgets/DropDown.hpp" +#include +#include +#include #include +#include #include #include #include @@ -11,12 +16,16 @@ #include #include +#include +#include +#include #include #include #include #include #include +#include "PrintHost.hpp" #include "libslic3r/PrintConfig.hpp" #include "libslic3r/Utils.hpp" #include "slic3r/GUI/I18N.hpp" @@ -30,6 +39,8 @@ #include "Http.hpp" #include +#include +#include using json = nlohmann::json; diff --git a/src/slic3r/Utils/3DPrinterOS.hpp b/src/slic3r/Utils/3DPrinterOS.hpp old mode 100755 new mode 100644 index 8c8e4ca6dc..02cc81ee6f --- a/src/slic3r/Utils/3DPrinterOS.hpp +++ b/src/slic3r/Utils/3DPrinterOS.hpp @@ -1,6 +1,7 @@ #ifndef slic3r_3DPrinterOS_hpp_ #define slic3r_3DPrinterOS_hpp_ +#include #include #include #include diff --git a/src/slic3r/Utils/ASCIIFolding.cpp b/src/slic3r/Utils/ASCIIFolding.cpp index 016c30fcde..acf6f96fc9 100644 --- a/src/slic3r/Utils/ASCIIFolding.cpp +++ b/src/slic3r/Utils/ASCIIFolding.cpp @@ -1,10 +1,13 @@ #include "ASCIIFolding.hpp" +#include +#include #include #include #include #include #include +#include namespace Slic3r { diff --git a/src/slic3r/Utils/AstroBox.cpp b/src/slic3r/Utils/AstroBox.cpp index 61f9f96c33..6904b56920 100644 --- a/src/slic3r/Utils/AstroBox.cpp +++ b/src/slic3r/Utils/AstroBox.cpp @@ -1,6 +1,7 @@ #include "AstroBox.hpp" #include +#include #include #include #include @@ -9,8 +10,11 @@ #include #include +#include #include +#include +#include "PrintHost.hpp" #include "libslic3r/PrintConfig.hpp" #include "slic3r/GUI/I18N.hpp" #include "slic3r/GUI/GUI.hpp" diff --git a/src/slic3r/Utils/AstroBox.hpp b/src/slic3r/Utils/AstroBox.hpp index 72ab273228..04bbb00b67 100644 --- a/src/slic3r/Utils/AstroBox.hpp +++ b/src/slic3r/Utils/AstroBox.hpp @@ -1,6 +1,7 @@ #ifndef slic3r_AstroBox_hpp_ #define slic3r_AstroBox_hpp_ +#include #include #include #include diff --git a/src/slic3r/Utils/BBLCloudServiceAgent.cpp b/src/slic3r/Utils/BBLCloudServiceAgent.cpp index 801ad1cf57..8943a01914 100644 --- a/src/slic3r/Utils/BBLCloudServiceAgent.cpp +++ b/src/slic3r/Utils/BBLCloudServiceAgent.cpp @@ -2,12 +2,21 @@ #include "BBLNetworkPlugin.hpp" #include +#include "CloudProvider.hpp" #include "Http.hpp" +#include "bambu_networking.hpp" +#include "ICloudServiceAgent.hpp" #include "slic3r/GUI/GUI_App.hpp" +#include +#include +#include "libslic3r/ProjectTask.hpp" #include #include #include +#include +#include +#include using json = nlohmann::json; diff --git a/src/slic3r/Utils/BBLCloudServiceAgent.hpp b/src/slic3r/Utils/BBLCloudServiceAgent.hpp index 9f03f0b839..8ca07377ee 100644 --- a/src/slic3r/Utils/BBLCloudServiceAgent.hpp +++ b/src/slic3r/Utils/BBLCloudServiceAgent.hpp @@ -1,9 +1,14 @@ #ifndef __BBL_CLOUD_SERVICE_AGENT_HPP__ #define __BBL_CLOUD_SERVICE_AGENT_HPP__ +#include "CloudProvider.hpp" #include "ICloudServiceAgent.hpp" +#include "bambu_networking.hpp" +#include +#include "libslic3r/ProjectTask.hpp" #include #include +#include namespace Slic3r { diff --git a/src/slic3r/Utils/BBLNetworkPlugin.cpp b/src/slic3r/Utils/BBLNetworkPlugin.cpp index d795abf354..94ac57aaf0 100644 --- a/src/slic3r/Utils/BBLNetworkPlugin.cpp +++ b/src/slic3r/Utils/BBLNetworkPlugin.cpp @@ -1,11 +1,22 @@ #include "BBLNetworkPlugin.hpp" #include "NetworkAgent.hpp" +#include +#include +#include +#include +#include +#include +#include #include #include #include #include #include +#include "bambu_networking.hpp" +#include +#include +#include #include "libslic3r/Utils.hpp" #include "slic3r/Utils/FileTransferUtils.hpp" diff --git a/src/slic3r/Utils/BBLNetworkPlugin.hpp b/src/slic3r/Utils/BBLNetworkPlugin.hpp index 3788568e37..8541f90bce 100644 --- a/src/slic3r/Utils/BBLNetworkPlugin.hpp +++ b/src/slic3r/Utils/BBLNetworkPlugin.hpp @@ -3,6 +3,7 @@ #include "bambu_networking.hpp" #include "libslic3r/ProjectTask.hpp" +#include "libslic3r/AppConfig.hpp" #include #include #include diff --git a/src/slic3r/Utils/BBLPrinterAgent.cpp b/src/slic3r/Utils/BBLPrinterAgent.cpp index 4e2015d5d7..0e468b642b 100644 --- a/src/slic3r/Utils/BBLPrinterAgent.cpp +++ b/src/slic3r/Utils/BBLPrinterAgent.cpp @@ -3,6 +3,7 @@ #include "IPrinterAgent.hpp" #include "NetworkAgentFactory.hpp" #include "NetworkAgent.hpp" +#include "bambu_networking.hpp" #include "libslic3r/Utils.hpp" #include "slic3r/GUI/GUI_App.hpp" #include "slic3r/GUI/DeviceCore/DevManager.h" @@ -10,9 +11,14 @@ #include #include #include +#include +#include #include #include #include +#include +#include +#include using json = nlohmann::json; #include diff --git a/src/slic3r/Utils/BBLPrinterAgent.hpp b/src/slic3r/Utils/BBLPrinterAgent.hpp index 4398602976..89315219c0 100644 --- a/src/slic3r/Utils/BBLPrinterAgent.hpp +++ b/src/slic3r/Utils/BBLPrinterAgent.hpp @@ -3,9 +3,12 @@ #include "IPrinterAgent.hpp" #include "ICloudServiceAgent.hpp" +#include "bambu_networking.hpp" +#include #include #include #include +#include namespace Slic3r { diff --git a/src/slic3r/Utils/Bonjour.cpp b/src/slic3r/Utils/Bonjour.cpp index 0bff5b526c..e67d3f0240 100644 --- a/src/slic3r/Utils/Bonjour.cpp +++ b/src/slic3r/Utils/Bonjour.cpp @@ -1,8 +1,29 @@ #include "Bonjour.hpp" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include #include #include #include +#include +#include +#include +#include +#include +#include #include #include #include diff --git a/src/slic3r/Utils/Bonjour.hpp b/src/slic3r/Utils/Bonjour.hpp index 3ef8f0e1a2..e267575f74 100644 --- a/src/slic3r/Utils/Bonjour.hpp +++ b/src/slic3r/Utils/Bonjour.hpp @@ -1,8 +1,16 @@ #ifndef slic3r_Bonjour_hpp_ #define slic3r_Bonjour_hpp_ +#include +#include +#include +#include +#include +#include +#include #include #include +#include #include #include #include @@ -13,6 +21,8 @@ #include #include #include +#include +#include namespace Slic3r { diff --git a/src/slic3r/Utils/CalibUtils.cpp b/src/slic3r/Utils/CalibUtils.cpp index 462f8c2712..82686cb7c7 100644 --- a/src/slic3r/Utils/CalibUtils.cpp +++ b/src/slic3r/Utils/CalibUtils.cpp @@ -6,6 +6,7 @@ #include "NetworkAgent.hpp" #include "../GUI/Jobs/ProgressIndicator.hpp" #include "../GUI/PartPlate.hpp" +#include "json_diff.hpp" #include "libslic3r/CutUtils.hpp" #include "libslic3r/ClipperUtils.hpp" #include "libslic3r/Utils.hpp" @@ -22,6 +23,41 @@ #include "../GUI/DeviceCore/DevStorage.h" #include "libslic3r/FlushVolCalc.hpp" #include "../GUI/Plater.hpp" +#include +#include "slic3r/GUI/Jobs/Worker.hpp" +#include +#include +#include "libslic3r/PrintConfig.hpp" +#include "libslic3r/Config.hpp" +#include "libslic3r/Flow.hpp" +#include +#include "libslic3r/ParameterUtils.hpp" +#include +#include +#include +#include "libslic3r/calib.hpp" +#include +#include "libslic3r/CommonDefs.hpp" +#include +#include +#include "libslic3r/Point.hpp" +#include "libslic3r/Geometry.hpp" +#include "libslic3r/Format/bbs_3mf.hpp" +#include "libslic3r/Semver.hpp" +#include +#include "libslic3r/BoundingBox.hpp" +#include +#include "libslic3r/libslic3r.h" +#include "slic3r/GUI/DeviceCore/DevDefs.h" +#include "libslic3r/PrintBase.hpp" +#include "libslic3r/GCode/ThumbnailData.hpp" +#include "libslic3r/ProjectTask.hpp" +#include "slic3r/GUI/3DScene.hpp" +#include "libslic3r/Color.hpp" +#include "slic3r/GUI/GLShader.hpp" +#include "slic3r/GUI/OpenGLManager.hpp" +#include +#include "slic3r/GUI/Jobs/PrintJob.hpp" namespace Slic3r { namespace GUI { diff --git a/src/slic3r/Utils/CalibUtils.hpp b/src/slic3r/Utils/CalibUtils.hpp index 1060a7d3d9..00b9e0020c 100644 --- a/src/slic3r/Utils/CalibUtils.hpp +++ b/src/slic3r/Utils/CalibUtils.hpp @@ -3,6 +3,11 @@ #include "../GUI/DeviceManager.hpp" #include "../GUI/Jobs/PrintJob.hpp" #include "slic3r/GUI/Jobs/Worker.hpp" +#include "libslic3r/PrintConfig.hpp" +#include +#include +#include +#include namespace Slic3r { diff --git a/src/slic3r/Utils/ColorSpaceConvert.cpp b/src/slic3r/Utils/ColorSpaceConvert.cpp index 176bd29304..63ebc6b7b8 100644 --- a/src/slic3r/Utils/ColorSpaceConvert.cpp +++ b/src/slic3r/Utils/ColorSpaceConvert.cpp @@ -2,6 +2,12 @@ #include #include +#include +#include +#include +#include +#include +#include #include #include diff --git a/src/slic3r/Utils/CrealityHostDiscovery.cpp b/src/slic3r/Utils/CrealityHostDiscovery.cpp index a3256794e2..556309ef30 100644 --- a/src/slic3r/Utils/CrealityHostDiscovery.cpp +++ b/src/slic3r/Utils/CrealityHostDiscovery.cpp @@ -4,9 +4,13 @@ #include "Http.hpp" #include +#include #include #include +#include +#include +#include namespace Slic3r { diff --git a/src/slic3r/Utils/CrealityPrint.cpp b/src/slic3r/Utils/CrealityPrint.cpp index 323db56ff6..20e702ba54 100644 --- a/src/slic3r/Utils/CrealityPrint.cpp +++ b/src/slic3r/Utils/CrealityPrint.cpp @@ -1,6 +1,20 @@ #include "CrealityPrint.hpp" #include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include #include #include #include @@ -16,8 +30,11 @@ #include #include +#include +#include #include +#include "PrintHost.hpp" #include "slic3r/GUI/GUI.hpp" #include "slic3r/GUI/I18N.hpp" #include "slic3r/GUI/GUI_App.hpp" @@ -37,6 +54,7 @@ #include #include +#include using json = nlohmann::json; using std::to_string; diff --git a/src/slic3r/Utils/CrealityPrintAgent.cpp b/src/slic3r/Utils/CrealityPrintAgent.cpp index 4730903c59..10f6a51c5d 100644 --- a/src/slic3r/Utils/CrealityPrintAgent.cpp +++ b/src/slic3r/Utils/CrealityPrintAgent.cpp @@ -1,16 +1,23 @@ #include "CrealityPrintAgent.hpp" #include "CrealityPrint.hpp" +#include "MoonrakerPrinterAgent.hpp" +#include "IPrinterAgent.hpp" #include "libslic3r/PresetBundle.hpp" #include "libslic3r/PrintConfig.hpp" #include "slic3r/GUI/GUI_App.hpp" #include +#include "libslic3r/Config.hpp" +#include #include #include #include #include #include +#include +#include +#include using json = nlohmann::json; diff --git a/src/slic3r/Utils/CrealityPrintAgent.hpp b/src/slic3r/Utils/CrealityPrintAgent.hpp index cf22d104ec..3b925c5d21 100644 --- a/src/slic3r/Utils/CrealityPrintAgent.hpp +++ b/src/slic3r/Utils/CrealityPrintAgent.hpp @@ -1,6 +1,7 @@ #ifndef __CREALITY_PRINT_AGENT_HPP__ #define __CREALITY_PRINT_AGENT_HPP__ +#include "IPrinterAgent.hpp" #include "MoonrakerPrinterAgent.hpp" #include diff --git a/src/slic3r/Utils/Duet.cpp b/src/slic3r/Utils/Duet.cpp index e26a493131..592e198808 100644 --- a/src/slic3r/Utils/Duet.cpp +++ b/src/slic3r/Utils/Duet.cpp @@ -1,6 +1,7 @@ #include "Duet.hpp" #include +#include #include #include #include @@ -8,14 +9,17 @@ #include #include +#include #include #include #include #include #include +#include #include #include +#include "PrintHost.hpp" #include "libslic3r/PrintConfig.hpp" #include "slic3r/GUI/GUI.hpp" #include "slic3r/GUI/I18N.hpp" diff --git a/src/slic3r/Utils/ESP3D.cpp b/src/slic3r/Utils/ESP3D.cpp index 5c10862118..0fc28cfcaf 100644 --- a/src/slic3r/Utils/ESP3D.cpp +++ b/src/slic3r/Utils/ESP3D.cpp @@ -12,14 +12,17 @@ #include #include +#include #include #include #include #include #include +#include #include #include +#include "PrintHost.hpp" #include "libslic3r/PrintConfig.hpp" #include "slic3r/GUI/GUI.hpp" #include "slic3r/GUI/I18N.hpp" diff --git a/src/slic3r/Utils/ElegooLink.cpp b/src/slic3r/Utils/ElegooLink.cpp index 64ff4a9455..fb74a384d1 100644 --- a/src/slic3r/Utils/ElegooLink.cpp +++ b/src/slic3r/Utils/ElegooLink.cpp @@ -1,8 +1,19 @@ #include "ElegooLink.hpp" #include +#include "libslic3r/Utils.hpp" +#include +#include +#include +#include +#include +#include +#include "libslic3r/PrintConfig.hpp" +#include #include #include +#include +#include #include #include #include @@ -20,8 +31,15 @@ #include +#include +#include +#include +#include #include +#include "OctoPrint.hpp" +#include "PrintHost.hpp" +#include "WebSocketClient.hpp" #include "slic3r/GUI/GUI.hpp" #include "slic3r/GUI/I18N.hpp" #include "slic3r/GUI/GUI_App.hpp" diff --git a/src/slic3r/Utils/ElegooLink.hpp b/src/slic3r/Utils/ElegooLink.hpp index a60d2de1b3..9072fd5c78 100644 --- a/src/slic3r/Utils/ElegooLink.hpp +++ b/src/slic3r/Utils/ElegooLink.hpp @@ -1,6 +1,9 @@ #ifndef slic3r_ElegooLink_hpp_ #define slic3r_ElegooLink_hpp_ +#include +#include +#include #include #include #include diff --git a/src/slic3r/Utils/EmbossStyleManager.cpp b/src/slic3r/Utils/EmbossStyleManager.cpp index 5e777e2f29..5f03bd5df3 100644 --- a/src/slic3r/Utils/EmbossStyleManager.cpp +++ b/src/slic3r/Utils/EmbossStyleManager.cpp @@ -1,4 +1,19 @@ #include "EmbossStyleManager.hpp" +#include +#include +#include "libslic3r/TextConfiguration.hpp" +#include +#include +#include +#include +#include +#include "libslic3r/Emboss.hpp" +#include "libslic3r/Point.hpp" +#include +#include +#include +#include +#include "libslic3r/EmbossShape.hpp" #include #include // Imgui texture #include // ImTextCharFromUtf8 @@ -12,6 +27,13 @@ #include #include +#include +#include +#include +#include "slic3r/GUI/GUI_Utils.hpp" +#include "slic3r/GUI/Jobs/Worker.hpp" +#include +#include "slic3r/GUI/OpenGLManager.hpp" using namespace Slic3r; using namespace Slic3r::Emboss; diff --git a/src/slic3r/Utils/EmbossStyleManager.hpp b/src/slic3r/Utils/EmbossStyleManager.hpp index 171f6fb1aa..76be39ac04 100644 --- a/src/slic3r/Utils/EmbossStyleManager.hpp +++ b/src/slic3r/Utils/EmbossStyleManager.hpp @@ -1,11 +1,15 @@ #ifndef slic3r_EmbossStyleManager_hpp_ #define slic3r_EmbossStyleManager_hpp_ +#include +#include +#include "libslic3r/Point.hpp" #include #include #include #include #include +#include #include #include #include diff --git a/src/slic3r/Utils/FileHelp.cpp b/src/slic3r/Utils/FileHelp.cpp index bd67dab46f..12c1d5728f 100644 --- a/src/slic3r/Utils/FileHelp.cpp +++ b/src/slic3r/Utils/FileHelp.cpp @@ -1,6 +1,11 @@ #include "FileHelp.hpp" +#include #include +#include +#include #include +#include +#include namespace Slic3r { namespace Utils { diff --git a/src/slic3r/Utils/FileTransferUtils.cpp b/src/slic3r/Utils/FileTransferUtils.cpp index 822ccdf09d..e56cdc1551 100644 --- a/src/slic3r/Utils/FileTransferUtils.cpp +++ b/src/slic3r/Utils/FileTransferUtils.cpp @@ -1,3 +1,9 @@ +#include +#include +#include +#include +#include +#include #include #include #include "FileTransferUtils.hpp" diff --git a/src/slic3r/Utils/FixModelByCgal.cpp b/src/slic3r/Utils/FixModelByCgal.cpp index 9d973844bb..237a4b9dc6 100644 --- a/src/slic3r/Utils/FixModelByCgal.cpp +++ b/src/slic3r/Utils/FixModelByCgal.cpp @@ -1,14 +1,26 @@ #include "FixModelByCgal.hpp" +#include #include #include #include #include +#include "libslic3r/TriangleMesh.hpp" +#include "libslic3r/BoundingBox.hpp" +#include "libslic3r/Point.hpp" +#include "libslic3r/libslic3r.h" +#include +#include +#include "libslic3r/Exception.hpp" #include #include +#include "slic3r/GUI/Widgets/ProgressDialog.hpp" +#include #include #include +#include #include +#include #include "libslic3r/MeshBoolean.hpp" #include "libslic3r/Model.hpp" diff --git a/src/slic3r/Utils/FixModelByCgal.hpp b/src/slic3r/Utils/FixModelByCgal.hpp index 61c8c91087..03bec43f47 100644 --- a/src/slic3r/Utils/FixModelByCgal.hpp +++ b/src/slic3r/Utils/FixModelByCgal.hpp @@ -2,6 +2,7 @@ #define slic3r_GUI_Utils_FixModelByCgal_hpp_ #include +#include #include "../GUI/Widgets/ProgressDialog.hpp" namespace Slic3r { diff --git a/src/slic3r/Utils/FlashAir.cpp b/src/slic3r/Utils/FlashAir.cpp index f2d66fd012..557604cffc 100644 --- a/src/slic3r/Utils/FlashAir.cpp +++ b/src/slic3r/Utils/FlashAir.cpp @@ -7,14 +7,17 @@ #include #include +#include #include #include #include #include #include +#include #include #include +#include "PrintHost.hpp" #include "libslic3r/PrintConfig.hpp" #include "slic3r/GUI/GUI.hpp" #include "slic3r/GUI/I18N.hpp" diff --git a/src/slic3r/Utils/Flashforge.cpp b/src/slic3r/Utils/Flashforge.cpp index a042a889ae..5f639c3e5f 100644 --- a/src/slic3r/Utils/Flashforge.cpp +++ b/src/slic3r/Utils/Flashforge.cpp @@ -1,8 +1,22 @@ #include "Flashforge.hpp" #include #include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include #include #include +#include +#include "libslic3r/Config.hpp" +#include +#include #include #include #include @@ -16,11 +30,14 @@ #include #include +#include +#include #include #include #include #include #include +#include #include #include @@ -28,6 +45,7 @@ #include #include +#include "PrintHost.hpp" #include "libslic3r/PrintConfig.hpp" #include "slic3r/GUI/GUI.hpp" #include "slic3r/GUI/I18N.hpp" diff --git a/src/slic3r/Utils/FontConfigHelp.cpp b/src/slic3r/Utils/FontConfigHelp.cpp index 15beca07ba..f3280ad83d 100644 --- a/src/slic3r/Utils/FontConfigHelp.cpp +++ b/src/slic3r/Utils/FontConfigHelp.cpp @@ -1,4 +1,11 @@ #include "FontConfigHelp.hpp" +#include +#include +#include +#include +#include +#include +#include #ifdef EXIST_FONT_CONFIG_INCLUDE diff --git a/src/slic3r/Utils/FontConfigHelp.hpp b/src/slic3r/Utils/FontConfigHelp.hpp index d2d7738767..ca69b7719e 100644 --- a/src/slic3r/Utils/FontConfigHelp.hpp +++ b/src/slic3r/Utils/FontConfigHelp.hpp @@ -1,6 +1,7 @@ #ifndef slic3r_FontConfigHelp_hpp_ #define slic3r_FontConfigHelp_hpp_ +#include #ifdef __linux__ #define EXIST_FONT_CONFIG_INCLUDE #endif diff --git a/src/slic3r/Utils/HexFile.cpp b/src/slic3r/Utils/HexFile.cpp index a13fcab02b..76e1f998bf 100644 --- a/src/slic3r/Utils/HexFile.cpp +++ b/src/slic3r/Utils/HexFile.cpp @@ -1,9 +1,15 @@ #include "HexFile.hpp" +#include +#include +#include +#include #include #include #include #include +#include +#include namespace fs = boost::filesystem; namespace pt = boost::property_tree; diff --git a/src/slic3r/Utils/Http.cpp b/src/slic3r/Utils/Http.cpp index 363ca0ecf6..552c0b6a39 100644 --- a/src/slic3r/Utils/Http.cpp +++ b/src/slic3r/Utils/Http.cpp @@ -1,8 +1,23 @@ #include "Http.hpp" +#include "libslic3r_version.h" +#include #include +#include +#include #include +#include +#include #include +#include +#include +#include +#include +#include +#include +#include "libslic3r/Exception.hpp" +#include +#include #include #include #include @@ -14,6 +29,7 @@ #include #include +#include #ifdef OPENSSL_CERT_OVERRIDE #include diff --git a/src/slic3r/Utils/Http.hpp b/src/slic3r/Utils/Http.hpp index a44a95e605..d8fa012124 100644 --- a/src/slic3r/Utils/Http.hpp +++ b/src/slic3r/Utils/Http.hpp @@ -1,8 +1,10 @@ #ifndef __Http_hpp__ #define __Http_hpp__ +#include #include #include +#include #include #include #include diff --git a/src/slic3r/Utils/InstanceID.cpp b/src/slic3r/Utils/InstanceID.cpp index d4a903e276..d683138e2e 100644 --- a/src/slic3r/Utils/InstanceID.cpp +++ b/src/slic3r/Utils/InstanceID.cpp @@ -1,7 +1,10 @@ #include "InstanceID.hpp" #include +#include +#include #include +#include #include #include #include diff --git a/src/slic3r/Utils/MKS.cpp b/src/slic3r/Utils/MKS.cpp index ced7af9c9f..6a27c7c7ce 100644 --- a/src/slic3r/Utils/MKS.cpp +++ b/src/slic3r/Utils/MKS.cpp @@ -12,14 +12,18 @@ #include #include +#include #include #include #include #include #include +#include #include #include +#include "TCPConsole.hpp" +#include "PrintHost.hpp" #include "libslic3r/PrintConfig.hpp" #include "slic3r/GUI/GUI.hpp" #include "slic3r/GUI/I18N.hpp" diff --git a/src/slic3r/Utils/MeshInspect.cpp b/src/slic3r/Utils/MeshInspect.cpp index 0a60358278..dd8e5c88a0 100644 --- a/src/slic3r/Utils/MeshInspect.cpp +++ b/src/slic3r/Utils/MeshInspect.cpp @@ -3,11 +3,17 @@ #include "libslic3r/LayOnFace.hpp" #include "libslic3r/Model.hpp" +#include "libslic3r/Point.hpp" +#include "libslic3r/BoundingBox.hpp" +#include #include #include #include #include +#include +#include +#include namespace Slic3r { namespace MeshInspect { diff --git a/src/slic3r/Utils/MeshInspect.hpp b/src/slic3r/Utils/MeshInspect.hpp index 0f53b41c4a..b908d568ba 100644 --- a/src/slic3r/Utils/MeshInspect.hpp +++ b/src/slic3r/Utils/MeshInspect.hpp @@ -1,5 +1,6 @@ #pragma once +#include #include #include #include diff --git a/src/slic3r/Utils/Moonraker.cpp b/src/slic3r/Utils/Moonraker.cpp index 73fdb8486a..f8692a8bb8 100644 --- a/src/slic3r/Utils/Moonraker.cpp +++ b/src/slic3r/Utils/Moonraker.cpp @@ -1,12 +1,17 @@ #include "Moonraker.hpp" +#include #include #include #include #include #include +#include +#include +#include +#include "PrintHost.hpp" #include "libslic3r/PrintConfig.hpp" #include "slic3r/GUI/I18N.hpp" #include "slic3r/GUI/GUI.hpp" diff --git a/src/slic3r/Utils/MoonrakerPrinterAgent.cpp b/src/slic3r/Utils/MoonrakerPrinterAgent.cpp index 5d75955a1e..96570b656b 100644 --- a/src/slic3r/Utils/MoonrakerPrinterAgent.cpp +++ b/src/slic3r/Utils/MoonrakerPrinterAgent.cpp @@ -1,6 +1,7 @@ #include "MoonrakerPrinterAgent.hpp" #include "Http.hpp" #include "IPrinterAgent.hpp" +#include "bambu_networking.hpp" #include "libslic3r/Preset.hpp" #include "libslic3r/PresetBundle.hpp" #include "slic3r/GUI/GUI_App.hpp" @@ -11,18 +12,44 @@ #include "../GUI/DeviceCore/DevFirmware.h" #include "nlohmann/json.hpp" #include +#include +#include +#include +#include #include +#include #include #include +#include +#include +#include +#include +#include #include +#include +#include +#include +#include #include +#include +#include #include #include #include #include #include +#include +#include +#include #include +#include +#include +#include +#include +#include #include +#include +#include namespace { diff --git a/src/slic3r/Utils/MoonrakerPrinterAgent.hpp b/src/slic3r/Utils/MoonrakerPrinterAgent.hpp index a25a088ada..a733d4dfb2 100644 --- a/src/slic3r/Utils/MoonrakerPrinterAgent.hpp +++ b/src/slic3r/Utils/MoonrakerPrinterAgent.hpp @@ -3,7 +3,11 @@ #include "IPrinterAgent.hpp" #include "ICloudServiceAgent.hpp" +#include "bambu_networking.hpp" +#include +#include +#include #include #include #include @@ -11,6 +15,7 @@ #include #include +#include namespace Slic3r { diff --git a/src/slic3r/Utils/NetworkAgent.cpp b/src/slic3r/Utils/NetworkAgent.cpp index 1f7705658e..4e5154fd42 100644 --- a/src/slic3r/Utils/NetworkAgent.cpp +++ b/src/slic3r/Utils/NetworkAgent.cpp @@ -1,11 +1,24 @@ #include "NetworkAgent.hpp" +#include +#include +#include +#include +#include +#include "libslic3r/ProjectTask.hpp" #include #include #include +#include +#include +#include +#include "CloudProvider.hpp" +#include "ICloudServiceAgent.hpp" +#include "ICameraSignalingChannel.hpp" #include "IPrinterAgent.hpp" #include "BBLNetworkPlugin.hpp" +#include "bambu_networking.hpp" namespace Slic3r { diff --git a/src/slic3r/Utils/NetworkAgent.hpp b/src/slic3r/Utils/NetworkAgent.hpp index f93178db8b..c7813f2bb7 100644 --- a/src/slic3r/Utils/NetworkAgent.hpp +++ b/src/slic3r/Utils/NetworkAgent.hpp @@ -1,12 +1,15 @@ #ifndef __NETWORK_Agent_HPP__ #define __NETWORK_Agent_HPP__ +#include "CloudProvider.hpp" +#include "ICameraSignalingChannel.hpp" #include "bambu_networking.hpp" #include "libslic3r/ProjectTask.hpp" #include "ICloudServiceAgent.hpp" #include "IPrinterAgent.hpp" +#include #include #include #include diff --git a/src/slic3r/Utils/NetworkAgentFactory.cpp b/src/slic3r/Utils/NetworkAgentFactory.cpp index e2e58b7510..3d87a3eec9 100644 --- a/src/slic3r/Utils/NetworkAgentFactory.cpp +++ b/src/slic3r/Utils/NetworkAgentFactory.cpp @@ -1,4 +1,5 @@ #include "NetworkAgentFactory.hpp" +#include "CloudProvider.hpp" #include "IPrinterAgent.hpp" #include "ICloudServiceAgent.hpp" #include "BBLPrinterAgent.hpp" @@ -13,13 +14,18 @@ #include #include #include +#include #include +#include #include #include #include #include #include +#include +#include #include +#include namespace Slic3r { namespace { diff --git a/src/slic3r/Utils/NetworkAgentFactory.hpp b/src/slic3r/Utils/NetworkAgentFactory.hpp index a055b19493..0053a42466 100644 --- a/src/slic3r/Utils/NetworkAgentFactory.hpp +++ b/src/slic3r/Utils/NetworkAgentFactory.hpp @@ -1,6 +1,7 @@ #ifndef __NETWORK_AGENT_FACTORY_HPP__ #define __NETWORK_AGENT_FACTORY_HPP__ +#include "CloudProvider.hpp" #include "ICloudServiceAgent.hpp" #include "IPrinterAgent.hpp" #include "NetworkAgent.hpp" @@ -11,6 +12,7 @@ #include #include #include +#include #include namespace Slic3r { diff --git a/src/slic3r/Utils/Obico.cpp b/src/slic3r/Utils/Obico.cpp index 92d748b496..9dabd91467 100644 --- a/src/slic3r/Utils/Obico.cpp +++ b/src/slic3r/Utils/Obico.cpp @@ -1,6 +1,8 @@ #include "Obico.hpp" #include +#include "libslic3r/Exception.hpp" +#include #include #include #include @@ -14,8 +16,12 @@ #include #include +#include +#include #include +#include +#include "PrintHost.hpp" #include "slic3r/GUI/GUI.hpp" #include "slic3r/GUI/I18N.hpp" #include "slic3r/GUI/GUI_App.hpp" diff --git a/src/slic3r/Utils/OctoPrint.cpp b/src/slic3r/Utils/OctoPrint.cpp index fa57b7b527..a39b300d79 100644 --- a/src/slic3r/Utils/OctoPrint.cpp +++ b/src/slic3r/Utils/OctoPrint.cpp @@ -1,6 +1,10 @@ #include "OctoPrint.hpp" #include +#include +#include "libslic3r/Config.hpp" +#include "libslic3r/PrintConfig.hpp" +#include "libslic3r/Exception.hpp" #include #include #include @@ -14,8 +18,14 @@ #include +#include +#include +#include +#include #include +#include +#include "PrintHost.hpp" #include "slic3r/GUI/GUI.hpp" #include "slic3r/GUI/I18N.hpp" #include "slic3r/GUI/GUI_App.hpp" diff --git a/src/slic3r/Utils/OctoPrint.hpp b/src/slic3r/Utils/OctoPrint.hpp index ad7e8c411e..b2dbe11cff 100644 --- a/src/slic3r/Utils/OctoPrint.hpp +++ b/src/slic3r/Utils/OctoPrint.hpp @@ -1,6 +1,7 @@ #ifndef slic3r_OctoPrint_hpp_ #define slic3r_OctoPrint_hpp_ +#include #include #include #include diff --git a/src/slic3r/Utils/OrcaCloudServiceAgent.cpp b/src/slic3r/Utils/OrcaCloudServiceAgent.cpp index 1618bff548..2cebdb8ab9 100644 --- a/src/slic3r/Utils/OrcaCloudServiceAgent.cpp +++ b/src/slic3r/Utils/OrcaCloudServiceAgent.cpp @@ -1,21 +1,37 @@ #include "OrcaCloudServiceAgent.hpp" +#include "CloudProvider.hpp" #include "Http.hpp" +#include "bambu_networking.hpp" +#include "ICloudServiceAgent.hpp" #include "libslic3r/Utils.hpp" #include "slic3r/GUI/GUI_App.hpp" #include "libslic3r/AppConfig.hpp" +#include #include +#include +#include #include #include +#include #include +#include #include #include #include +#include +#include #include +#include #include +#include #include +#include +#include "libslic3r/Preset.hpp" +#include "libslic3r/ProjectTask.hpp" #include +#include #include #include #include @@ -32,7 +48,11 @@ #include #include +#include +#include +#include #include +#include #include #include #include diff --git a/src/slic3r/Utils/OrcaCloudServiceAgent.hpp b/src/slic3r/Utils/OrcaCloudServiceAgent.hpp index 7e060da84a..458aa55fcd 100644 --- a/src/slic3r/Utils/OrcaCloudServiceAgent.hpp +++ b/src/slic3r/Utils/OrcaCloudServiceAgent.hpp @@ -1,9 +1,12 @@ #ifndef __ORCA_CLOUD_SERVICE_AGENT_HPP__ #define __ORCA_CLOUD_SERVICE_AGENT_HPP__ +#include "CloudProvider.hpp" #include "ICameraSignalingChannel.hpp" #include "ICloudServiceAgent.hpp" +#include "bambu_networking.hpp" #include +#include "libslic3r/ProjectTask.hpp" #include #include #include @@ -13,6 +16,7 @@ #include #include #include +#include #include #include diff --git a/src/slic3r/Utils/OrcaPrinterAgent.cpp b/src/slic3r/Utils/OrcaPrinterAgent.cpp index 987cc0efdb..cb8b38acc8 100644 --- a/src/slic3r/Utils/OrcaPrinterAgent.cpp +++ b/src/slic3r/Utils/OrcaPrinterAgent.cpp @@ -1,6 +1,11 @@ #include "OrcaPrinterAgent.hpp" #include "IPrinterAgent.hpp" #include "NetworkAgentFactory.hpp" +#include +#include +#include +#include +#include "bambu_networking.hpp" namespace Slic3r { diff --git a/src/slic3r/Utils/OrcaPrinterAgent.hpp b/src/slic3r/Utils/OrcaPrinterAgent.hpp index 7d2a75fe0f..a56b2c8dda 100644 --- a/src/slic3r/Utils/OrcaPrinterAgent.hpp +++ b/src/slic3r/Utils/OrcaPrinterAgent.hpp @@ -3,6 +3,7 @@ #include "IPrinterAgent.hpp" #include "ICloudServiceAgent.hpp" +#include "bambu_networking.hpp" #include #include #include diff --git a/src/slic3r/Utils/PaintCLI.cpp b/src/slic3r/Utils/PaintCLI.cpp index d99dc0b450..2bf2b9728a 100644 --- a/src/slic3r/Utils/PaintCLI.cpp +++ b/src/slic3r/Utils/PaintCLI.cpp @@ -5,9 +5,13 @@ #include "libslic3r/TriangleMesh.hpp" #include "libslic3r/TriangleSelector.hpp" +#include "libslic3r/Point.hpp" +#include "libslic3r/BoundingBox.hpp" +#include #include #include +#include #include #include #include diff --git a/src/slic3r/Utils/PresetUpdater.cpp b/src/slic3r/Utils/PresetUpdater.cpp index 5bbe779970..1df0edf8fa 100644 --- a/src/slic3r/Utils/PresetUpdater.cpp +++ b/src/slic3r/Utils/PresetUpdater.cpp @@ -1,12 +1,23 @@ #include "PresetUpdater.hpp" #include +#include +#include +#include #include +#include #include #include #include +#include #include #include +#include "libslic3r/Exception.hpp" +#include +#include +#include "libslic3r/AppConfig.hpp" +#include "libslic3r/Preset.hpp" +#include "libslic3r/Config.hpp" #include #include #include @@ -24,8 +35,10 @@ #include #include +#include #include +#include "json_diff.hpp" #include "libslic3r/libslic3r.h" #include "libslic3r/format.hpp" #include "libslic3r/Utils.hpp" diff --git a/src/slic3r/Utils/PresetUpdater.hpp b/src/slic3r/Utils/PresetUpdater.hpp index ccb0902fd5..22571e52d9 100644 --- a/src/slic3r/Utils/PresetUpdater.hpp +++ b/src/slic3r/Utils/PresetUpdater.hpp @@ -4,6 +4,7 @@ #include #include #include +#include #include #include diff --git a/src/slic3r/Utils/PrintHost.cpp b/src/slic3r/Utils/PrintHost.cpp index 2eeb78a975..2b3c4d181d 100644 --- a/src/slic3r/Utils/PrintHost.cpp +++ b/src/slic3r/Utils/PrintHost.cpp @@ -1,5 +1,17 @@ #include "PrintHost.hpp" +#include +#include "libslic3r/Config.hpp" +#include +#include +#include "slic3r/GUI/Gizmos/GLGizmoBase.hpp" +#include +#include +#include +#include +#include +#include "libslic3r/LifecycleEvents.hpp" +#include "slic3r/GUI/GUI_App.hpp" #include #include #include @@ -11,6 +23,7 @@ #include #include +#include #include #include #include diff --git a/src/slic3r/Utils/PrintHost.hpp b/src/slic3r/Utils/PrintHost.hpp index cf197ede07..771eb7732a 100644 --- a/src/slic3r/Utils/PrintHost.hpp +++ b/src/slic3r/Utils/PrintHost.hpp @@ -1,12 +1,14 @@ #ifndef slic3r_PrintHost_hpp_ #define slic3r_PrintHost_hpp_ +#include #include #include #include #include #include +#include #include #include diff --git a/src/slic3r/Utils/Process.cpp b/src/slic3r/Utils/Process.cpp index 96da521114..150e838489 100644 --- a/src/slic3r/Utils/Process.cpp +++ b/src/slic3r/Utils/Process.cpp @@ -1,5 +1,6 @@ #include "Process.hpp" +#include #include #include "../GUI/GUI.hpp" @@ -13,6 +14,11 @@ #include #include +#include +#include +#include +#include +#include // For starting another OrcaSlicer instance on OSX. // Fails to compile on Windows on the build server. diff --git a/src/slic3r/Utils/QidiPrinterAgent.cpp b/src/slic3r/Utils/QidiPrinterAgent.cpp index 4a90ec3771..06499e1092 100644 --- a/src/slic3r/Utils/QidiPrinterAgent.cpp +++ b/src/slic3r/Utils/QidiPrinterAgent.cpp @@ -1,13 +1,22 @@ #include "QidiPrinterAgent.hpp" #include "Http.hpp" +#include "MoonrakerPrinterAgent.hpp" +#include "IPrinterAgent.hpp" #include "libslic3r/PresetBundle.hpp" #include "slic3r/GUI/GUI_App.hpp" #include "nlohmann/json.hpp" #include +#include +#include #include #include +#include "libslic3r/Preset.hpp" +#include #include +#include +#include +#include using json = nlohmann::json; diff --git a/src/slic3r/Utils/QidiPrinterAgent.hpp b/src/slic3r/Utils/QidiPrinterAgent.hpp index ce7b4cda0d..5f4cfc3a7e 100644 --- a/src/slic3r/Utils/QidiPrinterAgent.hpp +++ b/src/slic3r/Utils/QidiPrinterAgent.hpp @@ -1,6 +1,7 @@ #ifndef __QIDI_PRINTER_AGENT_HPP__ #define __QIDI_PRINTER_AGENT_HPP__ +#include "IPrinterAgent.hpp" #include "MoonrakerPrinterAgent.hpp" #include diff --git a/src/slic3r/Utils/RaycastManager.cpp b/src/slic3r/Utils/RaycastManager.cpp index 62c7a922d7..dba5ae1a54 100644 --- a/src/slic3r/Utils/RaycastManager.cpp +++ b/src/slic3r/Utils/RaycastManager.cpp @@ -1,5 +1,17 @@ #include "RaycastManager.hpp" +#include "libslic3r/Model.hpp" +#include "libslic3r/AABBMesh.hpp" +#include +#include "libslic3r/Point.hpp" +#include +#include +#include +#include +#include +#include "slic3r/GUI/SceneRaycaster.hpp" +#include "slic3r/GUI/3DScene.hpp" #include +#include #include "slic3r/GUI/GLCanvas3D.hpp" #include "slic3r/GUI/Camera.hpp" diff --git a/src/slic3r/Utils/RaycastManager.hpp b/src/slic3r/Utils/RaycastManager.hpp index 4e143ba5dd..0c62ecaacc 100644 --- a/src/slic3r/Utils/RaycastManager.hpp +++ b/src/slic3r/Utils/RaycastManager.hpp @@ -1,8 +1,13 @@ #ifndef slic3r_RaycastManager_hpp_ #define slic3r_RaycastManager_hpp_ +#include +#include +#include #include // unique_ptr #include +#include +#include #include "libslic3r/AABBMesh.hpp" // Structure to cast rays #include "libslic3r/Point.hpp" // Transform3d #include "libslic3r/ObjectID.hpp" diff --git a/src/slic3r/Utils/Repetier.cpp b/src/slic3r/Utils/Repetier.cpp index a524f29b71..ae269cac4f 100644 --- a/src/slic3r/Utils/Repetier.cpp +++ b/src/slic3r/Utils/Repetier.cpp @@ -1,6 +1,9 @@ #include "Repetier.hpp" #include +#include +#include "libslic3r/Exception.hpp" +#include #include #include #include @@ -10,9 +13,13 @@ #include #include +#include +#include #include +#include +#include "PrintHost.hpp" #include "libslic3r/PrintConfig.hpp" #include "slic3r/GUI/I18N.hpp" #include "slic3r/GUI/GUI.hpp" diff --git a/src/slic3r/Utils/Serial.cpp b/src/slic3r/Utils/Serial.cpp index f8c03ceb26..2b64330826 100644 --- a/src/slic3r/Utils/Serial.cpp +++ b/src/slic3r/Utils/Serial.cpp @@ -3,7 +3,19 @@ #include "libslic3r/Exception.hpp" #include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include #include +#include #include #include #include diff --git a/src/slic3r/Utils/Serial.hpp b/src/slic3r/Utils/Serial.hpp index 8bad75b315..c5c4d19fc5 100644 --- a/src/slic3r/Utils/Serial.hpp +++ b/src/slic3r/Utils/Serial.hpp @@ -1,6 +1,9 @@ #ifndef slic3r_GUI_Utils_Serial_hpp_ #define slic3r_GUI_Utils_Serial_hpp_ +#include +#include +#include #include #include #include diff --git a/src/slic3r/Utils/SimplyPrint.cpp b/src/slic3r/Utils/SimplyPrint.cpp index a3edfd98ee..5c68878986 100644 --- a/src/slic3r/Utils/SimplyPrint.cpp +++ b/src/slic3r/Utils/SimplyPrint.cpp @@ -1,10 +1,36 @@ #include "SimplyPrint.hpp" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include #include #include #include #include +#include +#include +#include +#include +#include "slic3r/GUI/Jobs/OAuthJob.hpp" +#include +#include +#include +#include "PrintHost.hpp" #include "nlohmann/json.hpp" #include "libslic3r/Utils.hpp" #include "slic3r/GUI/I18N.hpp" diff --git a/src/slic3r/Utils/SimplyPrint.hpp b/src/slic3r/Utils/SimplyPrint.hpp index 3804324724..83ff64378e 100644 --- a/src/slic3r/Utils/SimplyPrint.hpp +++ b/src/slic3r/Utils/SimplyPrint.hpp @@ -3,6 +3,11 @@ #include "PrintHost.hpp" #include "slic3r/GUI/Jobs/OAuthJob.hpp" +#include +#include +#include +#include +#include namespace Slic3r { diff --git a/src/slic3r/Utils/SnapmakerPrinterAgent.cpp b/src/slic3r/Utils/SnapmakerPrinterAgent.cpp index 6039eb260f..a237d1b2b1 100644 --- a/src/slic3r/Utils/SnapmakerPrinterAgent.cpp +++ b/src/slic3r/Utils/SnapmakerPrinterAgent.cpp @@ -1,10 +1,17 @@ #include "SnapmakerPrinterAgent.hpp" #include "Http.hpp" +#include "MoonrakerPrinterAgent.hpp" +#include "IPrinterAgent.hpp" #include "libslic3r/PresetBundle.hpp" #include "slic3r/GUI/GUI_App.hpp" #include "nlohmann/json.hpp" #include +#include +#include +#include "libslic3r/Preset.hpp" +#include +#include using json = nlohmann::json; diff --git a/src/slic3r/Utils/SnapmakerPrinterAgent.hpp b/src/slic3r/Utils/SnapmakerPrinterAgent.hpp index d49fe21239..39b642081b 100644 --- a/src/slic3r/Utils/SnapmakerPrinterAgent.hpp +++ b/src/slic3r/Utils/SnapmakerPrinterAgent.hpp @@ -1,5 +1,6 @@ #pragma once +#include "IPrinterAgent.hpp" #include "MoonrakerPrinterAgent.hpp" #include diff --git a/src/slic3r/Utils/TCPConsole.cpp b/src/slic3r/Utils/TCPConsole.cpp index 25802e3908..78d4624abc 100644 --- a/src/slic3r/Utils/TCPConsole.cpp +++ b/src/slic3r/Utils/TCPConsole.cpp @@ -1,14 +1,21 @@ +#include +#include #include +#include #include #include #include #include #include #include +#include #include #include #include +#include +#include +#include #include #include #include diff --git a/src/slic3r/Utils/TCPConsole.hpp b/src/slic3r/Utils/TCPConsole.hpp index e94e130a9e..4ec766faa4 100644 --- a/src/slic3r/Utils/TCPConsole.hpp +++ b/src/slic3r/Utils/TCPConsole.hpp @@ -1,6 +1,9 @@ #ifndef slic3r_Utils_TCPConsole_hpp_ #define slic3r_Utils_TCPConsole_hpp_ +#include +#include +#include #include #include #include @@ -8,6 +11,7 @@ #include #include #include "SerialMessage.hpp" +#include "SerialMessageType.hpp" namespace Slic3r { namespace Utils { diff --git a/src/slic3r/Utils/UltiMaker.cpp b/src/slic3r/Utils/UltiMaker.cpp index badb69d209..fefd8ec786 100644 --- a/src/slic3r/Utils/UltiMaker.cpp +++ b/src/slic3r/Utils/UltiMaker.cpp @@ -1,6 +1,10 @@ #include "UltiMaker.hpp" #include +#include +#include +#include +#include #include #include #include @@ -8,14 +12,20 @@ #include #include +#include +#include +#include +#include #include #include #include #include #include +#include #include #include +#include "PrintHost.hpp" #include "libslic3r/PrintConfig.hpp" #include "slic3r/GUI/GUI.hpp" #include "slic3r/GUI/I18N.hpp" diff --git a/src/slic3r/Utils/UndoRedo.cpp b/src/slic3r/Utils/UndoRedo.cpp index 8e7bd703c3..2cdefefbb4 100644 --- a/src/slic3r/Utils/UndoRedo.cpp +++ b/src/slic3r/Utils/UndoRedo.cpp @@ -1,9 +1,18 @@ #include "UndoRedo.hpp" #include +#include +#include +#include +#include #include #include +#include +#include "libslic3r/Exception.hpp" #include +#include +#include +#include #include #include #include @@ -14,6 +23,8 @@ #include #include #include +#include +#include #define CEREAL_FUTURE_EXPERIMENTAL #include diff --git a/src/slic3r/Utils/UndoRedo.hpp b/src/slic3r/Utils/UndoRedo.hpp index 9042d60a4b..4a5aaca9c1 100644 --- a/src/slic3r/Utils/UndoRedo.hpp +++ b/src/slic3r/Utils/UndoRedo.hpp @@ -2,8 +2,11 @@ #define slic3r_Utils_UndoRedo_hpp_ #include +#include +#include #include #include +#include #include #include diff --git a/src/slic3r/Utils/WebSocketClient.hpp b/src/slic3r/Utils/WebSocketClient.hpp index 2660231794..f85c3e15fa 100644 --- a/src/slic3r/Utils/WebSocketClient.hpp +++ b/src/slic3r/Utils/WebSocketClient.hpp @@ -1,9 +1,18 @@ #ifndef _WEB_SOCKET_CLIENT_HPP_ #define _WEB_SOCKET_CLIENT_HPP_ +#include +#include #include +#include +#include +#include #include #include #include +#include +#include +#include +#include #include #include #include diff --git a/src/slic3r/Utils/WxFontUtils.cpp b/src/slic3r/Utils/WxFontUtils.cpp index a536e65912..4d28fa54c0 100644 --- a/src/slic3r/Utils/WxFontUtils.cpp +++ b/src/slic3r/Utils/WxFontUtils.cpp @@ -1,6 +1,15 @@ #include "WxFontUtils.hpp" #include +#include #include +#include +#include "libslic3r/Emboss.hpp" +#include +#include "libslic3r/TextConfiguration.hpp" +#include +#include +#include +#include #include "libslic3r/Utils.hpp" #if defined(__APPLE__) diff --git a/src/slic3r/Utils/WxFontUtils.hpp b/src/slic3r/Utils/WxFontUtils.hpp index 51c8605ff0..7a9448fbe9 100644 --- a/src/slic3r/Utils/WxFontUtils.hpp +++ b/src/slic3r/Utils/WxFontUtils.hpp @@ -1,8 +1,10 @@ #ifndef slic3r_WxFontUtils_hpp_ #define slic3r_WxFontUtils_hpp_ +#include "libslic3r/TextConfiguration.hpp" #include #include +#include #include #include #include diff --git a/src/slic3r/Utils/bambu_networking.hpp b/src/slic3r/Utils/bambu_networking.hpp index c514daffff..30c33c6c73 100644 --- a/src/slic3r/Utils/bambu_networking.hpp +++ b/src/slic3r/Utils/bambu_networking.hpp @@ -1,6 +1,7 @@ #ifndef __BAMBU_NETWORKING_HPP__ #define __BAMBU_NETWORKING_HPP__ +#include #include #include #include diff --git a/src/slic3r/Utils/minilzo_extension.cpp b/src/slic3r/Utils/minilzo_extension.cpp index 07031cd1af..eca2ee0a7f 100644 --- a/src/slic3r/Utils/minilzo_extension.cpp +++ b/src/slic3r/Utils/minilzo_extension.cpp @@ -1,3 +1,4 @@ +#include #include #include #include diff --git a/src/slic3r/Utils/wxInspectorPlugins/CustomWidgetsPlugin.cpp b/src/slic3r/Utils/wxInspectorPlugins/CustomWidgetsPlugin.cpp index df1b495bff..a35aceafeb 100644 --- a/src/slic3r/Utils/wxInspectorPlugins/CustomWidgetsPlugin.cpp +++ b/src/slic3r/Utils/wxInspectorPlugins/CustomWidgetsPlugin.cpp @@ -8,8 +8,16 @@ #include "slic3r/GUI/Widgets/Label.hpp" #include "slic3r/GUI/Widgets/LabeledStaticBox.hpp" +#include +#include +#include +#include +#include +#include +#include #include #include +#include wxString CustomWidgetsPlugin::GetName() const { diff --git a/src/slic3r/Utils/wxInspectorPlugins/CustomWidgetsPlugin.hpp b/src/slic3r/Utils/wxInspectorPlugins/CustomWidgetsPlugin.hpp index 083ed8a74c..1430677a7d 100644 --- a/src/slic3r/Utils/wxInspectorPlugins/CustomWidgetsPlugin.hpp +++ b/src/slic3r/Utils/wxInspectorPlugins/CustomWidgetsPlugin.hpp @@ -1,6 +1,10 @@ #pragma once +#include #include +#include +#include +#include class CustomWidgetsPlugin : public wxInspector::wxInspectorPlugin { diff --git a/src/slic3r/Utils/wxInspectorPlugins/DPIAwarePlugin.cpp b/src/slic3r/Utils/wxInspectorPlugins/DPIAwarePlugin.cpp index f52a5d4313..ee81e3e7fa 100644 --- a/src/slic3r/Utils/wxInspectorPlugins/DPIAwarePlugin.cpp +++ b/src/slic3r/Utils/wxInspectorPlugins/DPIAwarePlugin.cpp @@ -2,8 +2,15 @@ #include "slic3r/GUI/GUI_Utils.hpp" // DPIFrame, DPIDialog, DPIAware

+#include +#include +#include +#include +#include +#include #include #include +#include namespace { diff --git a/src/slic3r/Utils/wxInspectorPlugins/DPIAwarePlugin.hpp b/src/slic3r/Utils/wxInspectorPlugins/DPIAwarePlugin.hpp index 5d78342967..d1df7fe4aa 100644 --- a/src/slic3r/Utils/wxInspectorPlugins/DPIAwarePlugin.hpp +++ b/src/slic3r/Utils/wxInspectorPlugins/DPIAwarePlugin.hpp @@ -1,6 +1,10 @@ #pragma once +#include #include +#include +#include +#include class DPIAwarePlugin : public wxInspector::wxInspectorPlugin { diff --git a/src/slic3r/plugin/CloudPluginService.cpp b/src/slic3r/plugin/CloudPluginService.cpp index 6b72da3293..b6af332dbc 100644 --- a/src/slic3r/plugin/CloudPluginService.cpp +++ b/src/slic3r/plugin/CloudPluginService.cpp @@ -4,9 +4,13 @@ #include "slic3r/Utils/Http.hpp" #include +#include +#include #include #include #include +#include +#include #include #include #include diff --git a/src/slic3r/plugin/PluginAuditManager.cpp b/src/slic3r/plugin/PluginAuditManager.cpp index 4d69a4f761..bd75ad2459 100644 --- a/src/slic3r/plugin/PluginAuditManager.cpp +++ b/src/slic3r/plugin/PluginAuditManager.cpp @@ -3,24 +3,33 @@ #include "../Utils/OrcaCloudServiceAgent.hpp" #include "libslic3r/Utils.hpp" #include "libslic3r/libslic3r.h" // GCODEVIEWER_APP_KEY, and SLIC3R_APP_KEY via libslic3r_version.h +#include "libslic3r_version.h" #include +#include +#include #include #include #include #include #include +#include +#include #include #include #include #include +#include #include #include #include #include +#include #include #include +#include +#include namespace Slic3r { diff --git a/src/slic3r/plugin/PluginAuditManager.hpp b/src/slic3r/plugin/PluginAuditManager.hpp index 153f9d6107..76ac5cdd18 100644 --- a/src/slic3r/plugin/PluginAuditManager.hpp +++ b/src/slic3r/plugin/PluginAuditManager.hpp @@ -2,6 +2,7 @@ #define slic3r_PluginAuditManager_hpp_ // Via pybind11 so this file requests the same python3xx.lib as everything else. +#include #include #include #include diff --git a/src/slic3r/plugin/PluginBindingUtils.hpp b/src/slic3r/plugin/PluginBindingUtils.hpp index 52050ed561..7572777c43 100644 --- a/src/slic3r/plugin/PluginBindingUtils.hpp +++ b/src/slic3r/plugin/PluginBindingUtils.hpp @@ -1,8 +1,11 @@ #pragma once +#include "libslic3r/libslic3r.h" #include #include #include "libslic3r/Config.hpp" // ConfigBase #include "libslic3r/Point.hpp" // Point/Point3 packing asserts, Vec3d, Transform3d +#include +#include #include #include #include diff --git a/src/slic3r/plugin/PluginConfig.cpp b/src/slic3r/plugin/PluginConfig.cpp index 14d24fabe1..685d295206 100644 --- a/src/slic3r/plugin/PluginConfig.cpp +++ b/src/slic3r/plugin/PluginConfig.cpp @@ -1,24 +1,38 @@ #include "PluginConfig.hpp" #include +#include #include #include #include +#include #include +#include "libslic3r/Preset.hpp" #include #include +#include +#include +#include +#include "libslic3r/Utils.hpp" +#include "libslic3r/libslic3r.h" #include #include #include #include +#include "slic3r/plugin/PluginDescriptor.hpp" #include #include #include #include #include +#include +#include +#include +#include #include +#include #include namespace Slic3r { diff --git a/src/slic3r/plugin/PluginConfig.hpp b/src/slic3r/plugin/PluginConfig.hpp index 523173af68..8f39b4a40e 100644 --- a/src/slic3r/plugin/PluginConfig.hpp +++ b/src/slic3r/plugin/PluginConfig.hpp @@ -1,5 +1,6 @@ #pragma once +#include #include #include #include diff --git a/src/slic3r/plugin/PluginDescriptor.hpp b/src/slic3r/plugin/PluginDescriptor.hpp index b0d2d214c3..9e55a89e59 100644 --- a/src/slic3r/plugin/PluginDescriptor.hpp +++ b/src/slic3r/plugin/PluginDescriptor.hpp @@ -4,6 +4,7 @@ #include #include +#include #include #include #include diff --git a/src/slic3r/plugin/PluginFsUtils.cpp b/src/slic3r/plugin/PluginFsUtils.cpp index 4d6aabe3d3..e3b1bc3bee 100644 --- a/src/slic3r/plugin/PluginFsUtils.cpp +++ b/src/slic3r/plugin/PluginFsUtils.cpp @@ -4,16 +4,24 @@ #include "libslic3r/miniz_extension.hpp" #include +#include +#include +#include +#include #include #include #include "PluginAuditManager.hpp" #include "PythonInterpreter.hpp" +#include +#include #include #include #include +#include +#include "slic3r/plugin/PluginDescriptor.hpp" #include #include #include diff --git a/src/slic3r/plugin/PluginFsUtils.hpp b/src/slic3r/plugin/PluginFsUtils.hpp index 5b62e9f7f1..80174a68bd 100644 --- a/src/slic3r/plugin/PluginFsUtils.hpp +++ b/src/slic3r/plugin/PluginFsUtils.hpp @@ -1,6 +1,7 @@ #pragma once #include "PluginDescriptor.hpp" +#include #include #include @@ -9,6 +10,7 @@ #include #include +#include #include #define PLUGIN_SUBSCRIBED_DIR "_subscribed" diff --git a/src/slic3r/plugin/PluginHooks.cpp b/src/slic3r/plugin/PluginHooks.cpp index 2d84df5fdb..36c7f9292d 100644 --- a/src/slic3r/plugin/PluginHooks.cpp +++ b/src/slic3r/plugin/PluginHooks.cpp @@ -13,7 +13,10 @@ #include +#include +#include #include +#include "slic3r/plugin/PluginDescriptor.hpp" #include #include diff --git a/src/slic3r/plugin/PluginLoader.cpp b/src/slic3r/plugin/PluginLoader.cpp index 0c45564f1b..9da76b9109 100644 --- a/src/slic3r/plugin/PluginLoader.cpp +++ b/src/slic3r/plugin/PluginLoader.cpp @@ -11,9 +11,26 @@ #include "libslic3r/Utils.hpp" #include +#include +#include #include +#include +#include +#include +#include #include #include +#include "slic3r/plugin/PluginDescriptor.hpp" +#include +#include +#include +#include "slic3r/plugin/PythonPluginInterface.hpp" +#include +#include +#include +#include +#include +#include #ifdef _WIN32 #include #endif diff --git a/src/slic3r/plugin/PluginManager.cpp b/src/slic3r/plugin/PluginManager.cpp index 022f85eb1f..c064622b17 100644 --- a/src/slic3r/plugin/PluginManager.cpp +++ b/src/slic3r/plugin/PluginManager.cpp @@ -1,8 +1,14 @@ #include "PluginManager.hpp" +#include +#include +#include #include +#include +#include "libslic3r/LifecycleEvents.hpp" #include #include +#include #include #include "PluginFsUtils.hpp" @@ -21,14 +27,19 @@ #include #include #include +#include "slic3r/plugin/CloudPluginService.hpp" #include #include #include #include #include +#include #include +#include #include #include +#include +#include namespace Slic3r { namespace { diff --git a/src/slic3r/plugin/PluginManager.hpp b/src/slic3r/plugin/PluginManager.hpp index 891f787bf2..bd7a495a67 100644 --- a/src/slic3r/plugin/PluginManager.hpp +++ b/src/slic3r/plugin/PluginManager.hpp @@ -1,9 +1,11 @@ #ifndef slic3r_PluginManager_hpp_ #define slic3r_PluginManager_hpp_ +#include #include #include +#include #include #include #include @@ -13,9 +15,11 @@ #include #include #include +#include "slic3r/plugin/PluginFsUtils.hpp" #include #include #include +#include #include #include diff --git a/src/slic3r/plugin/PluginResolver.cpp b/src/slic3r/plugin/PluginResolver.cpp index 6e72929c63..6b8ca9a417 100644 --- a/src/slic3r/plugin/PluginResolver.cpp +++ b/src/slic3r/plugin/PluginResolver.cpp @@ -11,9 +11,15 @@ #include "../GUI/NotificationManager.hpp" #include +#include #include +#include "libslic3r/Preset.hpp" #include +#include #include +#include +#include "slic3r/plugin/PythonPluginInterface.hpp" +#include #include #include diff --git a/src/slic3r/plugin/PyPluginTrampoline.hpp b/src/slic3r/plugin/PyPluginTrampoline.hpp index 4c77f1ba9c..915c578353 100644 --- a/src/slic3r/plugin/PyPluginTrampoline.hpp +++ b/src/slic3r/plugin/PyPluginTrampoline.hpp @@ -1,17 +1,22 @@ #ifndef slic3r_PyPluginTrampoline_hpp_ #define slic3r_PyPluginTrampoline_hpp_ +#include "libslic3r/LifecycleEvents.hpp" #include #include #include #include +#include #include "PythonPluginInterface.hpp" #include "PythonInterpreter.hpp" #include "PluginFsUtils.hpp" #include "PluginAuditManager.hpp" +#include +#include +#include // Trampoline variants of pybind11's override macros. Every C++->Python plugin call crosses a // trampoline method, so this single boundary is where we (1) log the full Python traceback and diff --git a/src/slic3r/plugin/PythonInterpreter.cpp b/src/slic3r/plugin/PythonInterpreter.cpp index d82bf52a13..6d1afc1ba1 100644 --- a/src/slic3r/plugin/PythonInterpreter.cpp +++ b/src/slic3r/plugin/PythonInterpreter.cpp @@ -2,9 +2,15 @@ #include "GeneratedConfig.hpp" #include "libslic3r/Utils.hpp" #include "PluginAuditManager.hpp" +#include +#include #include +#include +#include +#include #include #include "PluginFsUtils.hpp" +#include #include @@ -16,7 +22,10 @@ #include #include #include +#include #include +#include +#include #include namespace Slic3r { diff --git a/src/slic3r/plugin/PythonInterpreter.hpp b/src/slic3r/plugin/PythonInterpreter.hpp index e15aa91598..2c499283cc 100644 --- a/src/slic3r/plugin/PythonInterpreter.hpp +++ b/src/slic3r/plugin/PythonInterpreter.hpp @@ -2,6 +2,7 @@ #define slic3r_PythonInterpreter_hpp_ // Via pybind11 so this file requests the same python3xx.lib as everything else. +#include #include #include #include diff --git a/src/slic3r/plugin/PythonPluginBridge.cpp b/src/slic3r/plugin/PythonPluginBridge.cpp index a88695005c..6cf747810f 100644 --- a/src/slic3r/plugin/PythonPluginBridge.cpp +++ b/src/slic3r/plugin/PythonPluginBridge.cpp @@ -3,15 +3,19 @@ #include #include #include +#include "libslic3r/LifecycleEvents.hpp" #include #include #include +#include "slic3r/plugin/PythonPluginInterface.hpp" #include #include #include #include #include +#include +#include #include "PythonInterpreter.hpp" #include "PluginFsUtils.hpp" @@ -23,6 +27,8 @@ #include "pluginTypes/pages/PagesPluginCapability.hpp" #include "pluginTypes/script/ScriptPluginCapability.hpp" #include "pluginTypes/slicingPipeline/SlicingPipelinePluginCapability.hpp" +#include +#include namespace py = pybind11; diff --git a/src/slic3r/plugin/host/PluginHost.cpp b/src/slic3r/plugin/host/PluginHost.cpp index 2830d6f276..ae56bc575c 100644 --- a/src/slic3r/plugin/host/PluginHost.cpp +++ b/src/slic3r/plugin/host/PluginHost.cpp @@ -1,10 +1,12 @@ #include "PluginHost.hpp" #include "PluginHostBindings.hpp" #include "PluginHostUi.hpp" +#include #include #include #include +#include namespace Slic3r { diff --git a/src/slic3r/plugin/host/PluginHostApp.cpp b/src/slic3r/plugin/host/PluginHostApp.cpp index 75acd4cc7b..668e99c7ff 100644 --- a/src/slic3r/plugin/host/PluginHostApp.cpp +++ b/src/slic3r/plugin/host/PluginHostApp.cpp @@ -1,4 +1,5 @@ #include "PluginHostBindings.hpp" +#include #include #include @@ -8,6 +9,8 @@ #include #include +#include +#include namespace py = pybind11; diff --git a/src/slic3r/plugin/host/PluginHostGeometry.cpp b/src/slic3r/plugin/host/PluginHostGeometry.cpp index 646dffb5d4..14db01cc4c 100644 --- a/src/slic3r/plugin/host/PluginHostGeometry.cpp +++ b/src/slic3r/plugin/host/PluginHostGeometry.cpp @@ -1,10 +1,18 @@ #include "PluginHostBindings.hpp" +#include +#include +#include +#include #include "slic3r/plugin/PluginBindingUtils.hpp" +#include #include #include // offset/offset_ex/union_ex/diff_ex/intersection_ex #include +#include "libslic3r/Polygon.hpp" +#include "libslic3r/libslic3r.h" +#include "libslic3r/Point.hpp" #include #include diff --git a/src/slic3r/plugin/host/PluginHostMesh.cpp b/src/slic3r/plugin/host/PluginHostMesh.cpp index 28da5c3afc..8799278bd5 100644 --- a/src/slic3r/plugin/host/PluginHostMesh.cpp +++ b/src/slic3r/plugin/host/PluginHostMesh.cpp @@ -1,11 +1,18 @@ #include "PluginHostBindings.hpp" #include "PluginHostMesh.hpp" +#include +#include +#include #include "slic3r/plugin/PluginBindingUtils.hpp" +#include "libslic3r/TriangleMesh.hpp" +#include "libslic3r/Point.hpp" +#include #include #include #include +#include #include namespace py = pybind11; diff --git a/src/slic3r/plugin/host/PluginHostModel.cpp b/src/slic3r/plugin/host/PluginHostModel.cpp index 3da1c2ae6f..357e37808d 100644 --- a/src/slic3r/plugin/host/PluginHostModel.cpp +++ b/src/slic3r/plugin/host/PluginHostModel.cpp @@ -1,7 +1,11 @@ #include "PluginHostBindings.hpp" #include "PluginHostMesh.hpp" +#include +#include +#include #include "slic3r/plugin/PluginBindingUtils.hpp" +#include #include #include diff --git a/src/slic3r/plugin/host/PluginHostPresets.cpp b/src/slic3r/plugin/host/PluginHostPresets.cpp index fffe9e64cf..6e10e3f282 100644 --- a/src/slic3r/plugin/host/PluginHostPresets.cpp +++ b/src/slic3r/plugin/host/PluginHostPresets.cpp @@ -1,9 +1,14 @@ #include "PluginHostBindings.hpp" +#include +#include +#include #include "slic3r/plugin/PluginBindingUtils.hpp" +#include #include #include +#include #include #include diff --git a/src/slic3r/plugin/host/PluginHostSlicing.cpp b/src/slic3r/plugin/host/PluginHostSlicing.cpp index 30e7b45138..fb2c02eaac 100644 --- a/src/slic3r/plugin/host/PluginHostSlicing.cpp +++ b/src/slic3r/plugin/host/PluginHostSlicing.cpp @@ -1,4 +1,7 @@ #include "PluginHostBindings.hpp" +#include +#include +#include #include "slic3r/plugin/PluginBindingUtils.hpp" #include "libslic3r/BoundingBox.hpp" @@ -10,8 +13,12 @@ #include "libslic3r/Layer.hpp" // LayerRegion, Layer, SupportLayer #include "libslic3r/Print.hpp" // PrintRegion, PrintObject, Print +#include "libslic3r/Point.hpp" +#include "libslic3r/libslic3r.h" +#include "libslic3r/Model.hpp" #include #include +#include #include namespace py = pybind11; diff --git a/src/slic3r/plugin/host/PluginHostUi.cpp b/src/slic3r/plugin/host/PluginHostUi.cpp index ed501f0249..54de1df0d6 100644 --- a/src/slic3r/plugin/host/PluginHostUi.cpp +++ b/src/slic3r/plugin/host/PluginHostUi.cpp @@ -1,9 +1,14 @@ #include "PluginHostUi.hpp" +#include +#include +#include #include "slic3r/plugin/PluginAuditManager.hpp" #include "slic3r/plugin/PythonInterpreter.hpp" // PythonGILState #include "slic3r/plugin/PluginFsUtils.hpp" // json_to_py / py_to_json +#include +#include #include #include #include @@ -18,8 +23,14 @@ #include +#include +#include #include #include +#include +#include +#include +#include #include #include diff --git a/src/slic3r/plugin/host/PluginPages.cpp b/src/slic3r/plugin/host/PluginPages.cpp index eb8b3332b9..36b4cd10b4 100644 --- a/src/slic3r/plugin/host/PluginPages.cpp +++ b/src/slic3r/plugin/host/PluginPages.cpp @@ -1,6 +1,7 @@ #include "PluginPages.hpp" #include "libslic3r/AppConfig.hpp" +#include "slic3r/GUI/GUI.hpp" #include "slic3r/GUI/Notebook.hpp" #include "slic3r/GUI/GUI_App.hpp" #include "slic3r/GUI/Widgets/Button.hpp" @@ -9,16 +10,30 @@ #include +#include #include #include +#include +#include +#include #include +#include "slic3r/plugin/pluginTypes/pages/PagesPluginCapability.hpp" +#include "slic3r/GUI/WebPanel.hpp" +#include +#include "slic3r/plugin/PythonPluginInterface.hpp" #include +#include +#include +#include #include +#include #include #include #include +#include +#include namespace Slic3r { namespace { @@ -169,8 +184,10 @@ void PluginPages::initialize(Notebook* parent) void PluginPages::shutdown() { - while (!m_pages.empty()) - remove_page(m_pages.begin()->first); + // Removing the selected tab selects the tab to its left. In tab order that is a built-in tab, + // never an unbuilt plugin page that is removed next and would be built only to be destroyed. + for (const PluginCapabilityId& id : std::vector(m_order)) + remove_page(id); m_parent = nullptr; } @@ -211,8 +228,7 @@ bool PluginPages::create_page(const PluginCapabilityId& id) BOOST_LOG_TRIVIAL(error) << __FUNCTION__ << " Failed to get icon for plugin " << id.plugin_key; } - auto* page = new PluginPage(m_parent, std::move(capability)); - + wxBitmap bitmap; if (!icon.empty()) { try { boost::filesystem::path icon_path(icon); @@ -220,7 +236,7 @@ bool PluginPages::create_page(const PluginCapabilityId& id) if (extension == ".svg" || extension == ".png") icon_path.replace_extension(); - page->set_icon(create_scaled_bitmap(icon_path.string(), m_parent, 20)); + bitmap = create_scaled_bitmap(icon_path.string(), m_parent, 20); } catch (const std::exception& error) { BOOST_LOG_TRIVIAL(error) << __FUNCTION__ << " Failed to load icon for plugin " << id.plugin_key << ": " << error.what(); } catch (...) { @@ -228,7 +244,15 @@ bool PluginPages::create_page(const PluginCapabilityId& id) } } - m_pages.emplace(id, page); + // Built the first time its tab is shown, so a language switch never creates the page's browser + // while the main window is being rebuilt. Never prebuilt: the idle queue cannot drop a page + // that remove_page() destroys. + auto* page = new GUI::LazyPage(m_parent, GUI::into_u8(page_tab_id(id)), -1, + [capability = std::move(capability)](wxWindow* parent) { + return new PluginPage(parent, capability); + }); + + m_pages.emplace(id, Page{page, bitmap}); m_order.push_back(id); return true; } @@ -257,16 +281,10 @@ void PluginPages::on_plugin_register(const std::string& plugin_key) void PluginPages::on_plugin_deregister(const std::string& plugin_key) { - for (auto it = m_pages.begin(); it != m_pages.end();) { - if (it->first.plugin_key != plugin_key) { - ++it; - continue; - } - - const PluginCapabilityId id = it->first; - ++it; - remove_page(id); - } + // In tab order, as in shutdown(). + for (const PluginCapabilityId& id : std::vector(m_order)) + if (id.plugin_key == plugin_key) + remove_page(id); } void PluginPages::remove_page(const PluginCapabilityId& id) @@ -275,8 +293,10 @@ void PluginPages::remove_page(const PluginCapabilityId& id) if (it == m_pages.end()) return; - PluginPage* page = it->second; - page->detach_capability(); + GUI::LazyPage* page = it->second.page; + // Only a built page has installed a message sender on the capability. + if (PluginPage* built = page->get()) + built->detach_capability(); m_pages.erase(it); m_order.erase(std::remove(m_order.begin(), m_order.end(), id), m_order.end()); @@ -334,26 +354,27 @@ void PluginPages::relayout() bool up_to_date = page_count >= tab_ids.size(); for (size_t i = 0; up_to_date && i < tab_ids.size(); ++i) up_to_date = m_parent->GetPageName(page_count - tab_ids.size() + i) == page_tab_id(tab_ids[i]); - for (const auto& [id, page] : m_pages) { + for (const auto& [id, entry] : m_pages) { if (!up_to_date) break; const bool wanted = std::find(tab_ids.begin(), tab_ids.end(), id) != tab_ids.end(); - up_to_date = (m_parent->FindPage(page) != wxNOT_FOUND) == wanted; + up_to_date = entry.page->in_book() == wanted; } if (!up_to_date) { const wxString id_to_reselect = m_parent->GetSelectedPageName(); - for (const auto& [id, page] : m_pages) { - const int idx = m_parent->FindPage(page); + // In tab order, as in shutdown(). + for (const auto& id : m_order) { + const int idx = m_parent->FindPage(m_pages.at(id).page); if (idx != wxNOT_FOUND) m_parent->RemovePage(idx); } for (const auto& id : tab_ids) { - PluginPage* page = m_pages.at(id); - m_parent->InsertPage(m_parent->GetPageCount(), page_tab_id(id), page, wxString::FromUTF8(id.name), "", - false, page->icon()); + const Page& entry = m_pages.at(id); + m_parent->InsertPage(m_parent->GetPageCount(), page_tab_id(id), entry.page, wxString::FromUTF8(id.name), "", + false, entry.icon); } if (!id_to_reselect.empty()) diff --git a/src/slic3r/plugin/host/PluginPages.hpp b/src/slic3r/plugin/host/PluginPages.hpp index 59d34fe9ff..90d8c28a03 100644 --- a/src/slic3r/plugin/host/PluginPages.hpp +++ b/src/slic3r/plugin/host/PluginPages.hpp @@ -1,5 +1,6 @@ #pragma once +#include #include #include #include @@ -12,6 +13,7 @@ #include #include +#include #include class Notebook; @@ -28,8 +30,6 @@ public: void detach_capability(); void push_message(const std::string& message); - void set_icon(const wxBitmap& icon) { m_icon = icon; } - const wxBitmap& icon() const { return m_icon; } protected: std::optional page_html() override; @@ -40,7 +40,6 @@ private: std::shared_ptr m_cap; std::shared_ptr> m_lifetime; - wxBitmap m_icon; }; class PluginPages @@ -72,7 +71,13 @@ private: void show_overflow_menu(); static wxString page_tab_id(const PluginCapabilityId& id); - std::map m_pages; + struct Page + { + GUI::LazyPage* page{nullptr}; + wxBitmap icon; + }; + + std::map m_pages; std::vector m_order; Notebook* m_parent{nullptr}; diff --git a/src/slic3r/plugin/pluginTypes/pages/PagesPluginCapability.cpp b/src/slic3r/plugin/pluginTypes/pages/PagesPluginCapability.cpp index e009f4426f..e6ab45246b 100644 --- a/src/slic3r/plugin/pluginTypes/pages/PagesPluginCapability.cpp +++ b/src/slic3r/plugin/pluginTypes/pages/PagesPluginCapability.cpp @@ -2,10 +2,17 @@ #include "PagesPluginCapabilityTrampoline.hpp" #include "../../PluginFsUtils.hpp" +#include +#include #include +#include +#include +#include #include +#include "slic3r/plugin/PythonPluginInterface.hpp" +#include #include namespace py = pybind11; diff --git a/src/slic3r/plugin/pluginTypes/pages/PagesPluginCapabilityTrampoline.hpp b/src/slic3r/plugin/pluginTypes/pages/PagesPluginCapabilityTrampoline.hpp index f6e13c981b..24b98bea24 100644 --- a/src/slic3r/plugin/pluginTypes/pages/PagesPluginCapabilityTrampoline.hpp +++ b/src/slic3r/plugin/pluginTypes/pages/PagesPluginCapabilityTrampoline.hpp @@ -3,8 +3,14 @@ #include "PagesPluginCapability.hpp" #include "../../PluginFsUtils.hpp" #include "../../PyPluginTrampoline.hpp" +#include +#include #include +#include +#include "slic3r/plugin/PythonPluginInterface.hpp" +#include "slic3r/plugin/PythonInterpreter.hpp" +#include namespace Slic3r { diff --git a/src/slic3r/plugin/pluginTypes/printerAgent/PrinterAgentPluginCapability.cpp b/src/slic3r/plugin/pluginTypes/printerAgent/PrinterAgentPluginCapability.cpp index d0c88404fe..eac19199bf 100644 --- a/src/slic3r/plugin/pluginTypes/printerAgent/PrinterAgentPluginCapability.cpp +++ b/src/slic3r/plugin/pluginTypes/printerAgent/PrinterAgentPluginCapability.cpp @@ -2,11 +2,16 @@ #include "PrinterAgentPluginCapabilityTrampoline.hpp" #include "IPrinterAgent.hpp" +#include +#include "slic3r/Utils/bambu_networking.hpp" +#include #include #include #include +#include +#include "slic3r/plugin/PythonPluginInterface.hpp" #include namespace py = pybind11; diff --git a/src/slic3r/plugin/pluginTypes/printerAgent/PrinterAgentPluginCapability.hpp b/src/slic3r/plugin/pluginTypes/printerAgent/PrinterAgentPluginCapability.hpp index d33cee7afe..e106a35f52 100644 --- a/src/slic3r/plugin/pluginTypes/printerAgent/PrinterAgentPluginCapability.hpp +++ b/src/slic3r/plugin/pluginTypes/printerAgent/PrinterAgentPluginCapability.hpp @@ -4,6 +4,8 @@ #include "../../PythonPluginInterface.hpp" #include "IPrinterAgent.hpp" +#include +#include "slic3r/Utils/bambu_networking.hpp" #include #include diff --git a/src/slic3r/plugin/pluginTypes/printerAgent/PrinterAgentPluginCapabilityTrampoline.hpp b/src/slic3r/plugin/pluginTypes/printerAgent/PrinterAgentPluginCapabilityTrampoline.hpp index 2e15523430..790f6e3ac6 100644 --- a/src/slic3r/plugin/pluginTypes/printerAgent/PrinterAgentPluginCapabilityTrampoline.hpp +++ b/src/slic3r/plugin/pluginTypes/printerAgent/PrinterAgentPluginCapabilityTrampoline.hpp @@ -5,9 +5,16 @@ #include "../../PyPluginTrampoline.hpp" #include "IPrinterAgent.hpp" +#include "slic3r/Utils/bambu_networking.hpp" #include "pybind11/pybind11.h" +#include +#include +#include +#include #include +#include "slic3r/plugin/PythonInterpreter.hpp" #include +#include #include #include diff --git a/src/slic3r/plugin/pluginTypes/script/ScriptPluginCapability.cpp b/src/slic3r/plugin/pluginTypes/script/ScriptPluginCapability.cpp index 712ba9b653..f9ff379cf8 100644 --- a/src/slic3r/plugin/pluginTypes/script/ScriptPluginCapability.cpp +++ b/src/slic3r/plugin/pluginTypes/script/ScriptPluginCapability.cpp @@ -3,8 +3,10 @@ #include "ScriptPluginCapabilityTrampoline.hpp" #include +#include #include #include +#include "slic3r/plugin/PythonPluginInterface.hpp" namespace py = pybind11; diff --git a/src/slic3r/plugin/pluginTypes/script/ScriptPluginCapability.hpp b/src/slic3r/plugin/pluginTypes/script/ScriptPluginCapability.hpp index fb1319e560..59055d7c8f 100644 --- a/src/slic3r/plugin/pluginTypes/script/ScriptPluginCapability.hpp +++ b/src/slic3r/plugin/pluginTypes/script/ScriptPluginCapability.hpp @@ -2,6 +2,7 @@ #define slic3r_ScriptPluginCapability_hpp_ #include "../../PythonPluginInterface.hpp" +#include namespace Slic3r { class ScriptPluginCapability : public PluginCapabilityInterface diff --git a/src/slic3r/plugin/pluginTypes/script/ScriptPluginCapabilityTrampoline.hpp b/src/slic3r/plugin/pluginTypes/script/ScriptPluginCapabilityTrampoline.hpp index 62958a89d9..dc90001c57 100644 --- a/src/slic3r/plugin/pluginTypes/script/ScriptPluginCapabilityTrampoline.hpp +++ b/src/slic3r/plugin/pluginTypes/script/ScriptPluginCapabilityTrampoline.hpp @@ -3,6 +3,8 @@ #include "ScriptPluginCapability.hpp" #include "../../PyPluginTrampoline.hpp" +#include "slic3r/plugin/PythonPluginInterface.hpp" +#include namespace Slic3r { class PyScriptPluginCapabilityTrampoline : public PyPluginCommonTrampoline diff --git a/src/slic3r/plugin/pluginTypes/slicingPipeline/SlicingPipelinePluginCapability.cpp b/src/slic3r/plugin/pluginTypes/slicingPipeline/SlicingPipelinePluginCapability.cpp index d2e630242d..ed2a6aeecf 100644 --- a/src/slic3r/plugin/pluginTypes/slicingPipeline/SlicingPipelinePluginCapability.cpp +++ b/src/slic3r/plugin/pluginTypes/slicingPipeline/SlicingPipelinePluginCapability.cpp @@ -1,7 +1,14 @@ #include "SlicingPipelinePluginCapability.hpp" #include "SlicingPipelinePluginCapabilityTrampoline.hpp" +#include +#include +#include #include "slic3r/plugin/PluginBindingUtils.hpp" // config_value_or_none #include "libslic3r/libslic3r.h" // unscale<>, live SCALING_FACTOR +#include "libslic3r/Print.hpp" +#include +#include "slic3r/plugin/PythonPluginInterface.hpp" +#include namespace py = pybind11; namespace Slic3r { diff --git a/src/slic3r/plugin/pluginTypes/slicingPipeline/SlicingPipelinePluginCapability.hpp b/src/slic3r/plugin/pluginTypes/slicingPipeline/SlicingPipelinePluginCapability.hpp index da0dbcbcbd..6bad90817f 100644 --- a/src/slic3r/plugin/pluginTypes/slicingPipeline/SlicingPipelinePluginCapability.hpp +++ b/src/slic3r/plugin/pluginTypes/slicingPipeline/SlicingPipelinePluginCapability.hpp @@ -1,6 +1,7 @@ #pragma once #include "slic3r/plugin/PythonPluginInterface.hpp" #include "libslic3r/Print.hpp" // SlicingPipelineStepPlugin, Print, PrintObject +#include "libslic3r/PrintConfig.hpp" #include #include #include diff --git a/src/slic3r/plugin/pluginTypes/slicingPipeline/SlicingPipelinePluginCapabilityTrampoline.hpp b/src/slic3r/plugin/pluginTypes/slicingPipeline/SlicingPipelinePluginCapabilityTrampoline.hpp index 5c9d527e42..82312c4200 100644 --- a/src/slic3r/plugin/pluginTypes/slicingPipeline/SlicingPipelinePluginCapabilityTrampoline.hpp +++ b/src/slic3r/plugin/pluginTypes/slicingPipeline/SlicingPipelinePluginCapabilityTrampoline.hpp @@ -1,8 +1,10 @@ #pragma once #include "SlicingPipelinePluginCapability.hpp" +#include #include "slic3r/plugin/PyPluginTrampoline.hpp" #include "slic3r/plugin/PluginAuditManager.hpp" #include +#include "slic3r/plugin/PythonPluginInterface.hpp" namespace Slic3r { class PySlicingPipelinePluginCapabilityTrampoline : public PyPluginCommonTrampoline { diff --git a/tests/fff_print/test_cooling.cpp b/tests/fff_print/test_cooling.cpp index a21ff236ce..4ae9649197 100644 --- a/tests/fff_print/test_cooling.cpp +++ b/tests/fff_print/test_cooling.cpp @@ -1,10 +1,16 @@ #include +#include #include "test_helpers.hpp" #include +#include "libslic3r/PrintConfig.hpp" +#include "libslic3r/Config.hpp" +#include "libslic3r/TriangleMesh.hpp" +#include "libslic3r/libslic3r.h" #include #include +#include #include using namespace Slic3r; diff --git a/tests/fff_print/test_extrusion_entity.cpp b/tests/fff_print/test_extrusion_entity.cpp index 57bc7e81e6..5b18b3ece5 100644 --- a/tests/fff_print/test_extrusion_entity.cpp +++ b/tests/fff_print/test_extrusion_entity.cpp @@ -1,7 +1,12 @@ +#include #include #include +#include +#include +#include +#include #include "libslic3r/ExtrusionEntityCollection.hpp" #include "libslic3r/ExtrusionEntity.hpp" #include "libslic3r/Point.hpp" diff --git a/tests/fff_print/test_extrusion_processor.cpp b/tests/fff_print/test_extrusion_processor.cpp index 47f9a62ecf..a3499a71b5 100644 --- a/tests/fff_print/test_extrusion_processor.cpp +++ b/tests/fff_print/test_extrusion_processor.cpp @@ -1,5 +1,11 @@ #include +#include +#include +#include +#include +#include +#include #include "libslic3r/AABBTreeLines.hpp" #include "libslic3r/GCode/ExtrusionProcessor.hpp" #include "libslic3r/GCodeReader.hpp" @@ -9,7 +15,15 @@ #include #include +#include +#include "libslic3r/Line.hpp" +#include "libslic3r/Point.hpp" +#include +#include "libslic3r/PrintConfig.hpp" +#include "libslic3r/Print.hpp" +#include "libslic3r/Model.hpp" #include +#include #include using namespace Slic3r; diff --git a/tests/fff_print/test_fill.cpp b/tests/fff_print/test_fill.cpp index 0efaba023d..7247503824 100644 --- a/tests/fff_print/test_fill.cpp +++ b/tests/fff_print/test_fill.cpp @@ -2,13 +2,35 @@ #include #include +#include +#include #include +#include "libslic3r/Fill/FillBase.hpp" +#include "libslic3r/Polyline.hpp" +#include "libslic3r/Surface.hpp" +#include "libslic3r/Point.hpp" +#include +#include "libslic3r/Polygon.hpp" +#include "libslic3r/ExtrusionEntity.hpp" +#include "libslic3r/Line.hpp" +#include "libslic3r/ExPolygon.hpp" +#include "libslic3r/TriangleMesh.hpp" +#include +#include "libslic3r/Model.hpp" #include +#include +#include #include #include #include +#include #include +#include +#include +#include +#include +#include #include "libslic3r/ClipperUtils.hpp" #include "libslic3r/AABBTreeLines.hpp" #include "libslic3r/Fill/Fill.hpp" diff --git a/tests/fff_print/test_flow.cpp b/tests/fff_print/test_flow.cpp index 6025bb9b56..f0579c675f 100644 --- a/tests/fff_print/test_flow.cpp +++ b/tests/fff_print/test_flow.cpp @@ -1,8 +1,11 @@ #include +#include #include #include +#include +#include #include "test_helpers.hpp" // get access to init_print, etc #include "libslic3r/Config.hpp" diff --git a/tests/fff_print/test_gcode_timing.cpp b/tests/fff_print/test_gcode_timing.cpp index 8c08fc4f03..45a71cdd92 100644 --- a/tests/fff_print/test_gcode_timing.cpp +++ b/tests/fff_print/test_gcode_timing.cpp @@ -1,5 +1,9 @@ #include +#include +#include +#include +#include #include "libslic3r/libslic3r.h" #include "libslic3r/GCode/GCodeProcessor.hpp" #include "libslic3r/MultiNozzleUtils.hpp" @@ -8,9 +12,13 @@ #include "test_utils.hpp" #include +#include #include #include +#include "libslic3r/ExtrusionEntity.hpp" +#include #include +#include #include #include #include diff --git a/tests/fff_print/test_gcodeprocessor.cpp b/tests/fff_print/test_gcodeprocessor.cpp index 402a4757e1..6914ec4df9 100644 --- a/tests/fff_print/test_gcodeprocessor.cpp +++ b/tests/fff_print/test_gcodeprocessor.cpp @@ -1,5 +1,7 @@ #include +#include +#include #include "libslic3r/libslic3r.h" #include "libslic3r/GCode/GCodeProcessor.hpp" diff --git a/tests/fff_print/test_gcodewriter.cpp b/tests/fff_print/test_gcodewriter.cpp index f371fcb7f4..992204d716 100644 --- a/tests/fff_print/test_gcodewriter.cpp +++ b/tests/fff_print/test_gcodewriter.cpp @@ -1,21 +1,38 @@ +#include #include #include #include +#include "libslic3r/PrintConfig.hpp" +#include "libslic3r/BoundingBox.hpp" +#include "libslic3r/Point.hpp" +#include "libslic3r/Config.hpp" +#include "libslic3r/Extruder.hpp" +#include "libslic3r/libslic3r.h" #include #include +#include #include #include +#include #include +#include +#include +#include +#include +#include +#include #include "nlohmann/json.hpp" +#include "libslic3r/GCodeReader.hpp" #include "libslic3r/GCodeWriter.hpp" #include "libslic3r/GCode.hpp" #include "libslic3r/Model.hpp" #include "libslic3r/Print.hpp" #include "libslic3r/ModelArrange.hpp" +#include #include #include "test_helpers.hpp" @@ -97,6 +114,22 @@ SCENARIO("Origin manipulation", "[GCodeWriter]") { } } +TEST_CASE("A cached config slot is looked up again whenever its key changes", "[GCodeWriter]") +{ + GCode::ConfigIndexCache cache; + int lookups = 0; + auto slot = [&](int filament, size_t layer, size_t generation) { + return cache.get(filament, layer, generation, [&] { ++lookups; return filament * 100 + int(layer) * 10 + int(generation); }); + }; + REQUIRE(slot(1, 2, 3) == 123); + REQUIRE(slot(1, 2, 3) == 123); + REQUIRE(lookups == 1); + REQUIRE(slot(4, 2, 3) == 423); + REQUIRE(slot(4, 5, 3) == 453); + REQUIRE(slot(4, 5, 6) == 456); + REQUIRE(lookups == 4); +} + // Verify that emit_machine_limits_to_gcode emits the correct max value across // used extruders (regression for commit b4ee665: "Emit max value of machine // limit among used extruders"). @@ -872,3 +905,46 @@ TEST_CASE("Custom G-code motion limits are restored before generated moves", "[G REQUIRE(gcode.find("M204 S6000 ; adjust acceleration", custom_gcode_pos) != std::string::npos); REQUIRE(gcode.find("M205 X8 Y8 ; adjust jerk", custom_gcode_pos) != std::string::npos); } + +TEST_CASE("Percent accelerations resolve against the option they are a percentage of", "[GCodeWriter]") +{ + DynamicPrintConfig config = DynamicPrintConfig::full_print_config(); + config.set_deserialize_strict({ + { "gcode_flavor", "marlin" }, + { "machine_max_acceleration_extruding", "20000,20000" }, + { "default_acceleration", "4000" }, + { "initial_layer_acceleration", "0" }, + { "outer_wall_acceleration", "3000" }, + { "bridge_acceleration", "50%" }, + { "sparse_infill_acceleration", "25%" }, + { "internal_solid_infill_acceleration", "60%" }, + { "sparse_infill_density", "20%" }, + }); + // get_abs_value_at() resolves each percentage through the ratio_over in the config definitions. + const std::map expected = { + { "Bridge", int(config.get_abs_value_at("bridge_acceleration", 0)) }, + { "Sparse infill", int(config.get_abs_value_at("sparse_infill_acceleration", 0)) }, + { "Internal solid infill", int(config.get_abs_value_at("internal_solid_infill_acceleration", 0)) }, + }; + REQUIRE(expected.at("Bridge") == 1500); + REQUIRE(expected.at("Sparse infill") == 1000); + REQUIRE(expected.at("Internal solid infill") == 2400); + + std::map> accelerations_by_role; + std::string role; + int acceleration = 0; + GCodeReader reader; + reader.parse_buffer(Slic3r::Test::slice({ TestMesh::bridge }, config), [&](GCodeReader &self, const GCodeReader::GCodeLine &line) { + float value; + if (boost::starts_with(line.raw(), ";TYPE:")) + role = line.raw().substr(6); + else if (line.cmd_is("M204") && line.has_value('S', value)) + acceleration = int(value); + else if (line.extruding(self) && line.dist_XY(self) > 0) + accelerations_by_role[role].insert(acceleration); + }); + for (const auto &[role_name, value] : expected) { + INFO(role_name); + REQUIRE(accelerations_by_role[role_name] == std::set{ value }); + } +} diff --git a/tests/fff_print/test_helpers.cpp b/tests/fff_print/test_helpers.cpp index 89f9f9fdd1..c131b10f83 100644 --- a/tests/fff_print/test_helpers.cpp +++ b/tests/fff_print/test_helpers.cpp @@ -1,5 +1,6 @@ #include "test_helpers.hpp" +#include #include "libslic3r/TriangleMesh.hpp" #include "libslic3r/GCodeReader.hpp" #include "libslic3r/Config.hpp" @@ -7,11 +8,23 @@ #include "libslic3r/Format/OBJ.hpp" #include "libslic3r/Format/STL.hpp" +#include #include +#include "libslic3r/libslic3r.h" +#include "libslic3r/Exception.hpp" +#include "libslic3r/PrintConfig.hpp" +#include +#include "libslic3r/Point.hpp" +#include +#include +#include #include #include #include +#include +#include +#include #include "test_utils.hpp" diff --git a/tests/fff_print/test_helpers.hpp b/tests/fff_print/test_helpers.hpp index cbdc90c3d9..1ffc08c64e 100644 --- a/tests/fff_print/test_helpers.hpp +++ b/tests/fff_print/test_helpers.hpp @@ -8,6 +8,10 @@ #include "libslic3r/Print.hpp" #include "libslic3r/TriangleMesh.hpp" +#include "libslic3r/libslic3r.h" +#include +#include "libslic3r/PrintConfig.hpp" +#include #include #include #include diff --git a/tests/fff_print/test_mixed_filament.cpp b/tests/fff_print/test_mixed_filament.cpp index 25b426c210..bfa8985fd4 100644 --- a/tests/fff_print/test_mixed_filament.cpp +++ b/tests/fff_print/test_mixed_filament.cpp @@ -1,5 +1,16 @@ +#include #include +#include "libslic3r/PrintConfig.hpp" +#include +#include +#include "libslic3r/Model.hpp" +#include +#include "libslic3r/Config.hpp" +#include "libslic3r/TriangleMesh.hpp" +#include "libslic3r/PrintBase.hpp" +#include +#include #include "libslic3r/GCode/ToolOrdering.hpp" #include "libslic3r/MultiNozzleUtils.hpp" #include "libslic3r/Print.hpp" diff --git a/tests/fff_print/test_model.cpp b/tests/fff_print/test_model.cpp index 27bf539373..9e2c0790b3 100644 --- a/tests/fff_print/test_model.cpp +++ b/tests/fff_print/test_model.cpp @@ -1,10 +1,17 @@ +#include #include +#include #include "libslic3r/libslic3r.h" #include "libslic3r/Model.hpp" #include "libslic3r/ModelArrange.hpp" #include +#include "libslic3r/TriangleMesh.hpp" +#include "libslic3r/PrintConfig.hpp" +#include +#include "libslic3r/Point.hpp" +#include #include "test_helpers.hpp" #include "test_utils.hpp" diff --git a/tests/fff_print/test_multifilament.cpp b/tests/fff_print/test_multifilament.cpp index 445b1c0694..9b9cae23db 100644 --- a/tests/fff_print/test_multifilament.cpp +++ b/tests/fff_print/test_multifilament.cpp @@ -1,5 +1,8 @@ #include +#include +#include +#include #include "libslic3r/GCode/GCodeProcessor.hpp" #include "libslic3r/GCodeReader.hpp" @@ -12,6 +15,11 @@ #include #include #include +#include "libslic3r/PrintConfig.hpp" +#include "libslic3r/Config.hpp" +#include "libslic3r/Model.hpp" +#include "libslic3r/TriangleMesh.hpp" +#include "libslic3r/Print.hpp" #include #include #include diff --git a/tests/fff_print/test_perimeters.cpp b/tests/fff_print/test_perimeters.cpp index 459ba0a178..6ab3473e3c 100644 --- a/tests/fff_print/test_perimeters.cpp +++ b/tests/fff_print/test_perimeters.cpp @@ -1,5 +1,10 @@ #include +#include +#include +#include +#include +#include #include "libslic3r/ExtrusionEntity.hpp" #include "libslic3r/ExtrusionEntityCollection.hpp" #include "libslic3r/Layer.hpp" @@ -10,8 +15,15 @@ #include #include +#include "libslic3r/PrintConfig.hpp" +#include +#include "libslic3r/libslic3r.h" +#include "libslic3r/BoundingBox.hpp" +#include "libslic3r/ExPolygon.hpp" +#include "libslic3r/Point.hpp" #include #include +#include #include #include "test_helpers.hpp" diff --git a/tests/fff_print/test_precise_seam.cpp b/tests/fff_print/test_precise_seam.cpp index d324a91626..0dd422f0f5 100644 --- a/tests/fff_print/test_precise_seam.cpp +++ b/tests/fff_print/test_precise_seam.cpp @@ -1,9 +1,24 @@ #include +#include +#include +#include +#include +#include #include "test_helpers.hpp" #include "libslic3r/GCode/PreciseSeam.hpp" #include +#include "libslic3r/Point.hpp" +#include "libslic3r/Polygon.hpp" +#include "libslic3r/Model.hpp" +#include "libslic3r/Print.hpp" +#include "libslic3r/Layer.hpp" +#include +#include +#include "libslic3r/libslic3r.h" +#include "libslic3r/GCode/SeamPlacer.hpp" +#include using namespace Slic3r; diff --git a/tests/fff_print/test_print.cpp b/tests/fff_print/test_print.cpp index 4176256021..9417934276 100644 --- a/tests/fff_print/test_print.cpp +++ b/tests/fff_print/test_print.cpp @@ -8,6 +8,20 @@ #include #endif +#include +#include +#include +#include +#include +#include "libslic3r/PrintConfig.hpp" +#include +#include "libslic3r/Surface.hpp" +#include "libslic3r/Config.hpp" +#include "libslic3r/PrintBase.hpp" +#include "libslic3r/TriangleMesh.hpp" +#include +#include + #include #include "libslic3r/libslic3r.h" diff --git a/tests/fff_print/test_printobject.cpp b/tests/fff_print/test_printobject.cpp index a373a1ad39..6671dabc4b 100644 --- a/tests/fff_print/test_printobject.cpp +++ b/tests/fff_print/test_printobject.cpp @@ -1,5 +1,11 @@ +#include #include +#include +#include +#include +#include +#include #include "libslic3r/libslic3r.h" #include "libslic3r/Print.hpp" #include "libslic3r/Layer.hpp" @@ -10,7 +16,20 @@ #include "test_helpers.hpp" #include +#include #include +#include "libslic3r/TriangleMesh.hpp" +#include "libslic3r/PrintConfig.hpp" +#include "libslic3r/Model.hpp" +#include "libslic3r/Geometry.hpp" +#include "libslic3r/Surface.hpp" +#include "libslic3r/Config.hpp" +#include "libslic3r/Polygon.hpp" +#include "libslic3r/Point.hpp" +#include "libslic3r/Polyline.hpp" +#include "libslic3r/Line.hpp" +#include "libslic3r/ExtrusionEntity.hpp" +#include "libslic3r/BoundingBox.hpp" #include #include #include diff --git a/tests/fff_print/test_seam_placer.cpp b/tests/fff_print/test_seam_placer.cpp index 81b7cd806c..40bbbdd117 100644 --- a/tests/fff_print/test_seam_placer.cpp +++ b/tests/fff_print/test_seam_placer.cpp @@ -1,5 +1,10 @@ #include +#include +#include +#include +#include +#include #include "test_helpers.hpp" #include "libslic3r/GCode/SeamPlacer.hpp" #include "libslic3r/Layer.hpp" @@ -7,6 +12,16 @@ #include #include +#include "libslic3r/Model.hpp" +#include "libslic3r/PrintConfig.hpp" +#include "libslic3r/TriangleMesh.hpp" +#include +#include +#include "libslic3r/Point.hpp" +#include +#include "libslic3r/ExtrusionEntity.hpp" +#include "libslic3r/Polyline.hpp" +#include "libslic3r/libslic3r.h" using namespace Slic3r; diff --git a/tests/fff_print/test_skirt_brim.cpp b/tests/fff_print/test_skirt_brim.cpp index 17a79a7828..d04b32361e 100644 --- a/tests/fff_print/test_skirt_brim.cpp +++ b/tests/fff_print/test_skirt_brim.cpp @@ -1,5 +1,11 @@ +#include #include +#include +#include +#include +#include +#include #include "libslic3r/GCodeReader.hpp" #include "libslic3r/Config.hpp" #include "libslic3r/Geometry.hpp" @@ -9,6 +15,16 @@ #include #include +#include +#include "libslic3r/Polygon.hpp" +#include "libslic3r/Point.hpp" +#include "libslic3r/Polyline.hpp" +#include +#include "libslic3r/Model.hpp" +#include +#include "libslic3r/PrintConfig.hpp" +#include "libslic3r/libslic3r.h" +#include #include "test_helpers.hpp" // get access to init_print, etc diff --git a/tests/fff_print/test_slicing_pipeline_hook.cpp b/tests/fff_print/test_slicing_pipeline_hook.cpp index d7ebd1fd60..8b328e5dde 100644 --- a/tests/fff_print/test_slicing_pipeline_hook.cpp +++ b/tests/fff_print/test_slicing_pipeline_hook.cpp @@ -1,4 +1,14 @@ #include +#include "libslic3r/Config.hpp" +#include "libslic3r/Model.hpp" +#include +#include +#include "libslic3r/Surface.hpp" +#include +#include "libslic3r/libslic3r.h" +#include "libslic3r/Point.hpp" +#include +#include "libslic3r/ExtrusionEntity.hpp" #include "libslic3r/PrintConfig.hpp" #include "test_helpers.hpp" using namespace Slic3r; diff --git a/tests/fff_print/test_support_material.cpp b/tests/fff_print/test_support_material.cpp index 97a9cea9e1..d311130094 100644 --- a/tests/fff_print/test_support_material.cpp +++ b/tests/fff_print/test_support_material.cpp @@ -1,12 +1,28 @@ +#include #include +#include +#include +#include +#include +#include #include "libslic3r/GCodeReader.hpp" #include "libslic3r/Layer.hpp" #include +#include +#include "libslic3r/TriangleMesh.hpp" +#include "libslic3r/PrintBase.hpp" +#include "libslic3r/Model.hpp" +#include "libslic3r/libslic3r.h" +#include "libslic3r/PrintConfig.hpp" #include +#include #include #include +#include +#include +#include #include #include "test_helpers.hpp" // get access to init_print, etc diff --git a/tests/fff_print/test_texture_displacement.cpp b/tests/fff_print/test_texture_displacement.cpp index 459a42d185..87047af618 100644 --- a/tests/fff_print/test_texture_displacement.cpp +++ b/tests/fff_print/test_texture_displacement.cpp @@ -1,10 +1,22 @@ +#include +#include #include +#include +#include #include +#include #include #include +#include +#include +#include +#include +#include "libslic3r/PrintConfig.hpp" +#include +#include #include "libslic3r/Model.hpp" #include "libslic3r/PNGReadWrite.hpp" #include "libslic3r/Print.hpp" diff --git a/tests/fff_print/test_tree_support.cpp b/tests/fff_print/test_tree_support.cpp index fbb40bb8f3..677cf4359f 100644 --- a/tests/fff_print/test_tree_support.cpp +++ b/tests/fff_print/test_tree_support.cpp @@ -1,7 +1,15 @@ #include #include +#include +#include "libslic3r/Config.hpp" +#include "libslic3r/PrintConfig.hpp" +#include "libslic3r/Point.hpp" +#include +#include "libslic3r/libslic3r.h" +#include +#include #include "libslic3r/Layer.hpp" #include "libslic3r/TriangleMesh.hpp" diff --git a/tests/fff_print/test_trianglemesh.cpp b/tests/fff_print/test_trianglemesh.cpp index b21f6299fd..722732e207 100644 --- a/tests/fff_print/test_trianglemesh.cpp +++ b/tests/fff_print/test_trianglemesh.cpp @@ -1,5 +1,6 @@ #include +#include #include "libslic3r/TriangleMesh.hpp" #include "libslic3r/TriangleMeshSlicer.hpp" #include "libslic3r/Point.hpp" @@ -8,8 +9,14 @@ #include "libslic3r/libslic3r.h" #include +#include +#include +#include #include #include +#include +#include +#include "libslic3r/ExPolygon.hpp" //#include "test_options.hpp" #include "test_helpers.hpp" diff --git a/tests/fff_print/test_wipe.cpp b/tests/fff_print/test_wipe.cpp index 46ee0d6441..63cd847ccb 100644 --- a/tests/fff_print/test_wipe.cpp +++ b/tests/fff_print/test_wipe.cpp @@ -2,11 +2,27 @@ #include #include +#include "libslic3r/Point.hpp" +#include "libslic3r/libslic3r.h" +#include +#include "libslic3r/TriangleMesh.hpp" +#include "libslic3r/Config.hpp" +#include "libslic3r/ExtrusionEntity.hpp" +#include "libslic3r/Model.hpp" +#include "libslic3r/Print.hpp" +#include "libslic3r/calib.hpp" +#include "libslic3r/ExtrusionEntityCollection.hpp" #include #include #include +#include #include +#include +#include +#include +#include +#include #include "libslic3r/GCode/GCodeProcessor.hpp" #include "libslic3r/GCodeReader.hpp" #include "libslic3r/PrintConfig.hpp" diff --git a/tests/fff_print/test_wipe_tower.cpp b/tests/fff_print/test_wipe_tower.cpp index 014eab6f8b..da3cbe2502 100644 --- a/tests/fff_print/test_wipe_tower.cpp +++ b/tests/fff_print/test_wipe_tower.cpp @@ -1,8 +1,23 @@ +#include #include +#include "libslic3r/Config.hpp" +#include "libslic3r/libslic3r.h" +#include "libslic3r/Point.hpp" +#include "libslic3r/Polygon.hpp" +#include +#include "libslic3r/Model.hpp" +#include "libslic3r/Print.hpp" #include #include +#include +#include +#include +#include +#include +#include +#include #include "libslic3r/BoundingBox.hpp" #include "libslic3r/ClipperUtils.hpp" #include "libslic3r/GCode/GCodeProcessor.hpp" diff --git a/tests/filament_group/fg_test_evaluator.hpp b/tests/filament_group/fg_test_evaluator.hpp index 00a2e1a6f5..ceec7cf154 100644 --- a/tests/filament_group/fg_test_evaluator.hpp +++ b/tests/filament_group/fg_test_evaluator.hpp @@ -2,13 +2,18 @@ #define FG_TEST_EVALUATOR_HPP #include "fg_test_serialization.hpp" +#include #include #include #include #include +#include +#include #include +#include #include +#include namespace Slic3r { namespace FGTest { diff --git a/tests/filament_group/fg_test_serialization.hpp b/tests/filament_group/fg_test_serialization.hpp index 5f59da619c..fa0ab3c9ff 100644 --- a/tests/filament_group/fg_test_serialization.hpp +++ b/tests/filament_group/fg_test_serialization.hpp @@ -1,6 +1,7 @@ #ifndef FG_TEST_SERIALIZATION_HPP #define FG_TEST_SERIALIZATION_HPP +#include #include #include #include @@ -10,6 +11,7 @@ #include #include #include +#include #include #include #include diff --git a/tests/filament_group/fg_test_utils.hpp b/tests/filament_group/fg_test_utils.hpp index 2d2864bf10..b493e44607 100644 --- a/tests/filament_group/fg_test_utils.hpp +++ b/tests/filament_group/fg_test_utils.hpp @@ -2,9 +2,16 @@ #define FG_TEST_UTILS_HPP #include "fg_test_serialization.hpp" +#include "libslic3r/FilamentGroupUtils.hpp" +#include "libslic3r/PrintConfig.hpp" +#include "libslic3r/FilamentGroup.hpp" +#include #include #include #include +#include +#include +#include namespace Slic3r { namespace FGTest { diff --git a/tests/filament_group/filament_group_regression_main.cpp b/tests/filament_group/filament_group_regression_main.cpp index b2cc4bd178..c8933e6b6e 100644 --- a/tests/filament_group/filament_group_regression_main.cpp +++ b/tests/filament_group/filament_group_regression_main.cpp @@ -11,13 +11,19 @@ #include +#include +#include +#include +#include #include "fg_test_serialization.hpp" #include "fg_test_evaluator.hpp" #include "fg_test_utils.hpp" +#include #include #include #include +#include "libslic3r/FilamentGroup.hpp" #include #include #include diff --git a/tests/libnest2d/libnest2d_test_utils.hpp b/tests/libnest2d/libnest2d_test_utils.hpp index 55f184f60c..b9f8510a8a 100644 --- a/tests/libnest2d/libnest2d_test_utils.hpp +++ b/tests/libnest2d/libnest2d_test_utils.hpp @@ -8,7 +8,10 @@ // it here and include this header from every libnest2d test file. #include +#include +#include "libnest2d/common.hpp" +#include "libnest2d/geometry_traits_nfp.hpp" #include #include diff --git a/tests/libnest2d/libnest2d_tests.cpp b/tests/libnest2d/libnest2d_tests.cpp index 1657d45601..f5e3263b89 100644 --- a/tests/libnest2d/libnest2d_tests.cpp +++ b/tests/libnest2d/libnest2d_tests.cpp @@ -1,5 +1,10 @@ #include +#include "libnest2d/libnest2d.hpp" +#include +#include +#include "libnest2d/nester.hpp" +#include #include "libnest2d_test_utils.hpp" using namespace libnest2d; diff --git a/tests/libnest2d/printer_parts.hpp b/tests/libnest2d/printer_parts.hpp index 075e32a837..07a3e9153d 100644 --- a/tests/libnest2d/printer_parts.hpp +++ b/tests/libnest2d/printer_parts.hpp @@ -1,6 +1,7 @@ #ifndef PRINTER_PARTS_H #define PRINTER_PARTS_H +#include "libnest2d/backends/libslic3r/geometries.hpp" #include #include diff --git a/tests/libnest2d/test_geometry.cpp b/tests/libnest2d/test_geometry.cpp index 9c58a299e4..e32c47042a 100644 --- a/tests/libnest2d/test_geometry.cpp +++ b/tests/libnest2d/test_geometry.cpp @@ -1,5 +1,24 @@ +#include +#include +#include #include +#include +#include "libnest2d/libnest2d.hpp" +#include "libnest2d/geometry_traits.hpp" +#include "libnest2d/backends/libslic3r/geometries.hpp" +#include "libnest2d/common.hpp" +#include +#include +#include "libnest2d/placers/nfpplacer.hpp" +#include +#include +#include +#include +#include "libnest2d/utils/rotcalipers.hpp" +#include +#include +#include #include "libnest2d_test_utils.hpp" #include "printer_parts.hpp" diff --git a/tests/libnest2d/test_nfp.cpp b/tests/libnest2d/test_nfp.cpp index 1b5c5d3a1c..fdb43f7bfa 100644 --- a/tests/libnest2d/test_nfp.cpp +++ b/tests/libnest2d/test_nfp.cpp @@ -1,5 +1,17 @@ +#include #include +#include "libnest2d/libnest2d.hpp" +#include +#include "libnest2d/geometry_traits.hpp" +#include "libnest2d/backends/libslic3r/geometries.hpp" +#include "libnest2d/geometry_traits_nfp.hpp" +#include "libnest2d/utils/boost_alg.hpp" +#include "libnest2d/placers/nfpplacer.hpp" +#include +#include +#include +#include #include "libnest2d_test_utils.hpp" using namespace libnest2d; diff --git a/tests/libnest2d/test_nfp_placer.cpp b/tests/libnest2d/test_nfp_placer.cpp index 4446333f5d..02b711ec9d 100644 --- a/tests/libnest2d/test_nfp_placer.cpp +++ b/tests/libnest2d/test_nfp_placer.cpp @@ -1,5 +1,13 @@ #include +#include "libnest2d/libnest2d.hpp" +#include +#include +#include "libnest2d/geometry_traits.hpp" +#include "libnest2d/common.hpp" +#include +#include +#include #include "libnest2d_test_utils.hpp" using namespace libnest2d; diff --git a/tests/libslic3r/libslic3r_tests.cpp b/tests/libslic3r/libslic3r_tests.cpp index a46b69d124..178a869648 100644 --- a/tests/libslic3r/libslic3r_tests.cpp +++ b/tests/libslic3r/libslic3r_tests.cpp @@ -1,5 +1,10 @@ #include +#include +#include "libslic3r/libslic3r.h" +#include +#include +#include #include "libslic3r/Utils.hpp" #define NANOSVG_IMPLEMENTATION #include "nanosvg/nanosvg.h" diff --git a/tests/libslic3r/test_3mf.cpp b/tests/libslic3r/test_3mf.cpp index 846caf5432..a8fd1eb888 100644 --- a/tests/libslic3r/test_3mf.cpp +++ b/tests/libslic3r/test_3mf.cpp @@ -1,4 +1,9 @@ +#include +#include +#include +#include +#include #include "libslic3r/Model.hpp" #include "libslic3r/Format/3mf.hpp" #include "libslic3r/Format/bbs_3mf.hpp" @@ -14,6 +19,15 @@ #include "test_utils.hpp" +#include "libslic3r/Config.hpp" +#include "libslic3r/Geometry.hpp" +#include +#include +#include "libslic3r/TriangleMesh.hpp" +#include "libslic3r/TriangleSelector.hpp" +#include +#include +#include #include #include @@ -25,8 +39,12 @@ #include #include #include +#include +#include #include // for std::enable_if_t #include // for typeid +#include +#include namespace Catch { template diff --git a/tests/libslic3r/test_aabbindirect.cpp b/tests/libslic3r/test_aabbindirect.cpp index 122e4756f1..e97b8d193b 100644 --- a/tests/libslic3r/test_aabbindirect.cpp +++ b/tests/libslic3r/test_aabbindirect.cpp @@ -1,8 +1,13 @@ #include +#include +#include #include "test_utils.hpp" +#include +#include #include #include +#include using namespace Slic3r; diff --git a/tests/libslic3r/test_appconfig.cpp b/tests/libslic3r/test_appconfig.cpp index d3811c9827..3eb35d7490 100644 --- a/tests/libslic3r/test_appconfig.cpp +++ b/tests/libslic3r/test_appconfig.cpp @@ -1,5 +1,6 @@ #include +#include #include "libslic3r/AppConfig.hpp" using namespace Slic3r; diff --git a/tests/libslic3r/test_arachne_walls.cpp b/tests/libslic3r/test_arachne_walls.cpp index 2b6580ed11..be4df5d3b1 100644 --- a/tests/libslic3r/test_arachne_walls.cpp +++ b/tests/libslic3r/test_arachne_walls.cpp @@ -17,6 +17,9 @@ #include +#include +#include +#include #include "libslic3r/Arachne/WallToolPaths.hpp" #include "libslic3r/Arachne/SkeletalTrapezoidation.hpp" #include "libslic3r/Arachne/utils/ExtrusionLine.hpp" @@ -31,6 +34,14 @@ #include #include +#include +#include "libslic3r/libslic3r.h" +#include +#include +#include +#include "libslic3r/Arachne/utils/ExtrusionJunction.hpp" +#include "libslic3r/PerimeterGenerator.hpp" +#include "libslic3r/PrintConfig.hpp" using namespace Slic3r; using namespace Slic3r::Arachne; diff --git a/tests/libslic3r/test_arrange.cpp b/tests/libslic3r/test_arrange.cpp index 3906cba8ba..2f8df3166a 100644 --- a/tests/libslic3r/test_arrange.cpp +++ b/tests/libslic3r/test_arrange.cpp @@ -1,5 +1,19 @@ +#include #include +#include "libslic3r/libslic3r.h" +#include "libslic3r/Polygon.hpp" +#include "libslic3r/Point.hpp" +#include +#include "libslic3r/Config.hpp" +#include +#include +#include +#include +#include +#include +#include +#include #include "libslic3r/Arrange.hpp" #include "libslic3r/BoundingBox.hpp" #include "libslic3r/ClipperUtils.hpp" diff --git a/tests/libslic3r/test_bambu_networking.cpp b/tests/libslic3r/test_bambu_networking.cpp index 5cf55030f8..ec16e96c19 100644 --- a/tests/libslic3r/test_bambu_networking.cpp +++ b/tests/libslic3r/test_bambu_networking.cpp @@ -1,5 +1,6 @@ #include +#include #include "slic3r/Utils/bambu_networking.hpp" using namespace Slic3r; diff --git a/tests/libslic3r/test_buildvolume.cpp b/tests/libslic3r/test_buildvolume.cpp index b2e8040d68..3438f7517f 100644 --- a/tests/libslic3r/test_buildvolume.cpp +++ b/tests/libslic3r/test_buildvolume.cpp @@ -1,5 +1,10 @@ #include +#include +#include "libslic3r/Point.hpp" +#include +#include +#include #include "libslic3r/BuildVolume.hpp" using namespace Slic3r; diff --git a/tests/libslic3r/test_caddocument.cpp b/tests/libslic3r/test_caddocument.cpp index d69ada09b6..afb4acf409 100644 --- a/tests/libslic3r/test_caddocument.cpp +++ b/tests/libslic3r/test_caddocument.cpp @@ -1,4 +1,23 @@ +#include +#include +#include +#include +#include +#include +#include +#include +#include #include // mainline OrcaSlicer ships Catch2 v3 (v2 was catch2/catch.hpp) +#include +#include +#include +#include +#include +#include +#include +#include "libslic3r/TriangleMesh.hpp" +#include +#include // Substring assertions, spelled so this file compiles UNCHANGED on both forks. // Catch2 v2 (Snapmaker) spells it Matchers::Contains; v3 (orca_cad / mainline) spells it diff --git a/tests/libslic3r/test_calib.cpp b/tests/libslic3r/test_calib.cpp index 0092a7dedd..81fa59ff93 100644 --- a/tests/libslic3r/test_calib.cpp +++ b/tests/libslic3r/test_calib.cpp @@ -1,9 +1,13 @@ #include #include +#include "libslic3r/CustomGCode.hpp" #include #include +#include +#include +#include #include "libslic3r/calib.hpp" #include "libslic3r/Model.hpp" #include "libslic3r/TriangleMesh.hpp" diff --git a/tests/libslic3r/test_clipper_offset.cpp b/tests/libslic3r/test_clipper_offset.cpp index ecf14a60c8..7a816a2174 100644 --- a/tests/libslic3r/test_clipper_offset.cpp +++ b/tests/libslic3r/test_clipper_offset.cpp @@ -1,8 +1,15 @@ #include +#include #include #include +#include "libslic3r/libslic3r.h" +#include +#include "libslic3r/Polygon.hpp" +#include +#include +#include #include "libslic3r/ClipperUtils.hpp" #include "libslic3r/ExPolygon.hpp" #include "libslic3r/SVG.hpp" diff --git a/tests/libslic3r/test_clipper_utils.cpp b/tests/libslic3r/test_clipper_utils.cpp index 889258f7e4..a9b6dcaadb 100644 --- a/tests/libslic3r/test_clipper_utils.cpp +++ b/tests/libslic3r/test_clipper_utils.cpp @@ -1,11 +1,18 @@ +#include #include -#include +#include "libslic3r/Polygon.hpp" +#include "libslic3r/Polyline.hpp" +#include +#include "libslic3r/libslic3r.h" #include #include #include #include +#include +#include +#include #include "libslic3r/ClipperUtils.hpp" #include "libslic3r/ExPolygon.hpp" #include "libslic3r/SVG.hpp" diff --git a/tests/libslic3r/test_config.cpp b/tests/libslic3r/test_config.cpp index d7803f300b..bb51735bfe 100644 --- a/tests/libslic3r/test_config.cpp +++ b/tests/libslic3r/test_config.cpp @@ -1,5 +1,10 @@ #include +#include +#include +#include +#include +#include #include "libslic3r/PrintConfig.hpp" #include "libslic3r/PrintConfigConstants.hpp" #include "libslic3r/LocalesUtils.hpp" @@ -13,9 +18,16 @@ #include #include +#include "libslic3r/Config.hpp" +#include +#include +#include #include +#include #include +#include +#include using namespace Slic3r; diff --git a/tests/libslic3r/test_config_variant_expansion.cpp b/tests/libslic3r/test_config_variant_expansion.cpp index f30ad985e3..240a6e25fa 100644 --- a/tests/libslic3r/test_config_variant_expansion.cpp +++ b/tests/libslic3r/test_config_variant_expansion.cpp @@ -1,5 +1,15 @@ #include +#include "libslic3r/Config.hpp" +#include +#include +#include +#include +#include +#include +#include +#include +#include #include "libslic3r/PrintConfig.hpp" #include "libslic3r/Preset.hpp" diff --git a/tests/libslic3r/test_drc.cpp b/tests/libslic3r/test_drc.cpp index 917fd5c714..06a329e4e3 100644 --- a/tests/libslic3r/test_drc.cpp +++ b/tests/libslic3r/test_drc.cpp @@ -1,12 +1,21 @@ #include +#include #include "libslic3r/Format/DRC.hpp" #include "libslic3r/TriangleMesh.hpp" #include +#include +#include +#include +#include #include +#include +#include #include +#include +#include #include "test_utils.hpp" diff --git a/tests/libslic3r/test_elephant_foot_compensation.cpp b/tests/libslic3r/test_elephant_foot_compensation.cpp index ab9700a305..6388dab184 100644 --- a/tests/libslic3r/test_elephant_foot_compensation.cpp +++ b/tests/libslic3r/test_elephant_foot_compensation.cpp @@ -2,7 +2,11 @@ #include #include +#include "libslic3r/Point.hpp" +#include +#include "libslic3r/libslic3r.h" +#include #include "libslic3r/ClipperUtils.hpp" #include "libslic3r/ElephantFootCompensation.hpp" #include "libslic3r/ExPolygon.hpp" diff --git a/tests/libslic3r/test_filament_mixer.cpp b/tests/libslic3r/test_filament_mixer.cpp index ade0c910dc..f43a8e7588 100644 --- a/tests/libslic3r/test_filament_mixer.cpp +++ b/tests/libslic3r/test_filament_mixer.cpp @@ -1,5 +1,13 @@ #include +#include +#include +#include "libslic3r/Config.hpp" +#include +#include +#include +#include +#include #include "libslic3r/FilamentMixer.hpp" #include "libslic3r/PrintConfig.hpp" diff --git a/tests/libslic3r/test_fill_corner_smoothing.cpp b/tests/libslic3r/test_fill_corner_smoothing.cpp index a9e752f250..ebad09e9e5 100644 --- a/tests/libslic3r/test_fill_corner_smoothing.cpp +++ b/tests/libslic3r/test_fill_corner_smoothing.cpp @@ -2,8 +2,12 @@ #include #include +#include "libslic3r/Point.hpp" +#include +#include "libslic3r/Polygon.hpp" #include +#include #include "libslic3r/Fill/FillCornerSmoothing.hpp" #include "libslic3r/Polyline.hpp" #include "libslic3r/libslic3r.h" diff --git a/tests/libslic3r/test_fill_plane_path.cpp b/tests/libslic3r/test_fill_plane_path.cpp index 7fc7f4a6b0..e28d74b4fc 100644 --- a/tests/libslic3r/test_fill_plane_path.cpp +++ b/tests/libslic3r/test_fill_plane_path.cpp @@ -2,9 +2,18 @@ #include #include +#include "libslic3r/Point.hpp" +#include "libslic3r/libslic3r.h" +#include "libslic3r/Fill/FillBase.hpp" +#include +#include +#include "libslic3r/Config.hpp" #include #include +#include +#include +#include #include "libslic3r/Fill/FillPlanePath.hpp" #include "libslic3r/PrintConfig.hpp" diff --git a/tests/libslic3r/test_geometry.cpp b/tests/libslic3r/test_geometry.cpp index b4bbe86cc6..6f12b1113a 100644 --- a/tests/libslic3r/test_geometry.cpp +++ b/tests/libslic3r/test_geometry.cpp @@ -1,5 +1,8 @@ +#include #include +#include +#include #include "libslic3r/Point.hpp" #include "libslic3r/BoundingBox.hpp" #include "libslic3r/Polygon.hpp" @@ -17,7 +20,14 @@ #include "../libnest2d/printer_parts.hpp" +#include "libslic3r/libslic3r.h" +#include +#include +#include +#include +#include #include +#include using namespace Slic3r; diff --git a/tests/libslic3r/test_hollowing.cpp b/tests/libslic3r/test_hollowing.cpp index dc39b47373..6e1baef4cc 100644 --- a/tests/libslic3r/test_hollowing.cpp +++ b/tests/libslic3r/test_hollowing.cpp @@ -1,7 +1,10 @@ #include #include #include +#include "libslic3r/TriangleMesh.hpp" +#include "libslic3r/libslic3r.h" +#include #include "libslic3r/SLA/Hollowing.hpp" #include "test_utils.hpp" diff --git a/tests/libslic3r/test_indexed_triangle_set.cpp b/tests/libslic3r/test_indexed_triangle_set.cpp index 43116936d3..c65bf589a8 100644 --- a/tests/libslic3r/test_indexed_triangle_set.cpp +++ b/tests/libslic3r/test_indexed_triangle_set.cpp @@ -1,8 +1,17 @@ +#include +#include +#include #include #include +#include "libslic3r/Point.hpp" +#include "libslic3r/libslic3r.h" +#include #include #include +#include +#include +#include #include "libslic3r/TriangleMesh.hpp" #include "test_utils.hpp" diff --git a/tests/libslic3r/test_instance_lock.cpp b/tests/libslic3r/test_instance_lock.cpp index 207dd77173..5ee14c665f 100644 --- a/tests/libslic3r/test_instance_lock.cpp +++ b/tests/libslic3r/test_instance_lock.cpp @@ -1,3 +1,4 @@ +#include #include #include @@ -6,6 +7,7 @@ #include +#include #include "libslic3r/InstanceLock.hpp" #include "test_utils.hpp" diff --git a/tests/libslic3r/test_lay_on_face.cpp b/tests/libslic3r/test_lay_on_face.cpp index 60226a9aab..76a197efe7 100644 --- a/tests/libslic3r/test_lay_on_face.cpp +++ b/tests/libslic3r/test_lay_on_face.cpp @@ -1,5 +1,15 @@ #include +#include "libslic3r/Point.hpp" +#include "libslic3r/TriangleMesh.hpp" +#include +#include +#include "libslic3r/libslic3r.h" +#include +#include +#include +#include +#include #include "libslic3r/LayOnFace.hpp" #include "libslic3r/Model.hpp" diff --git a/tests/libslic3r/test_locales_utils.cpp b/tests/libslic3r/test_locales_utils.cpp index 6f1528649d..2bb134af6b 100644 --- a/tests/libslic3r/test_locales_utils.cpp +++ b/tests/libslic3r/test_locales_utils.cpp @@ -1,7 +1,9 @@ #include #include +#include +#include #include "libslic3r/LocalesUtils.hpp" using namespace Slic3r; diff --git a/tests/libslic3r/test_marchingsquares.cpp b/tests/libslic3r/test_marchingsquares.cpp index 9a11f49faa..e9d0f8ebc2 100644 --- a/tests/libslic3r/test_marchingsquares.cpp +++ b/tests/libslic3r/test_marchingsquares.cpp @@ -2,6 +2,28 @@ #define NOMINMAX #endif +#include "libslic3r/Point.hpp" +#include +#include "libslic3r/libslic3r.h" +#include +#include "libslic3r/BoundingBox.hpp" +#include "libslic3r/Polygon.hpp" +#include +#include +#include "libslic3r/SLA/RasterBase.hpp" +#include +#include +#include +#include +#include "libslic3r/ExPolygon.hpp" +#include +#include +#include +#include +#include "libslic3r/TriangleMesh.hpp" +#include +#include + #include #include "test_utils.hpp" diff --git a/tests/libslic3r/test_meshboolean.cpp b/tests/libslic3r/test_meshboolean.cpp index b7208349cc..4c0faa1bb0 100644 --- a/tests/libslic3r/test_meshboolean.cpp +++ b/tests/libslic3r/test_meshboolean.cpp @@ -1,4 +1,6 @@ #include +#include +#include #include "test_utils.hpp" #include diff --git a/tests/libslic3r/test_minimum_spanning_tree.cpp b/tests/libslic3r/test_minimum_spanning_tree.cpp index 5f9998171c..b6685b0d1e 100644 --- a/tests/libslic3r/test_minimum_spanning_tree.cpp +++ b/tests/libslic3r/test_minimum_spanning_tree.cpp @@ -1,7 +1,11 @@ #include #include +#include +#include +#include +#include #include "libslic3r/MinimumSpanningTree.hpp" #include "libslic3r/Point.hpp" diff --git a/tests/libslic3r/test_miniz_extension.cpp b/tests/libslic3r/test_miniz_extension.cpp index ff3274a886..3a10a8eb8e 100644 --- a/tests/libslic3r/test_miniz_extension.cpp +++ b/tests/libslic3r/test_miniz_extension.cpp @@ -1,5 +1,12 @@ +#include +#include +#include +#include #include +#include +#include +#include #include "libslic3r/miniz_extension.hpp" #include "test_utils.hpp" @@ -7,8 +14,11 @@ #include #include +#include #include +#include #include +#include #include #include #include diff --git a/tests/libslic3r/test_model.cpp b/tests/libslic3r/test_model.cpp index 3a580e3be2..24d690ac9e 100644 --- a/tests/libslic3r/test_model.cpp +++ b/tests/libslic3r/test_model.cpp @@ -1,5 +1,10 @@ #include +#include "libslic3r/TriangleMesh.hpp" +#include "libslic3r/Polygon.hpp" +#include "libslic3r/BoundingBox.hpp" +#include "libslic3r/Point.hpp" +#include #include "libslic3r/Model.hpp" using namespace Slic3r; diff --git a/tests/libslic3r/test_multimaterial_segmentation.cpp b/tests/libslic3r/test_multimaterial_segmentation.cpp index 271b9d5660..065a143ce1 100644 --- a/tests/libslic3r/test_multimaterial_segmentation.cpp +++ b/tests/libslic3r/test_multimaterial_segmentation.cpp @@ -3,6 +3,12 @@ // MultiMaterialSegmentation.hpp declares boost::polygon traits for ColoredLine, so its // geometry/boost dependencies must be included first. #include +#include +#include +#include +#include +#include +#include #include "libslic3r/Line.hpp" #include "libslic3r/Flow.hpp" #include "libslic3r/MultiMaterialSegmentation.hpp" diff --git a/tests/libslic3r/test_mutable_polygon.cpp b/tests/libslic3r/test_mutable_polygon.cpp index 906dffe50a..a233454427 100644 --- a/tests/libslic3r/test_mutable_polygon.cpp +++ b/tests/libslic3r/test_mutable_polygon.cpp @@ -1,5 +1,9 @@ #include +#include +#include "libslic3r/libslic3r.h" +#include "libslic3r/Polygon.hpp" +#include #include "libslic3r/Point.hpp" #include "libslic3r/MutablePolygon.hpp" diff --git a/tests/libslic3r/test_mutable_priority_queue.cpp b/tests/libslic3r/test_mutable_priority_queue.cpp index db7124df78..67191793da 100644 --- a/tests/libslic3r/test_mutable_priority_queue.cpp +++ b/tests/libslic3r/test_mutable_priority_queue.cpp @@ -1,8 +1,15 @@ +#include #include #include +#include +#include +#include +#include #include +#include +#include #include "libslic3r/MutablePriorityQueue.hpp" // based on https://raw.githubusercontent.com/rollbear/prio_queue/master/self_test.cpp diff --git a/tests/libslic3r/test_nozzle_volume_type.cpp b/tests/libslic3r/test_nozzle_volume_type.cpp index 99ad375f93..289133bb03 100644 --- a/tests/libslic3r/test_nozzle_volume_type.cpp +++ b/tests/libslic3r/test_nozzle_volume_type.cpp @@ -1,5 +1,9 @@ #include +#include +#include "libslic3r/Config.hpp" +#include +#include #include "libslic3r/PrintConfig.hpp" using namespace Slic3r; diff --git a/tests/libslic3r/test_obj.cpp b/tests/libslic3r/test_obj.cpp index 2cbf57ff04..abab016b2a 100644 --- a/tests/libslic3r/test_obj.cpp +++ b/tests/libslic3r/test_obj.cpp @@ -1,9 +1,16 @@ +#include #include +#include +#include +#include #include "libslic3r/TriangleMesh.hpp" #include "libslic3r/Format/OBJ.hpp" #include +#include +#include "libslic3r/Point.hpp" +#include #include "test_utils.hpp" diff --git a/tests/libslic3r/test_optimizers.cpp b/tests/libslic3r/test_optimizers.cpp index 8783ac1428..232481f23c 100644 --- a/tests/libslic3r/test_optimizers.cpp +++ b/tests/libslic3r/test_optimizers.cpp @@ -1,9 +1,13 @@ #include +#include #include "test_utils.hpp" +#include #include #include +#include "libslic3r/Optimize/Optimizer.hpp" +#include "libslic3r/libslic3r.h" void check_opt_result(double score, double ref, double abs_err, double rel_err) { diff --git a/tests/libslic3r/test_ordering_strategies.cpp b/tests/libslic3r/test_ordering_strategies.cpp index ddbca07ae6..f6e0cd94f2 100644 --- a/tests/libslic3r/test_ordering_strategies.cpp +++ b/tests/libslic3r/test_ordering_strategies.cpp @@ -1,4 +1,12 @@ +#include #include +#include +#include +#include +#include "libslic3r/libslic3r.h" +#include +#include +#include #define SLIC3R_TEST_HARNESS diff --git a/tests/libslic3r/test_parallel_resolve.cpp b/tests/libslic3r/test_parallel_resolve.cpp index 76811f1475..4e7e52dca2 100644 --- a/tests/libslic3r/test_parallel_resolve.cpp +++ b/tests/libslic3r/test_parallel_resolve.cpp @@ -1,5 +1,6 @@ #include +#include #include #include #include @@ -9,6 +10,7 @@ #include #include +#include #include "libslic3r/ParallelResolve.hpp" using namespace Slic3r; diff --git a/tests/libslic3r/test_placeholder_parser.cpp b/tests/libslic3r/test_placeholder_parser.cpp index 4a95156c34..0a490a6bdd 100644 --- a/tests/libslic3r/test_placeholder_parser.cpp +++ b/tests/libslic3r/test_placeholder_parser.cpp @@ -1,5 +1,12 @@ #include +#include +#include +#include "libslic3r/Config.hpp" +#include +#include +#include +#include #include "libslic3r/PlaceholderParser.hpp" #include "libslic3r/PrintConfig.hpp" diff --git a/tests/libslic3r/test_polygon.cpp b/tests/libslic3r/test_polygon.cpp index feae4ff50c..08fd21d3c0 100644 --- a/tests/libslic3r/test_polygon.cpp +++ b/tests/libslic3r/test_polygon.cpp @@ -1,5 +1,9 @@ +#include #include +#include +#include "libslic3r/libslic3r.h" +#include #include "libslic3r/Point.hpp" #include "libslic3r/Polygon.hpp" diff --git a/tests/libslic3r/test_precise_seam_3mf.cpp b/tests/libslic3r/test_precise_seam_3mf.cpp index 6449236744..cda140ebce 100644 --- a/tests/libslic3r/test_precise_seam_3mf.cpp +++ b/tests/libslic3r/test_precise_seam_3mf.cpp @@ -1,5 +1,10 @@ #include +#include +#include +#include +#include +#include #include "test_utils.hpp" #include "libslic3r/Model.hpp" #include "libslic3r/PrintConfig.hpp" @@ -12,7 +17,13 @@ #include #include +#include "libslic3r/Config.hpp" +#include "libslic3r/TriangleMesh.hpp" +#include +#include "libslic3r/Geometry.hpp" +#include #include +#include #include using namespace Slic3r; diff --git a/tests/libslic3r/test_preset_bundle_loading.cpp b/tests/libslic3r/test_preset_bundle_loading.cpp index 4741e28f6b..c8cc1784de 100644 --- a/tests/libslic3r/test_preset_bundle_loading.cpp +++ b/tests/libslic3r/test_preset_bundle_loading.cpp @@ -1,9 +1,19 @@ +#include +#include +#include +#include #include #include #include +#include #include +#include +#include +#include +#include +#include #include "libslic3r/PresetBundle.hpp" #include "libslic3r/ParallelResolve.hpp" #include "libslic3r/AppConfig.hpp" @@ -17,6 +27,19 @@ #include #include #include +#include +#include +#include "libslic3r/PrintConfig.hpp" +#include "libslic3r/Preset.hpp" +#include +#include "libslic3r/Config.hpp" +#include +#include "libslic3r/libslic3r.h" +#include "libslic3r/PublishSettings.hpp" +#include +#include "libslic3r/TriangleSelector.hpp" +#include +#include #ifndef _WIN32 #include // geteuid diff --git a/tests/libslic3r/test_preset_diff.cpp b/tests/libslic3r/test_preset_diff.cpp index 22255c049e..036e2aa922 100644 --- a/tests/libslic3r/test_preset_diff.cpp +++ b/tests/libslic3r/test_preset_diff.cpp @@ -1,9 +1,15 @@ #include +#include +#include #include "libslic3r/Preset.hpp" #include "libslic3r/PrintConfig.hpp" #include +#include "libslic3r/Config.hpp" +#include +#include +#include using namespace Slic3r; diff --git a/tests/libslic3r/test_preset_options.cpp b/tests/libslic3r/test_preset_options.cpp index 1763f5fbc7..cf878ca9f8 100644 --- a/tests/libslic3r/test_preset_options.cpp +++ b/tests/libslic3r/test_preset_options.cpp @@ -16,10 +16,14 @@ #include +#include +#include #include "libslic3r/Preset.hpp" #include "libslic3r/PrintConfig.hpp" +#include "libslic3r/Config.hpp" #include +#include using namespace Slic3r; diff --git a/tests/libslic3r/test_preset_setting_id.cpp b/tests/libslic3r/test_preset_setting_id.cpp index 5c06335381..0b5736ad26 100644 --- a/tests/libslic3r/test_preset_setting_id.cpp +++ b/tests/libslic3r/test_preset_setting_id.cpp @@ -1,5 +1,8 @@ #include +#include +#include +#include #include "libslic3r/Preset.hpp" using namespace Slic3r; diff --git a/tests/libslic3r/test_sketchconstraints.cpp b/tests/libslic3r/test_sketchconstraints.cpp index d0c5844b40..2142398e68 100644 --- a/tests/libslic3r/test_sketchconstraints.cpp +++ b/tests/libslic3r/test_sketchconstraints.cpp @@ -1,4 +1,11 @@ #include // mainline OrcaSlicer ships Catch2 v3 (v2 was catch2/catch.hpp) +#include +#include +#include +#include +#include +#include +#include #include "libslic3r/CAD/SketchConstraints.hpp" #include "libslic3r/CAD/SketchEngine.hpp" diff --git a/tests/libslic3r/test_sketchedit.cpp b/tests/libslic3r/test_sketchedit.cpp index 634e743b99..b289b71e69 100644 --- a/tests/libslic3r/test_sketchedit.cpp +++ b/tests/libslic3r/test_sketchedit.cpp @@ -1,9 +1,16 @@ +#include +#include #include // mainline OrcaSlicer ships Catch2 v3 (v2 was catch2/catch.hpp) +#include +#include +#include #include "libslic3r/CAD/SketchEngine.hpp" #include #include #include #include +#include +#include using namespace Slic3r; diff --git a/tests/libslic3r/test_sketchimport.cpp b/tests/libslic3r/test_sketchimport.cpp index 3e3f7c906e..3e6636fd7d 100644 --- a/tests/libslic3r/test_sketchimport.cpp +++ b/tests/libslic3r/test_sketchimport.cpp @@ -1,10 +1,16 @@ +#include #include // mainline OrcaSlicer ships Catch2 v3 (v2 was catch2/catch.hpp) +#include +#include +#include #include "libslic3r/CAD/SketchImport.hpp" #include "libslic3r/Utils.hpp" // resources_dir #include "test_utils.hpp" // ScopedTemporaryFile +#include #include +#include "libslic3r/Point.hpp" #include using namespace Slic3r; diff --git a/tests/libslic3r/test_sketchinference.cpp b/tests/libslic3r/test_sketchinference.cpp index cbdd90628b..6ff9768b8f 100644 --- a/tests/libslic3r/test_sketchinference.cpp +++ b/tests/libslic3r/test_sketchinference.cpp @@ -1,4 +1,9 @@ +#include +#include #include // mainline OrcaSlicer ships Catch2 v3 (v2 was catch2/catch.hpp) +#include "libslic3r/CAD/SketchEngine.hpp" +#include "libslic3r/Point.hpp" +#include using Catch::Approx; // v3 scopes Approx into the Catch namespace; v2 had it at global scope #include "libslic3r/CAD/SketchInference.hpp" diff --git a/tests/libslic3r/test_sketchprofile.cpp b/tests/libslic3r/test_sketchprofile.cpp index 7f455eb936..6c33599847 100644 --- a/tests/libslic3r/test_sketchprofile.cpp +++ b/tests/libslic3r/test_sketchprofile.cpp @@ -9,11 +9,19 @@ // So these cases assert the loop, not the coordinates. That is the invariant every sketch // operation has to preserve and the only one that predicts whether the GUI can build a solid // out of the result. +#include #include // mainline OrcaSlicer ships Catch2 v3 (v2 was catch2/catch.hpp) +#include +#include +#include #include "libslic3r/CAD/SketchEngine.hpp" #include #include #include +#include "libslic3r/Point.hpp" +#include +#include +#include using namespace Slic3r; using Catch::Matchers::WithinAbs; diff --git a/tests/libslic3r/test_slvs_constraints.cpp b/tests/libslic3r/test_slvs_constraints.cpp index 6dfac07348..4f5c27ba7d 100644 --- a/tests/libslic3r/test_slvs_constraints.cpp +++ b/tests/libslic3r/test_slvs_constraints.cpp @@ -1,4 +1,9 @@ +#include +#include #include // mainline OrcaSlicer ships Catch2 v3 (v2 was catch2/catch.hpp) +#include "libslic3r/Point.hpp" +#include +#include using Catch::Approx; // v3 scopes Approx into the Catch namespace; v2 had it at global scope #include "libslic3r/CAD/SketchSolver.hpp" diff --git a/tests/libslic3r/test_step.cpp b/tests/libslic3r/test_step.cpp index a2aa7218f1..3635c977dd 100644 --- a/tests/libslic3r/test_step.cpp +++ b/tests/libslic3r/test_step.cpp @@ -1,7 +1,11 @@ #include #include +#include +#include +#include +#include #include "libslic3r/Model.hpp" #include "libslic3r/Format/STEP.hpp" #include "test_utils.hpp" diff --git a/tests/libslic3r/test_stl.cpp b/tests/libslic3r/test_stl.cpp index a8addeca16..0223392c3f 100644 --- a/tests/libslic3r/test_stl.cpp +++ b/tests/libslic3r/test_stl.cpp @@ -1,5 +1,8 @@ #include +#include +#include "libslic3r/Point.hpp" +#include #include "libslic3r/Model.hpp" #include "libslic3r/Format/STL.hpp" diff --git a/tests/libslic3r/test_texture_displacement.cpp b/tests/libslic3r/test_texture_displacement.cpp index 04713d3fd9..1d9a89481b 100644 --- a/tests/libslic3r/test_texture_displacement.cpp +++ b/tests/libslic3r/test_texture_displacement.cpp @@ -1,6 +1,29 @@ #ifndef NOMINMAX #define NOMINMAX #endif + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "libslic3r/Point.hpp" +#include +#include +#include +#include +#include "libslic3r/TextureBake/TextureBakeDisplace.hpp" +#include "libslic3r/TextureBake/TextureBakeIndex.hpp" +#include +#include +#include "libslic3r/libslic3r.h" +#include #include #include diff --git a/tests/libslic3r/test_timeutils.cpp b/tests/libslic3r/test_timeutils.cpp index 221dd07d81..213b5e6788 100644 --- a/tests/libslic3r/test_timeutils.cpp +++ b/tests/libslic3r/test_timeutils.cpp @@ -1,10 +1,13 @@ #include +#include #include "libslic3r/Time.hpp" +#include #include #include #include +#include using namespace Slic3r; diff --git a/tests/libslic3r/test_toolordering_nozzle_group.cpp b/tests/libslic3r/test_toolordering_nozzle_group.cpp index 4074a80995..7c41b2315e 100644 --- a/tests/libslic3r/test_toolordering_nozzle_group.cpp +++ b/tests/libslic3r/test_toolordering_nozzle_group.cpp @@ -1,5 +1,9 @@ +#include #include +#include +#include +#include #include "libslic3r/FilamentGroupUtils.hpp" #include "libslic3r/MultiNozzleUtils.hpp" #include "libslic3r/PrintConfig.hpp" @@ -11,7 +15,11 @@ #include "test_utils.hpp" #include +#include "libslic3r/Config.hpp" +#include "libslic3r/GCode/ToolOrderUtils.hpp" +#include "libslic3r/PrintBase.hpp" #include +#include #include #include #include @@ -510,6 +518,22 @@ TEST_CASE("Print config-index resolvers pick per-filament Hybrid slots", "[Print } } +TEST_CASE("Regrouping or rewriting the filament maps changes the config-index generation", "[Print][H2C]") +{ + Model model; + model.add_object("cube", "", make_cube(20, 20, 20))->add_instance(); + Print print; + print.apply(model, DynamicPrintConfig::full_print_config()); + + size_t generation = print.config_index_generation(); + print.set_nozzle_group_result(nullptr); + REQUIRE(print.config_index_generation() != generation); + + generation = print.config_index_generation(); + print.update_filament_maps_to_config({1}, {(int) nvtStandard}, {0}); + REQUIRE(print.config_index_generation() != generation); +} + TEST_CASE("Re-applying an unchanged config after slicing keeps the result valid", "[Print][H2C]") { // apply() rebuilds m_config.filament_map_2 to the real per-filament slot map, while the diff --git a/tests/libslic3r/test_triangle_selector.cpp b/tests/libslic3r/test_triangle_selector.cpp index c207ee66ad..9886308bdd 100644 --- a/tests/libslic3r/test_triangle_selector.cpp +++ b/tests/libslic3r/test_triangle_selector.cpp @@ -1,9 +1,16 @@ #include +#include +#include +#include #include "libslic3r/TriangleSelector.hpp" #include "libslic3r/TriangleMesh.hpp" #include +#include "libslic3r/libslic3r.h" +#include +#include +#include using namespace Slic3r; diff --git a/tests/libslic3r/test_utils.cpp b/tests/libslic3r/test_utils.cpp index ad5110aa5e..35094f056a 100644 --- a/tests/libslic3r/test_utils.cpp +++ b/tests/libslic3r/test_utils.cpp @@ -1,5 +1,14 @@ +#include +#include +#include +#include #include +#include +#include +#include +#include +#include #include "libslic3r/Utils.hpp" #include "test_utils.hpp" @@ -8,10 +17,14 @@ #include #include +#include #include +#include +#include #include #include #include +#include #ifndef _WIN32 #include // getuid diff --git a/tests/libslic3r/test_vendor_cache.cpp b/tests/libslic3r/test_vendor_cache.cpp index be8b97943c..b78ce77e1f 100644 --- a/tests/libslic3r/test_vendor_cache.cpp +++ b/tests/libslic3r/test_vendor_cache.cpp @@ -1,3 +1,5 @@ +#include +#include #include #include @@ -5,19 +7,32 @@ #include #include #include +#include #include #include #include +#include +#include +#include "libslic3r/Semver.hpp" +#include "libslic3r/Config.hpp" #include #include #include #include #include +#include +#include #include #include #include +#include +#include +#include +#include +#include +#include #include "libslic3r/PresetBundle.hpp" #include "libslic3r/PresetCacheFormat.hpp" #include "libslic3r/Preset.hpp" diff --git a/tests/libslic3r/test_voronoi.cpp b/tests/libslic3r/test_voronoi.cpp index b86f448c02..b512fe38fe 100644 --- a/tests/libslic3r/test_voronoi.cpp +++ b/tests/libslic3r/test_voronoi.cpp @@ -1,6 +1,14 @@ +#include #include +#include #include "test_utils.hpp" +#include "libslic3r/Geometry/Voronoi.hpp" +#include "libslic3r/Point.hpp" +#include "libslic3r/Line.hpp" +#include +#include +#include "libslic3r/BoundingBox.hpp" #include #include #include @@ -9,8 +17,11 @@ #include #include +#include "libslic3r/libslic3r.h" +#include #include #include +#include // #define VORONOI_DEBUG_OUT diff --git a/tests/libslic3r/test_wipe_path.cpp b/tests/libslic3r/test_wipe_path.cpp index b637ad2b87..731a8626d4 100644 --- a/tests/libslic3r/test_wipe_path.cpp +++ b/tests/libslic3r/test_wipe_path.cpp @@ -1,5 +1,10 @@ #include +#include +#include +#include +#include +#include #include "libslic3r/GCode/WipePathHelpers.hpp" #include "libslic3r/AABBTreeLines.hpp" #include "libslic3r/Polyline.hpp" @@ -9,7 +14,12 @@ #include #include +#include "libslic3r/ExtrusionEntity.hpp" +#include #include +#include +#include +#include using namespace Slic3r; using Slic3r::AABBTreeLines::LinesDistancer; diff --git a/tests/libslic3r/test_wipe_tower.cpp b/tests/libslic3r/test_wipe_tower.cpp index 6f6daa74b8..9c64ae1b53 100644 --- a/tests/libslic3r/test_wipe_tower.cpp +++ b/tests/libslic3r/test_wipe_tower.cpp @@ -1,7 +1,17 @@ #include #include +#include +#include "libslic3r/Polygon.hpp" +#include "libslic3r/Point.hpp" +#include +#include +#include "libslic3r/libslic3r.h" +#include +#include +#include +#include #include "libslic3r/BoundingBox.hpp" #include "libslic3r/ClipperUtils.hpp" #include "libslic3r/GCode/WipeTower.hpp" diff --git a/tests/libslic3r/test_wipe_tower_estimate.cpp b/tests/libslic3r/test_wipe_tower_estimate.cpp index 22b9b2d6c5..6f0b268801 100644 --- a/tests/libslic3r/test_wipe_tower_estimate.cpp +++ b/tests/libslic3r/test_wipe_tower_estimate.cpp @@ -1,5 +1,10 @@ +#include #include +#include +#include +#include +#include #include "libslic3r/BoundingBox.hpp" #include "libslic3r/ClipperUtils.hpp" #include "libslic3r/GCode/WipeTower.hpp" @@ -8,8 +13,14 @@ #include "libslic3r/PrintConfig.hpp" #include +#include "libslic3r/Config.hpp" +#include +#include "libslic3r/Polygon.hpp" +#include "libslic3r/Point.hpp" +#include "libslic3r/libslic3r.h" #include #include +#include using namespace Slic3r; using Catch::Matchers::WithinAbs; diff --git a/tests/sla_print/sla_print_tests.cpp b/tests/sla_print/sla_print_tests.cpp index 308925a163..e095c0543a 100644 --- a/tests/sla_print/sla_print_tests.cpp +++ b/tests/sla_print/sla_print_tests.cpp @@ -1,14 +1,34 @@ +#include "libslic3r/TriangleMesh.hpp" +#include "libslic3r/SLA/IndexedMesh.hpp" +#include "libslic3r/SLA/SupportTree.hpp" +#include "libslic3r/SLA/SupportPointGenerator.hpp" +#include "libslic3r/MTUtils.hpp" +#include "libslic3r/ExPolygon.hpp" +#include "libslic3r/SLA/SupportPoint.hpp" +#include "libslic3r/Point.hpp" +#include +#include "libslic3r/SLA/Pad.hpp" +#include "libslic3r/SLA/RasterBase.hpp" +#include "libslic3r/SLA/AGGRaster.hpp" +#include +#include "libslic3r/SLA/SupportTreeBuilder.hpp" +#include "libslic3r/Execution/Execution.hpp" +#include "libslic3r/Execution/ExecutionTBB.hpp" #include #include #include #include #include +#include +#include #include "sla_test_utils.hpp" +#include "test_utils.hpp" #include #include #include +#include namespace { diff --git a/tests/sla_print/sla_raycast_tests.cpp b/tests/sla_print/sla_raycast_tests.cpp index 8a520a241f..e050e35845 100644 --- a/tests/sla_print/sla_raycast_tests.cpp +++ b/tests/sla_print/sla_raycast_tests.cpp @@ -1,8 +1,15 @@ +#include #include +#include +#include #include "test_utils.hpp" +#include "libslic3r/Point.hpp" +#include +#include #include #include +#include #include "sla_test_utils.hpp" diff --git a/tests/sla_print/sla_supptgen_tests.cpp b/tests/sla_print/sla_supptgen_tests.cpp index 32f049d78e..091bfa2d66 100644 --- a/tests/sla_print/sla_supptgen_tests.cpp +++ b/tests/sla_print/sla_supptgen_tests.cpp @@ -1,8 +1,21 @@ +#include #include +#include #include "test_utils.hpp" +#include +#include #include #include +#include "libslic3r/TriangleMesh.hpp" +#include "libslic3r/libslic3r.h" +#include "libslic3r/SLA/SupportPoint.hpp" +#include "libslic3r/Point.hpp" +#include "libslic3r/SLA/SpatIndex.hpp" +#include +#include "libslic3r/SLA/SupportPointGenerator.hpp" +#include "libslic3r/Line.hpp" +#include "libslic3r/SLA/Hollowing.hpp" #include "sla_test_utils.hpp" diff --git a/tests/sla_print/sla_test_utils.cpp b/tests/sla_print/sla_test_utils.cpp index 8951bb3853..2a769692c8 100644 --- a/tests/sla_print/sla_test_utils.cpp +++ b/tests/sla_print/sla_test_utils.cpp @@ -1,8 +1,39 @@ #include "sla_test_utils.hpp" +#include +#include +#include #include "libslic3r/TriangleMeshSlicer.hpp" #include "libslic3r/SLA/AGGRaster.hpp" +#include "test_utils.hpp" +#include +#include +#include +#include #include +#include +#include "libslic3r/SLA/SupportTree.hpp" +#include "libslic3r/SLA/Hollowing.hpp" +#include +#include "libslic3r/ExPolygon.hpp" +#include "libslic3r/Polygon.hpp" +#include "libslic3r/ClipperUtils.hpp" +#include "libslic3r/Point.hpp" +#include "libslic3r/libslic3r.h" +#include +#include "libslic3r/SVG.hpp" +#include "libslic3r/TriangleMesh.hpp" +#include "libslic3r/MTUtils.hpp" +#include "libslic3r/SLA/IndexedMesh.hpp" +#include "libslic3r/SLA/SupportPointGenerator.hpp" +#include "libslic3r/SLA/SupportPoint.hpp" +#include "libslic3r/SLA/SupportTreeBuildsteps.hpp" +#include +#include "libslic3r/SLA/SupportTreeBuilder.hpp" +#include "libslic3r/SLA/Pad.hpp" +#include "libslic3r/SLA/ConcaveHull.hpp" +#include "libslic3r/SLA/RasterBase.hpp" +#include "libslic3r/BoundingBox.hpp" void test_support_model_collision(const std::string &obj_filename, const sla::SupportTreeConfig &input_supportcfg, diff --git a/tests/sla_print/sla_test_utils.hpp b/tests/sla_print/sla_test_utils.hpp index 1d27030c9d..03d4bfd3c9 100644 --- a/tests/sla_print/sla_test_utils.hpp +++ b/tests/sla_print/sla_test_utils.hpp @@ -2,11 +2,26 @@ #define SLA_TEST_UTILS_HPP #include +#include #include "test_utils.hpp" // Debug +#include +#include +#include +#include #include +#include +#include "libslic3r/SLA/SupportTree.hpp" +#include "libslic3r/SLA/Hollowing.hpp" +#include +#include +#include +#include "libslic3r/SLA/RasterBase.hpp" +#include "libslic3r/SLA/SupportPoint.hpp" #include +#include +#include #include "libslic3r/libslic3r.h" #include "libslic3r/Format/OBJ.hpp" diff --git a/tests/slic3rutils/plugin_test_utils.hpp b/tests/slic3rutils/plugin_test_utils.hpp index cbdcf1ff95..133a5aac9e 100644 --- a/tests/slic3rutils/plugin_test_utils.hpp +++ b/tests/slic3rutils/plugin_test_utils.hpp @@ -1,5 +1,6 @@ #pragma once +#include #include #include diff --git a/tests/slic3rutils/python_test_support.hpp b/tests/slic3rutils/python_test_support.hpp index 29747a88c4..e9b0aaac8d 100644 --- a/tests/slic3rutils/python_test_support.hpp +++ b/tests/slic3rutils/python_test_support.hpp @@ -4,7 +4,9 @@ // interpreter (test_plugin_host_api.cpp, test_slicing_pipeline_bindings.cpp, ...). #include #include +#include #include +#include #include #include #include diff --git a/tests/slic3rutils/slic3rutils_tests_main.cpp b/tests/slic3rutils/slic3rutils_tests_main.cpp index 176e34a5df..f8d2b4fac5 100644 --- a/tests/slic3rutils/slic3rutils_tests_main.cpp +++ b/tests/slic3rutils/slic3rutils_tests_main.cpp @@ -1,5 +1,6 @@ #include +#include #include "slic3r/Utils/Http.hpp" TEST_CASE("Check SSL certificates paths", "[Http][NotWorking]") { diff --git a/tests/slic3rutils/test_action_source.cpp b/tests/slic3rutils/test_action_source.cpp index 8dc4404419..315721ca9b 100644 --- a/tests/slic3rutils/test_action_source.cpp +++ b/tests/slic3rutils/test_action_source.cpp @@ -1,11 +1,15 @@ +#include +#include #include +#include #include "slic3r/GUI/ActionRegistry.hpp" #include "slic3r/GUI/NativeCommands.hpp" #include "slic3r/GUI/SettingsIndex.hpp" #include +#include "libslic3r/Config.hpp" #include #include #include diff --git a/tests/slic3rutils/test_bambu_filament_ids.cpp b/tests/slic3rutils/test_bambu_filament_ids.cpp index 5f6215d7ca..7d9e0df1f1 100644 --- a/tests/slic3rutils/test_bambu_filament_ids.cpp +++ b/tests/slic3rutils/test_bambu_filament_ids.cpp @@ -2,7 +2,9 @@ #include #include #include +#include +#include #include "libslic3r/Utils.hpp" #include "slic3r/Utils/BBLPrinterAgent.hpp" #include "slic3r/Utils/OrcaPrinterAgent.hpp" diff --git a/tests/slic3rutils/test_creality_cfs_match.cpp b/tests/slic3rutils/test_creality_cfs_match.cpp index 06606684b7..6b8faf4b79 100644 --- a/tests/slic3rutils/test_creality_cfs_match.cpp +++ b/tests/slic3rutils/test_creality_cfs_match.cpp @@ -1,4 +1,6 @@ +#include #include +#include #include "libslic3r/Preset.hpp" #include "libslic3r/PresetBundle.hpp" diff --git a/tests/slic3rutils/test_dev_mapping.cpp b/tests/slic3rutils/test_dev_mapping.cpp index 658117d2e4..4e32bcc20d 100644 --- a/tests/slic3rutils/test_dev_mapping.cpp +++ b/tests/slic3rutils/test_dev_mapping.cpp @@ -13,6 +13,12 @@ #include #endif +#include +#include "slic3r/GUI/DeviceCore/DevDefs.h" +#include "libslic3r/ProjectTask.hpp" +#include +#include + #include #include diff --git a/tests/slic3rutils/test_device_manager_integration.cpp b/tests/slic3rutils/test_device_manager_integration.cpp index 2b042d4f8e..7e58dc7696 100644 --- a/tests/slic3rutils/test_device_manager_integration.cpp +++ b/tests/slic3rutils/test_device_manager_integration.cpp @@ -1,8 +1,11 @@ +#include #include #include #include #include +#include "slic3r/Utils/IPrinterAgent.hpp" +#include "slic3r/Utils/CloudProvider.hpp" #include #include #include diff --git a/tests/slic3rutils/test_device_progress.cpp b/tests/slic3rutils/test_device_progress.cpp index 96dead46f0..3d42b012a2 100644 --- a/tests/slic3rutils/test_device_progress.cpp +++ b/tests/slic3rutils/test_device_progress.cpp @@ -12,6 +12,9 @@ #include #endif +#include +#include "libslic3r/ProjectTask.hpp" + #include #include diff --git a/tests/slic3rutils/test_filament_bitmap_utils.cpp b/tests/slic3rutils/test_filament_bitmap_utils.cpp index 997a119521..df5bba0567 100644 --- a/tests/slic3rutils/test_filament_bitmap_utils.cpp +++ b/tests/slic3rutils/test_filament_bitmap_utils.cpp @@ -11,6 +11,12 @@ #include #endif +#include +#include "libslic3r/Config.hpp" +#include +#include +#include + #include #include diff --git a/tests/slic3rutils/test_file_url.cpp b/tests/slic3rutils/test_file_url.cpp index 484067b57e..f22b21612a 100644 --- a/tests/slic3rutils/test_file_url.cpp +++ b/tests/slic3rutils/test_file_url.cpp @@ -1,10 +1,13 @@ #include #include +#include #include "slic3r/GUI/GUI.hpp" #include +#include +#include #include using namespace Slic3r::GUI; diff --git a/tests/slic3rutils/test_lazy.cpp b/tests/slic3rutils/test_lazy.cpp index c04a27e9d1..156c478791 100644 --- a/tests/slic3rutils/test_lazy.cpp +++ b/tests/slic3rutils/test_lazy.cpp @@ -2,9 +2,12 @@ #include #include +#include "slic3r/GUI/StagedBuild.hpp" #include +#include #include +#include #include "slic3r/GUI/Lazy.hpp" using Slic3r::GUI::Lazy; diff --git a/tests/slic3rutils/test_network_versions.cpp b/tests/slic3rutils/test_network_versions.cpp index 349082a965..bfddcb5423 100644 --- a/tests/slic3rutils/test_network_versions.cpp +++ b/tests/slic3rutils/test_network_versions.cpp @@ -1,8 +1,13 @@ +#include #include #include #include +#include +#include "libslic3r/AppConfig.hpp" +#include +#include #include "libslic3r/Utils.hpp" #include "slic3r/Utils/bambu_networking.hpp" diff --git a/tests/slic3rutils/test_orca_cloud_agent.cpp b/tests/slic3rutils/test_orca_cloud_agent.cpp index 5f325751cb..8657310f27 100644 --- a/tests/slic3rutils/test_orca_cloud_agent.cpp +++ b/tests/slic3rutils/test_orca_cloud_agent.cpp @@ -1,3 +1,5 @@ +#include +#include #include #include @@ -6,6 +8,7 @@ #include #include +#include #include "slic3r/Utils/OrcaCloudServiceAgent.hpp" #include "test_utils.hpp" diff --git a/tests/slic3rutils/test_plugin_audit.cpp b/tests/slic3rutils/test_plugin_audit.cpp index 71ce692671..ca8c46fabd 100644 --- a/tests/slic3rutils/test_plugin_audit.cpp +++ b/tests/slic3rutils/test_plugin_audit.cpp @@ -1,3 +1,5 @@ +#include +#include #include #include @@ -5,6 +7,8 @@ #include #include // secret_constants::USER_SECRET_FILENAME +#include +#include "libslic3r_version.h" #include "plugin_test_utils.hpp" #include diff --git a/tests/slic3rutils/test_plugin_capabilities_in_use.cpp b/tests/slic3rutils/test_plugin_capabilities_in_use.cpp index 16ba6e91ac..e33c9980dd 100644 --- a/tests/slic3rutils/test_plugin_capabilities_in_use.cpp +++ b/tests/slic3rutils/test_plugin_capabilities_in_use.cpp @@ -1,5 +1,7 @@ +#include #include +#include "libslic3r/Config.hpp" #include #include #include diff --git a/tests/slic3rutils/test_plugin_capability_config.cpp b/tests/slic3rutils/test_plugin_capability_config.cpp index 39ecd1002d..34c380bba9 100644 --- a/tests/slic3rutils/test_plugin_capability_config.cpp +++ b/tests/slic3rutils/test_plugin_capability_config.cpp @@ -1,5 +1,6 @@ #include +#include #include #include #include @@ -7,7 +8,11 @@ #include #include +#include #include "plugin_test_utils.hpp" +#include +#include +#include #include #include diff --git a/tests/slic3rutils/test_plugin_cloud_metadata.cpp b/tests/slic3rutils/test_plugin_cloud_metadata.cpp index 241ef3ed90..09ac877eca 100644 --- a/tests/slic3rutils/test_plugin_cloud_metadata.cpp +++ b/tests/slic3rutils/test_plugin_cloud_metadata.cpp @@ -1,5 +1,8 @@ +#include +#include #include +#include #include #include #include @@ -8,6 +11,8 @@ #include #include +#include +#include #include "plugin_test_utils.hpp" #include diff --git a/tests/slic3rutils/test_plugin_config.cpp b/tests/slic3rutils/test_plugin_config.cpp index 99de5e53db..ac7bae36be 100644 --- a/tests/slic3rutils/test_plugin_config.cpp +++ b/tests/slic3rutils/test_plugin_config.cpp @@ -1,15 +1,20 @@ +#include +#include #include +#include #include #include #include +#include #include "plugin_test_utils.hpp" #include #include #include +#include "slic3r/plugin/PythonPluginInterface.hpp" #include using namespace Slic3r; diff --git a/tests/slic3rutils/test_plugin_host_api.cpp b/tests/slic3rutils/test_plugin_host_api.cpp index 0283bb5744..7919b273db 100644 --- a/tests/slic3rutils/test_plugin_host_api.cpp +++ b/tests/slic3rutils/test_plugin_host_api.cpp @@ -1,5 +1,6 @@ #include +#include #include #include #include @@ -8,7 +9,13 @@ #include #include +#include +#include +#include +#include #include "plugin_test_utils.hpp" +#include +#include #include "python_test_support.hpp" #include @@ -16,6 +23,7 @@ #include +#include #include namespace py = pybind11; diff --git a/tests/slic3rutils/test_plugin_install.cpp b/tests/slic3rutils/test_plugin_install.cpp index ae16703fa6..539bd917e0 100644 --- a/tests/slic3rutils/test_plugin_install.cpp +++ b/tests/slic3rutils/test_plugin_install.cpp @@ -1,10 +1,16 @@ +#include +#include #include +#include #include #include #include #include +#include +#include +#include #include "plugin_test_utils.hpp" #include diff --git a/tests/slic3rutils/test_plugin_lifecycle.cpp b/tests/slic3rutils/test_plugin_lifecycle.cpp index d90a166835..0c0399e2d3 100644 --- a/tests/slic3rutils/test_plugin_lifecycle.cpp +++ b/tests/slic3rutils/test_plugin_lifecycle.cpp @@ -1,13 +1,19 @@ +#include +#include #include +#include #include #include +#include #include #include #include #include #include +#include +#include #include "plugin_test_utils.hpp" #include @@ -17,8 +23,10 @@ #include #include #include +#include "slic3r/plugin/PythonPluginInterface.hpp" #include #include +#include #include using namespace Slic3r; diff --git a/tests/slic3rutils/test_plugin_printer_agent.cpp b/tests/slic3rutils/test_plugin_printer_agent.cpp index c1bba8a88e..50570f8712 100644 --- a/tests/slic3rutils/test_plugin_printer_agent.cpp +++ b/tests/slic3rutils/test_plugin_printer_agent.cpp @@ -1,5 +1,6 @@ #include +#include "slic3r/Utils/bambu_networking.hpp" #include #include #include @@ -12,7 +13,11 @@ #include #include +#include #include "plugin_test_utils.hpp" +#include +#include +#include namespace py = pybind11; using namespace Slic3r; diff --git a/tests/slic3rutils/test_plugin_sort.cpp b/tests/slic3rutils/test_plugin_sort.cpp index 58db799dd8..8af2ce3b5b 100644 --- a/tests/slic3rutils/test_plugin_sort.cpp +++ b/tests/slic3rutils/test_plugin_sort.cpp @@ -1,7 +1,10 @@ +#include #include #include +#include "slic3r/GUI/PluginSource.hpp" +#include "slic3r/GUI/PluginStatus.hpp" #include #include diff --git a/tests/slic3rutils/test_plugin_status.cpp b/tests/slic3rutils/test_plugin_status.cpp index c51c54c6c6..ab206c22ce 100644 --- a/tests/slic3rutils/test_plugin_status.cpp +++ b/tests/slic3rutils/test_plugin_status.cpp @@ -1,3 +1,4 @@ +#include #include #include diff --git a/tests/slic3rutils/test_prebuild_queue.cpp b/tests/slic3rutils/test_prebuild_queue.cpp index 8cc5444345..dc797ca60a 100644 --- a/tests/slic3rutils/test_prebuild_queue.cpp +++ b/tests/slic3rutils/test_prebuild_queue.cpp @@ -1,8 +1,10 @@ #include +#include "slic3r/GUI/Lazy.hpp" #include #include +#include #include "slic3r/GUI/PrebuildQueue.hpp" using Slic3r::GUI::LazyBase; diff --git a/tests/slic3rutils/test_precise_seam_plugin.cpp b/tests/slic3rutils/test_precise_seam_plugin.cpp index 244a4c3405..0375b96b9e 100644 --- a/tests/slic3rutils/test_precise_seam_plugin.cpp +++ b/tests/slic3rutils/test_precise_seam_plugin.cpp @@ -1,7 +1,11 @@ #include +#include #include "libslic3r/Model.hpp" #include "libslic3r/TriangleMesh.hpp" +#include +#include +#include #include "python_test_support.hpp" #include diff --git a/tests/slic3rutils/test_printer_agent.cpp b/tests/slic3rutils/test_printer_agent.cpp index 1418001205..8113326cc2 100644 --- a/tests/slic3rutils/test_printer_agent.cpp +++ b/tests/slic3rutils/test_printer_agent.cpp @@ -1,8 +1,14 @@ #include +#include +#include "slic3r/Utils/ICloudServiceAgent.hpp" +#include "slic3r/Utils/IPrinterAgent.hpp" #include #include +#include +#include +#include #include "python_test_support.hpp" #include diff --git a/tests/slic3rutils/test_printhost.cpp b/tests/slic3rutils/test_printhost.cpp index c4df56ebb6..c7ce9dccaa 100644 --- a/tests/slic3rutils/test_printhost.cpp +++ b/tests/slic3rutils/test_printhost.cpp @@ -3,10 +3,18 @@ #include #include #include +#include #include #include +#include +#include +#include +#include +#include +#include +#include #include "libslic3r/LifecycleEvents.hpp" #include "slic3r/Utils/PrintHost.hpp" #include "slic3r/Utils/Flashforge.hpp" diff --git a/tests/slic3rutils/test_scene_raycaster.cpp b/tests/slic3rutils/test_scene_raycaster.cpp index d51671e5c5..a1be46f216 100644 --- a/tests/slic3rutils/test_scene_raycaster.cpp +++ b/tests/slic3rutils/test_scene_raycaster.cpp @@ -11,6 +11,16 @@ #include #endif +#include +#include "slic3r/GUI/MeshUtils.hpp" +#include "libslic3r/Point.hpp" +#include +#include +#include +#include "libslic3r/TriangleMesh.hpp" +#include "libslic3r/Geometry.hpp" +#include + #include #include "slic3r/GUI/Camera.hpp" diff --git a/tests/slic3rutils/test_shortcuts.cpp b/tests/slic3rutils/test_shortcuts.cpp index 350e87f48a..ed7975b1e5 100644 --- a/tests/slic3rutils/test_shortcuts.cpp +++ b/tests/slic3rutils/test_shortcuts.cpp @@ -1,10 +1,16 @@ #include #include +#include #include "libslic3r/AppConfig.hpp" #include "slic3r/GUI/KeyChord.hpp" #include "slic3r/GUI/Shortcuts.hpp" +#include +#include +#include +#include +#include #include using namespace Slic3r; diff --git a/tests/slic3rutils/test_slicing_pipeline_bindings.cpp b/tests/slic3rutils/test_slicing_pipeline_bindings.cpp index 5e819c09e0..7552fe15af 100644 --- a/tests/slic3rutils/test_slicing_pipeline_bindings.cpp +++ b/tests/slic3rutils/test_slicing_pipeline_bindings.cpp @@ -1,4 +1,18 @@ #include +#include +#include +#include +#include "libslic3r/libslic3r.h" +#include +#include +#include +#include "libslic3r/Config.hpp" +#include "libslic3r/Print.hpp" +#include +#include "libslic3r/SurfaceCollection.hpp" +#include "libslic3r/Polygon.hpp" +#include +#include #include "slic3r/plugin/PythonPluginInterface.hpp" using namespace Slic3r; diff --git a/tests/slic3rutils/test_slicing_pipeline_config.cpp b/tests/slic3rutils/test_slicing_pipeline_config.cpp index 37984cff34..1e8e728f4d 100644 --- a/tests/slic3rutils/test_slicing_pipeline_config.cpp +++ b/tests/slic3rutils/test_slicing_pipeline_config.cpp @@ -1,13 +1,26 @@ +#include +#include #include +#include +#include +#include "libslic3r/Print.hpp" +#include "libslic3r/Model.hpp" +#include "libslic3r/PrintConfig.hpp" +#include "libslic3r/Config.hpp" #include #include +#include "slic3r/plugin/PluginFsUtils.hpp" #include #include #include +#include +#include #include "fff_print/test_helpers.hpp" #include "plugin_test_utils.hpp" +#include +#include #include #include diff --git a/tests/slic3rutils/test_staged_build.cpp b/tests/slic3rutils/test_staged_build.cpp index 3afcd9e5fc..df56d0c6e7 100644 --- a/tests/slic3rutils/test_staged_build.cpp +++ b/tests/slic3rutils/test_staged_build.cpp @@ -2,6 +2,7 @@ #include +#include #include "slic3r/GUI/StagedBuild.hpp" using Slic3r::GUI::StagedBuild; diff --git a/tests/slic3rutils/test_user_manager.cpp b/tests/slic3rutils/test_user_manager.cpp index cfccebe1cc..3c60552f22 100644 --- a/tests/slic3rutils/test_user_manager.cpp +++ b/tests/slic3rutils/test_user_manager.cpp @@ -2,6 +2,8 @@ #include +#include +#include #include "slic3r/GUI/UserManager.hpp" using namespace Slic3r; diff --git a/tests/slic3rutils/test_web_media_controller.cpp b/tests/slic3rutils/test_web_media_controller.cpp index cdf756ca3a..fdf271fe10 100644 --- a/tests/slic3rutils/test_web_media_controller.cpp +++ b/tests/slic3rutils/test_web_media_controller.cpp @@ -1,7 +1,15 @@ +#include #include #include +#include +#include +#include +#include +#include +#include "slic3r/Utils/IPrinterAgent.hpp" +#include #include #include diff --git a/tests/test_utils.hpp b/tests/test_utils.hpp index 0b04e6ad11..d0817ce128 100644 --- a/tests/test_utils.hpp +++ b/tests/test_utils.hpp @@ -1,6 +1,9 @@ #ifndef SLIC3R_TEST_UTILS #define SLIC3R_TEST_UTILS +#include +#include +#include "libslic3r/BoundingBox.hpp" #include #include #include