Commit Graph
14 Commits
Author SHA1 Message Date
Hanif Koh bf43b9ea7b Remove Unused Project Includes From Files With Platform-Specific Code
A Linux include-what-you-use run cannot see the code inside _WIN32, __APPLE__ or __linux__ blocks, so its verdict is only taken where nothing the removed header declares, directly or through what it includes, is named inside those blocks. Removals also have to hold in both the Release and Debug configuration and never touch a line inside a conditional block.
2026-10-03 22:45:55 +08:00
Hanif Koh 0a30cfe6b0 Remove Unused Project Includes and Forward-Declare Where a Type Is Only Referenced
Generated with include-what-you-use and applied conservatively. Only OrcaSlicer's own headers, the ones under src/ and tests/, are removed or forward-declared; standard-library and third-party includes are left alone. An include is removed only when both the Release and the Debug configuration leave it unused, never from inside a conditional block, and never from a file with platform-specific blocks, which only gain includes. Files whose only use of a header sits behind a feature or debug macro (libvgcode's OpenGL ES and marker code, the ARACHNE/TESTS_EXPORT_SVGS debug output) keep their includes.

clonable_ptr.hpp gains #pragma once; it had no include guard and was only safe while Config.hpp was its sole includer.
2026-10-03 22:45:55 +08:00
HanifKoh 8a6377f087 Add Missing Includes Across src/libslic3r (#16068)
* Add Missing Includes Across src/libslic3r

Every libslic3r source and header now directly includes the headers declaring what it uses, rather than relying on the precompiled header or transitive includes. Generated with clang-tidy misc-include-cleaner, with libslic3r headers spelled libslic3r/... so they resolve outside the library's private include paths. MultiMaterialSegmentation.hpp, Support/SupportParameters.hpp and Format/STEP.hpp are made self-contained by hand.

* Make the libslic3r Headers Compile on Their Own

Each now includes, or forward-declares, what it uses instead of relying on what its includers happened to include first. Left out: I18N.hpp, which errors on purpose when included from GUI code, and VoxelizeCSGMesh.hpp and SLA/bicubic.h, which nothing includes and which no longer compile at all.

* Add the Includes Missing From the Hand-Fixed libslic3r Headers

clang-tidy would not edit these headers while they failed to compile on their own, so the first pass skipped them. With the headers now self-contained, a second pass adds the rest.

* Keep Windows Setup Ahead of the Added libslic3r Includes

Print.cpp and Thread.cpp open with a _WIN32 block that has to come first; without the precompiled header, Print.cpp otherwise reaches windows.h through OCCT with NONLS defined and boost/regex fails. OpenVDBUtils.cpp and SLA/SupportTreeBuilder.cpp had includes inside #ifndef NOMINMAX, which libslic3r defines on Windows, so those were skipped there. .clang-tidy also ignores the MSVC STL and UCRT internals, Boost.Multiprecision's fwd.hpp and CPython's Windows include directory.

* Re-Add libslic3r Includes After the Clipper2 2.0.1 Migration

Rebasing onto main took main's version of the files the Clipper2 migration rewrote, so their added includes are restored here, along with includes for main's new code. Clipper2's individual headers are now ignored by clang-tidy: they only build the Z variant through clipper2_z.hpp, which defines USINGZ first, so including clipper.core.h and the like directly broke ClipperZUtils.cpp.
2026-10-03 15:31:11 +08:00
Noisyfox 3a5a49b23d Merge branch 'main' into dev/h2d-2
# Conflicts:
#	src/slic3r/GUI/PartPlate.hpp
2025-10-14 19:43:33 +08:00
Rodrigo Faselli ac75c69ddf BUG-FIX avoid crossing perimeters ingonore holes <=2mm (#10942)
Fix avoid crossing perimeters 2
2025-10-13 19:41:07 +08:00
xun.zhang aee14d307a FIX: wrong flush logic
1.Fix flush calc logic
2.Rename m_extruder in GCodeWriter

jira:NEW

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I38f023fbad983305632ca62cbfb3909759013c25
(cherry picked from commit f1b0805ed13eb94d6eb61e12330db3d628c0241b)
2025-08-24 23:18:05 +08:00
qing.zhang cca85fe861 ENH: implement mult extruder params
Jira: none

Signed-off-by: qing.zhang <qing.zhang@bambulab.com>
Change-Id: I906b106aa4c73272a418528db0e964d9130b0dd7
(cherry picked from commit 8af6f6d13b609b7ed5f25c3b36b966f533054d7b)
2025-08-24 23:18:01 +08:00
Noisyfoxandhuicong.li 282cdd111a Avoid cross perimeter improvements ported from BBS (#10220)
* FIX: fix avoid crossing perimeters not work[github issue #6597]

jira: STUDIO-11682

github: #6597

Change-Id: Ib86fac93280504e0040f1cce44dad4d02f709c01
(cherry picked from commit 35afceb9a7f4e5a3baba97f054d0e6768e4f59cf)

* FIX: optimize avoid crossing wall

jira: STUDIO-11682

Change-Id: I49b6756a5d3aeb482c019813074d8f6f9cc3c6ef
(cherry picked from commit e9b7006db994d78b9153dedfd0f89447c941cb76)

* Sync with latest BBS code

---------

Co-authored-by: huicong.li <huicong.li@bambulab.com>
2025-07-30 21:42:39 +08:00
SoftFever b3fff4ffd5 Removed the copyright and credits in the header of each file. This information is outdated and hard to update. Orca Slicer maintains the autoher info in git history so this is not necessary. 2024-06-15 14:56:44 +08:00
NoisyfoxandLukáš Hejl f16feff2a4 Fixes scars on thing walls when "avoid crossing wall" is turned on (#2659)
* Travel very close to the inner holes, could cross external perimeter when the avoid crossing perimeters was enabled.

(cherry picked from commit prusa3d/PrusaSlicer@6c51e5148c)

* Modified variable offset in the avoid crossing perimeters to not cause scars on thin objects (#7699).

Previously, the minimum contour width was chosen too conservative and, on some thin objects, only allowed minimal (or non) offset. This could result in travels being planned along the outer perimeter.

Now, the minimum contour width is chosen much smaller at the start and tested if the variable offset wasn't failed (the outer contour broke up into more parts, more or fewer holes, etc.).
If any problem is detected, the variable offset is recalculated with a larger minimum contour width.

(cherry picked from commit prusa3d/PrusaSlicer@dc00f0bf98)

---------

Co-authored-by: Lukáš Hejl <hejl.lukas@gmail.com>
2023-11-09 22:21:44 +08:00
salt.wei 61b271f379 ENH: fix for STUDIO-881
Thanks prusa

Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: I2e1c1088d29dd5401016ca41d3ed6dec87e0acd1
2023-04-17 15:39:02 +08:00
Arthur 646b259972 ENH: merge tree support layers to support layers
Will greately reduce repeated codes.

Change-Id: I506a97a907b5b393fe41e13ae53e2f7c9247c4c5
2023-01-10 19:08:26 +08:00
salt.wei 6c8015ca28 ENH: avoid crossing wall when travel
Provide related two options to avoid crossing wall
when travel.

This is handling for github issue #106

Signed-off-by: salt.wei <salt.wei@bambulab.com>
Change-Id: I127adbb70f33c3954a08f3087e64c4e75212c7f0
2022-10-20 19:34:37 +08:00
lane.wei 1555904bef Add the full source of BambuStudio
using version 1.0.10
2022-07-15 23:42:08 +08:00