Design tab: move the CAD sources into their own folder

Review request on PR #15238: "Place CAD-related files (e.g. CadDocument/
GeometryEngine) into a separate folder."

  src/libslic3r/CAD/     the kernel — CadDocument, GeometryEngine, the four
                         Sketch* units, SketchSolver, ThreadStandards
  src/slic3r/GUI/CAD/    the tab — DesignPanel, DesignCanvas, DesignSketchTool,
                         SketchInlineEditor, McpControl, generated DesignOffer

Pure relocation: no line of logic changes. Two include rewrites follow from it —
files that moved re-spell their own neighbours against src/ (already on the
include path), and files that did not move pick up the new folder. docs and
docs/ux/mockups/gen_offer_table.py follow the same paths.

Verified: libslic3r, libslic3r_gui and libslic3r_tests all build, CAD suite green
at 2518 assertions in 194 test cases, and the sibling fork builds identically —
17 shared sources still byte-identical, 8 diverging by their expected counts.
This commit is contained in:
Tommaso Bianchi
2026-08-20 17:44:34 +02:00
parent 5d120921d5
commit 2b02a8e3dd
44 changed files with 135 additions and 135 deletions
+4 -4
View File
@@ -1,10 +1,10 @@
# SnapOrca-CAD vs Onshape — capability gap analysis # SnapOrca-CAD vs Onshape — capability gap analysis
Generated 2026-07-22 by enumerating the source, not from recollection: Generated 2026-07-22 by enumerating the source, not from recollection:
`CadFeatureType` and `add_*` in `src/libslic3r/CadDocument.hpp`, `Tool` in `CadFeatureType` and `add_*` in `src/libslic3r/CAD/CadDocument.hpp`, `Tool` in
`src/slic3r/GUI/DesignPanel.hpp`, `Mode` in `src/slic3r/GUI/DesignSketchTool.hpp`, `src/slic3r/GUI/CAD/DesignPanel.hpp`, `Mode` in `src/slic3r/GUI/CAD/DesignSketchTool.hpp`,
`SketchConstraintType` + `SketchEntity::Type` in `src/libslic3r/SketchEngine.hpp`, `SketchConstraintType` + `SketchEntity::Type` in `src/libslic3r/CAD/SketchEngine.hpp`,
and the JSON-RPC dispatch in `src/slic3r/GUI/McpControl.cpp`. and the JSON-RPC dispatch in `src/slic3r/GUI/CAD/McpControl.cpp`.
**Scope note.** Onshape is a cloud PLM platform; SnapOrca is a Design tab inside a **Scope note.** Onshape is a cloud PLM platform; SnapOrca is a Design tab inside a
slicer. A large share of Onshape's surface (release management, branching, real-time slicer. A large share of Onshape's surface (release management, branching, real-time
+7 -7
View File
@@ -320,14 +320,14 @@ Being straight about the edges, so nobody discovers them the hard way:
| Path | Role | | Path | Role |
|---|---| |---|---|
| `src/libslic3r/CadDocument.*` | the feature recipe and its replay | | `src/libslic3r/CAD/CadDocument.*` | the feature recipe and its replay |
| `src/libslic3r/GeometryEngine.*` | OCCT wrapper — faces, edges, booleans, healing | | `src/libslic3r/CAD/GeometryEngine.*` | OCCT wrapper — faces, edges, booleans, healing |
| `src/libslic3r/SketchEngine.*` | profile → wire → solid | | `src/libslic3r/CAD/SketchEngine.*` | profile → wire → solid |
| `src/libslic3r/SketchSolver.*` | constraint solving, over the vendored solver | | `src/libslic3r/CAD/SketchSolver.*` | constraint solving, over the vendored solver |
| `src/libslic3r/slvs/` | vendored 2D constraint solver (GPLv3) | | `src/libslic3r/slvs/` | vendored 2D constraint solver (GPLv3) |
| `src/slic3r/GUI/DesignPanel.*` | the tab: toolbar, cards, feature tree | | `src/slic3r/GUI/CAD/DesignPanel.*` | the tab: toolbar, cards, feature tree |
| `src/slic3r/GUI/DesignCanvas.*` | viewport integration | | `src/slic3r/GUI/CAD/DesignCanvas.*` | viewport integration |
| `src/slic3r/GUI/DesignSketchTool.*` | in-canvas sketching | | `src/slic3r/GUI/CAD/DesignSketchTool.*` | in-canvas sketching |
Build with `-DSLIC3R_CAD=ON` (the default). With it OFF the tab is not compiled and the deps Build with `-DSLIC3R_CAD=ON` (the default). With it OFF the tab is not compiled and the deps
prefix matches upstream exactly — see [cad_dependency_weight.md](cad_dependency_weight.md). prefix matches upstream exactly — see [cad_dependency_weight.md](cad_dependency_weight.md).
+1 -1
View File
@@ -70,4 +70,4 @@ AGPLv3/GPLv3 compatibility argument; this point should be confirmed with upstrea
See the [Where the code lives](docs/design_tab.md#where-the-code-lives) table in the user See the [Where the code lives](docs/design_tab.md#where-the-code-lives) table in the user
doc for the file-to-role mapping, and [docs/ux/tool_atlas.json](docs/ux/tool_atlas.json) as doc for the file-to-role mapping, and [docs/ux/tool_atlas.json](docs/ux/tool_atlas.json) as
the generated-from source of `src/slic3r/GUI/DesignOffer.hpp`. the generated-from source of `src/slic3r/GUI/CAD/DesignOffer.hpp`.
+2 -2
View File
@@ -7,7 +7,7 @@ The map exists ONCE. The mockups and the shipping menu read the same rows in the
order from the same file, so a drawing and the product cannot drift apart — which is the order from the same file, so a drawing and the product cannot drift apart — which is the
only way row constancy (charter 4.1) survives contact with a codebase. only way row constancy (charter 4.1) survives contact with a codebase.
Output: src/slic3r/GUI/DesignOffer.hpp, checked in and never hand-edited. Output: src/slic3r/GUI/CAD/DesignOffer.hpp, checked in and never hand-edited.
""" """
import json import json
@@ -17,7 +17,7 @@ HERE = os.path.dirname(os.path.abspath(__file__))
UX = os.path.dirname(HERE) UX = os.path.dirname(HERE)
REPO = os.path.dirname(os.path.dirname(UX)) REPO = os.path.dirname(os.path.dirname(UX))
ATLAS = os.path.join(UX, "tool_atlas.json") ATLAS = os.path.join(UX, "tool_atlas.json")
OUT = os.path.join(REPO, "src", "slic3r", "GUI", "DesignOffer.hpp") OUT = os.path.join(REPO, "src", "slic3r", "GUI", "CAD", "DesignOffer.hpp")
# selection id -> C++ enumerator # selection id -> C++ enumerator
ENUM = { ENUM = {
+4 -4
View File
@@ -3,11 +3,11 @@
"Source of truth for the object-driven tool offer (see docs/cad_ux_guidelines.md 4.1).", "Source of truth for the object-driven tool offer (see docs/cad_ux_guidelines.md 4.1).",
"Every verb, the selections it accepts, the document state it needs, and its fixed", "Every verb, the selections it accepts, the document state it needs, and its fixed",
"compass address. Extracted from the code, not from memory:", "compass address. Extracted from the code, not from memory:",
" verbs + shortcuts + refusal messages -> src/slic3r/GUI/DesignPanel.cpp (feat_dropdown", " verbs + shortcuts + refusal messages -> src/slic3r/GUI/CAD/DesignPanel.cpp (feat_dropdown",
" call sites at 524/662/734/790/874/904, sk_key table at 369-400, m_keys_feature)", " call sites at 524/662/734/790/874/904, sk_key table at 369-400, m_keys_feature)",
" kernel coverage -> src/libslic3r/CadDocument.hpp (enum CadFeatureType)", " kernel coverage -> src/libslic3r/CAD/CadDocument.hpp (enum CadFeatureType)",
" headless coverage -> src/slic3r/GUI/McpControl.cpp (method == \"...\")", " headless coverage -> src/slic3r/GUI/CAD/McpControl.cpp (method == \"...\")",
" selection kinds -> src/slic3r/GUI/DesignCanvas.hpp (the on_*_selected callbacks)", " selection kinds -> src/slic3r/GUI/CAD/DesignCanvas.hpp (the on_*_selected callbacks)",
"gen_offer_mockups.py reads this file; the eventual C++ offer table is generated from it", "gen_offer_mockups.py reads this file; the eventual C++ offer table is generated from it",
"too, so the map exists once." "too, so the map exists once."
], ],
@@ -1,7 +1,7 @@
#include "CadDocument.hpp" #include "libslic3r/CAD/CadDocument.hpp"
#include "SketchConstraints.hpp" #include "libslic3r/CAD/SketchConstraints.hpp"
#include "SketchSolver.hpp" #include "libslic3r/CAD/SketchSolver.hpp"
#include "SketchImport.hpp" // transform_regions for imported art #include "libslic3r/CAD/SketchImport.hpp" // transform_regions for imported art
#include <array> #include <array>
@@ -1,10 +1,10 @@
#ifndef slic3r_CadDocument_hpp_ #ifndef slic3r_CadDocument_hpp_
#define slic3r_CadDocument_hpp_ #define slic3r_CadDocument_hpp_
#include "TriangleMesh.hpp" #include "libslic3r/TriangleMesh.hpp"
#include "SketchEngine.hpp" #include "libslic3r/CAD/SketchEngine.hpp"
#include "GeometryEngine.hpp" // FaceGroup #include "libslic3r/CAD/GeometryEngine.hpp" // FaceGroup
#include "Color.hpp" // ColorRGBA (per-body display colour override) #include "libslic3r/Color.hpp" // ColorRGBA (per-body display colour override)
#include <TopoDS_Shape.hxx> #include <TopoDS_Shape.hxx>
#include <TopoDS_Wire.hxx> #include <TopoDS_Wire.hxx>
@@ -1,4 +1,4 @@
#include "GeometryEngine.hpp" #include "libslic3r/CAD/GeometryEngine.hpp"
#include <BRepMesh_IncrementalMesh.hxx> #include <BRepMesh_IncrementalMesh.hxx>
#include <BRep_Tool.hxx> #include <BRep_Tool.hxx>
@@ -1,7 +1,7 @@
#ifndef slic3r_GeometryEngine_hpp_ #ifndef slic3r_GeometryEngine_hpp_
#define slic3r_GeometryEngine_hpp_ #define slic3r_GeometryEngine_hpp_
#include "TriangleMesh.hpp" #include "libslic3r/TriangleMesh.hpp"
#include <BRepPrimAPI_MakeBox.hxx> #include <BRepPrimAPI_MakeBox.hxx>
#include <BRepPrimAPI_MakeCylinder.hxx> #include <BRepPrimAPI_MakeCylinder.hxx>
@@ -1,4 +1,4 @@
#include "SketchConstraints.hpp" #include "libslic3r/CAD/SketchConstraints.hpp"
#include <Eigen/Dense> #include <Eigen/Dense>
#include <cmath> #include <cmath>
@@ -1,4 +1,4 @@
#include "SketchEngine.hpp" #include "libslic3r/CAD/SketchEngine.hpp"
#include <algorithm> #include <algorithm>
#include <cmath> #include <cmath>
@@ -1,9 +1,9 @@
#ifndef slic3r_SketchEngine_hpp_ #ifndef slic3r_SketchEngine_hpp_
#define slic3r_SketchEngine_hpp_ #define slic3r_SketchEngine_hpp_
#include "TriangleMesh.hpp" #include "libslic3r/TriangleMesh.hpp"
#include "libslic3r/Point.hpp" #include "libslic3r/Point.hpp"
#include "GeometryEngine.hpp" #include "libslic3r/CAD/GeometryEngine.hpp"
#include <gp_Pln.hxx> #include <gp_Pln.hxx>
#include <gp_Ax3.hxx> #include <gp_Ax3.hxx>
@@ -1,11 +1,11 @@
#include "SketchImport.hpp" #include "libslic3r/CAD/SketchImport.hpp"
#include "Emboss.hpp" #include "libslic3r/Emboss.hpp"
#include "NSVGUtils.hpp" #include "libslic3r/NSVGUtils.hpp"
#include "ExPolygon.hpp" #include "libslic3r/ExPolygon.hpp"
#include "TextConfiguration.hpp" // FontProp #include "libslic3r/TextConfiguration.hpp" // FontProp
#include "libslic3r.h" // SCALING_FACTOR #include "libslic3r/libslic3r.h" // SCALING_FACTOR
#include "Utils.hpp" // resources_dir #include "libslic3r/Utils.hpp" // resources_dir
#include <algorithm> #include <algorithm>
#include <limits> #include <limits>
@@ -1,7 +1,7 @@
#ifndef slic3r_SketchImport_hpp_ #ifndef slic3r_SketchImport_hpp_
#define slic3r_SketchImport_hpp_ #define slic3r_SketchImport_hpp_
#include "Point.hpp" // Vec2d #include "libslic3r/Point.hpp" // Vec2d
#include <string> #include <string>
#include <vector> #include <vector>
@@ -1,4 +1,4 @@
#include "SketchInference.hpp" #include "libslic3r/CAD/SketchInference.hpp"
#include <cmath> #include <cmath>
@@ -1,7 +1,7 @@
#ifndef slic3r_SketchInference_hpp_ #ifndef slic3r_SketchInference_hpp_
#define slic3r_SketchInference_hpp_ #define slic3r_SketchInference_hpp_
#include "SketchEngine.hpp" #include "libslic3r/CAD/SketchEngine.hpp"
#include <vector> #include <vector>
#include <optional> #include <optional>
#include <cmath> #include <cmath>
@@ -1,4 +1,4 @@
#include "SketchSolver.hpp" #include "libslic3r/CAD/SketchSolver.hpp"
#include <slvs.h> #include <slvs.h>
@@ -6,7 +6,7 @@
// hand-rolled SketchConstraints: full constraint set, real DoF counting, and // hand-rolled SketchConstraints: full constraint set, real DoF counting, and
// over-constrained (bad-constraint) detection. Solves on a fixed 2D XY workplane. // over-constrained (bad-constraint) detection. Solves on a fixed 2D XY workplane.
#include "SketchEngine.hpp" #include "libslic3r/CAD/SketchEngine.hpp"
#include <vector> #include <vector>
namespace Slic3r { namespace Slic3r {
@@ -1,4 +1,4 @@
#include "ThreadStandards.hpp" #include "libslic3r/CAD/ThreadStandards.hpp"
namespace Slic3r { namespace Slic3r {
+16 -16
View File
@@ -489,22 +489,22 @@ set(lisbslic3r_sources
# vendored SolveSpace solver; both are pulled in only when SLIC3R_CAD is ON. # vendored SolveSpace solver; both are pulled in only when SLIC3R_CAD is ON.
if (SLIC3R_CAD) if (SLIC3R_CAD)
list(APPEND lisbslic3r_sources list(APPEND lisbslic3r_sources
GeometryEngine.cpp CAD/GeometryEngine.cpp
GeometryEngine.hpp CAD/GeometryEngine.hpp
SketchEngine.cpp CAD/SketchEngine.cpp
SketchEngine.hpp CAD/SketchEngine.hpp
SketchConstraints.cpp CAD/SketchConstraints.cpp
SketchConstraints.hpp CAD/SketchConstraints.hpp
SketchSolver.cpp CAD/SketchSolver.cpp
SketchSolver.hpp CAD/SketchSolver.hpp
SketchInference.cpp CAD/SketchInference.cpp
SketchInference.hpp CAD/SketchInference.hpp
SketchImport.cpp CAD/SketchImport.cpp
SketchImport.hpp CAD/SketchImport.hpp
CadDocument.cpp CAD/CadDocument.cpp
CadDocument.hpp CAD/CadDocument.hpp
ThreadStandards.cpp CAD/ThreadStandards.cpp
ThreadStandards.hpp CAD/ThreadStandards.hpp
) )
endif () endif ()
+9 -9
View File
@@ -763,15 +763,15 @@ set(SLIC3R_GUI_SOURCES
# All of it sits behind SLIC3R_CAD and links the CAD kernel in libslic3r. # All of it sits behind SLIC3R_CAD and links the CAD kernel in libslic3r.
if (SLIC3R_CAD) if (SLIC3R_CAD)
list(APPEND SLIC3R_GUI_SOURCES list(APPEND SLIC3R_GUI_SOURCES
GUI/DesignPanel.cpp GUI/CAD/DesignPanel.cpp
GUI/DesignPanel.hpp GUI/CAD/DesignPanel.hpp
GUI/DesignCanvas.cpp GUI/CAD/DesignCanvas.cpp
GUI/DesignCanvas.hpp GUI/CAD/DesignCanvas.hpp
GUI/DesignSketchTool.cpp GUI/CAD/DesignSketchTool.cpp
GUI/SketchInlineEditor.cpp GUI/CAD/SketchInlineEditor.cpp
GUI/SketchInlineEditor.hpp GUI/CAD/SketchInlineEditor.hpp
GUI/McpControl.cpp GUI/CAD/McpControl.cpp
GUI/McpControl.hpp GUI/CAD/McpControl.hpp
GUI/Gizmos/GLGizmoSketch.cpp GUI/Gizmos/GLGizmoSketch.cpp
GUI/Gizmos/GLGizmoSketch.hpp GUI/Gizmos/GLGizmoSketch.hpp
# Needs GeometryEngine (make_primitive / apply_fillet / tessellate). # Needs GeometryEngine (make_primitive / apply_fillet / tessellate).
@@ -1,15 +1,15 @@
#include "DesignCanvas.hpp" #include "slic3r/GUI/CAD/DesignCanvas.hpp"
#include "SketchInlineEditor.hpp" #include "slic3r/GUI/CAD/SketchInlineEditor.hpp"
#include "GLCanvas3D.hpp" #include "slic3r/GUI/GLCanvas3D.hpp"
#include "OpenGLManager.hpp" #include "slic3r/GUI/OpenGLManager.hpp"
#include "3DBed.hpp" #include "slic3r/GUI/3DBed.hpp"
#include "GUI_App.hpp" #include "slic3r/GUI/GUI_App.hpp"
#include "Plater.hpp" #include "slic3r/GUI/Plater.hpp"
#include "libslic3r/Model.hpp" #include "libslic3r/Model.hpp"
#include "libslic3r/TriangleMesh.hpp" #include "libslic3r/TriangleMesh.hpp"
#include "3DScene.hpp" #include "slic3r/GUI/3DScene.hpp"
#include "MeshUtils.hpp" // ClippingPlane (section view) #include "slic3r/GUI/MeshUtils.hpp" // ClippingPlane (section view)
#include "libslic3r/Config.hpp" #include "libslic3r/Config.hpp"
#include <boost/algorithm/string/predicate.hpp> #include <boost/algorithm/string/predicate.hpp>
#include <algorithm> #include <algorithm>
@@ -8,10 +8,10 @@
#include <memory> #include <memory>
#include <string> #include <string>
#include "3DBed.hpp" #include "slic3r/GUI/3DBed.hpp"
#include "libslic3r/Model.hpp" #include "libslic3r/Model.hpp"
#include "libslic3r/SketchEngine.hpp" #include "libslic3r/CAD/SketchEngine.hpp"
#include "DesignSketchTool.hpp" #include "slic3r/GUI/CAD/DesignSketchTool.hpp"
class wxGLCanvas; class wxGLCanvas;
class wxFrame; class wxFrame;
@@ -1,8 +1,8 @@
#include "DesignPanel.hpp" #include "slic3r/GUI/CAD/DesignPanel.hpp"
#include "DesignCanvas.hpp" #include "slic3r/GUI/CAD/DesignCanvas.hpp"
#include "DesignSketchTool.hpp" #include "slic3r/GUI/CAD/DesignSketchTool.hpp"
#include "DesignOffer.hpp" // generated offer table — see docs/ux/tool_atlas.json #include "slic3r/GUI/CAD/DesignOffer.hpp" // generated offer table — see docs/ux/tool_atlas.json
#include "libslic3r/GeometryEngine.hpp" // face_by_index for face-extrude gizmo anchor #include "libslic3r/CAD/GeometryEngine.hpp" // face_by_index for face-extrude gizmo anchor
#include "libslic3r/TriangleMesh.hpp" // mesh import: STL/OBJ -> indexed_triangle_set #include "libslic3r/TriangleMesh.hpp" // mesh import: STL/OBJ -> indexed_triangle_set
#include "libslic3r/Format/OBJ.hpp" #include "libslic3r/Format/OBJ.hpp"
@@ -45,14 +45,14 @@
#include <atomic> #include <atomic>
#include "slic3r/GUI/wxExtensions.hpp" // ScalableButton, create_scaled_bitmap #include "slic3r/GUI/wxExtensions.hpp" // ScalableButton, create_scaled_bitmap
#include "Widgets/Label.hpp" // HarmonyOS Sans fonts (Head_*/Body_*) shared with the rest of Orca #include "slic3r/GUI/Widgets/Label.hpp" // HarmonyOS Sans fonts (Head_*/Body_*) shared with the rest of Orca
#include "Widgets/DropDown.hpp" // Orca-themed combo dropdown (white/teal selector) for the tool flyouts #include "slic3r/GUI/Widgets/DropDown.hpp" // Orca-themed combo dropdown (white/teal selector) for the tool flyouts
#include "Widgets/Button.hpp" // Orca-styled Button (ButtonStyle/ButtonType) — same look as Prepare #include "slic3r/GUI/Widgets/Button.hpp" // Orca-styled Button (ButtonStyle/ButtonType) — same look as Prepare
#include "Widgets/CheckBox.hpp" // Orca teal check (label lives in the row's left column) #include "slic3r/GUI/Widgets/CheckBox.hpp" // Orca teal check (label lives in the row's left column)
#include "Widgets/ComboBox.hpp" // Orca dropdown — replaces wxChoice in every Design card #include "slic3r/GUI/Widgets/ComboBox.hpp" // Orca dropdown — replaces wxChoice in every Design card
#include "Widgets/StaticBox.hpp" // Prepare's rounded white card frame around each tool dialog #include "slic3r/GUI/Widgets/StaticBox.hpp" // Prepare's rounded white card frame around each tool dialog
#include "libslic3r/SketchImport.hpp" // text_to_regions / svg_to_regions #include "libslic3r/CAD/SketchImport.hpp" // text_to_regions / svg_to_regions
#include "libslic3r/ThreadStandards.hpp" // ISO metric / Unified imperial thread tables #include "libslic3r/CAD/ThreadStandards.hpp" // ISO metric / Unified imperial thread tables
#include "libslic3r/Model.hpp" #include "libslic3r/Model.hpp"
#include "slic3r/GUI/GUI_App.hpp" #include "slic3r/GUI/GUI_App.hpp"
#include "slic3r/GUI/Plater.hpp" #include "slic3r/GUI/Plater.hpp"
@@ -10,7 +10,7 @@
#include <functional> #include <functional>
#include <map> #include <map>
#include "libslic3r/CadDocument.hpp" #include "libslic3r/CAD/CadDocument.hpp"
class ComboBox; // Orca dropdown (Widgets/ComboBox.hpp) — replaces wxChoice everywhere here class ComboBox; // Orca dropdown (Widgets/ComboBox.hpp) — replaces wxChoice everywhere here
class StaticBox; // Orca rounded card frame (Widgets/StaticBox.hpp) class StaticBox; // Orca rounded card frame (Widgets/StaticBox.hpp)
@@ -1,16 +1,16 @@
#include "DesignSketchTool.hpp" #include "slic3r/GUI/CAD/DesignSketchTool.hpp"
#include "GLCanvas3D.hpp" #include "slic3r/GUI/GLCanvas3D.hpp"
#include "GUI_App.hpp" #include "slic3r/GUI/GUI_App.hpp"
#include "ImGuiWrapper.hpp" #include "slic3r/GUI/ImGuiWrapper.hpp"
#include "Plater.hpp" #include "slic3r/GUI/Plater.hpp"
#include <imgui/imgui.h> #include <imgui/imgui.h>
#include <imgui/imgui_internal.h> #include <imgui/imgui_internal.h>
#include "libslic3r/BuildVolume.hpp" #include "libslic3r/BuildVolume.hpp"
#include "Camera.hpp" #include "slic3r/GUI/Camera.hpp"
#include "3DScene.hpp" #include "slic3r/GUI/3DScene.hpp"
#include "GLShader.hpp" #include "slic3r/GUI/GLShader.hpp"
#include "libslic3r/GeometryEngine.hpp" #include "libslic3r/CAD/GeometryEngine.hpp"
#include "libslic3r/TriangleMesh.hpp" #include "libslic3r/TriangleMesh.hpp"
#include <GL/glew.h> #include <GL/glew.h>
@@ -2,12 +2,12 @@
#define slic3r_DesignSketchTool_hpp_ #define slic3r_DesignSketchTool_hpp_
#include "libslic3r/Point.hpp" #include "libslic3r/Point.hpp"
#include "libslic3r/SketchEngine.hpp" #include "libslic3r/CAD/SketchEngine.hpp"
#include "libslic3r/CadDocument.hpp" // CadBody for per-body solid picking #include "libslic3r/CAD/CadDocument.hpp" // CadBody for per-body solid picking
#include "libslic3r/SketchInference.hpp" #include "libslic3r/CAD/SketchInference.hpp"
#include "libslic3r/SketchSolver.hpp" #include "libslic3r/CAD/SketchSolver.hpp"
#include "GLModel.hpp" #include "slic3r/GUI/GLModel.hpp"
#include "GLSelectionRectangle.hpp" // left-drag rubber band over the committed bodies #include "slic3r/GUI/GLSelectionRectangle.hpp" // left-drag rubber band over the committed bodies
#include <functional> #include <functional>
#include <vector> #include <vector>
#include <string> #include <string>
@@ -1,4 +1,4 @@
#include "McpControl.hpp" #include "slic3r/GUI/CAD/McpControl.hpp"
#ifndef _WIN32 // POSIX Unix-domain-socket transport only (slice 1) #ifndef _WIN32 // POSIX Unix-domain-socket transport only (slice 1)
@@ -21,13 +21,13 @@
#include <boost/log/trivial.hpp> #include <boost/log/trivial.hpp>
#include <Standard_Failure.hxx> // OCCT base error (not a std::exception) #include <Standard_Failure.hxx> // OCCT base error (not a std::exception)
#include "GUI_App.hpp" #include "slic3r/GUI/GUI_App.hpp"
#include "MainFrame.hpp" #include "slic3r/GUI/MainFrame.hpp"
#include "DesignPanel.hpp" #include "slic3r/GUI/CAD/DesignPanel.hpp"
#include "libslic3r/CadDocument.hpp" #include "libslic3r/CAD/CadDocument.hpp"
#include "libslic3r/SketchEngine.hpp" #include "libslic3r/CAD/SketchEngine.hpp"
#include "libslic3r/GeometryEngine.hpp" #include "libslic3r/CAD/GeometryEngine.hpp"
#include "libslic3r/TriangleMesh.hpp" #include "libslic3r/TriangleMesh.hpp"
#include "libslic3r/Format/OBJ.hpp" #include "libslic3r/Format/OBJ.hpp"
#include <boost/algorithm/string/case_conv.hpp> #include <boost/algorithm/string/case_conv.hpp>
@@ -1,4 +1,4 @@
#include "SketchInlineEditor.hpp" #include "slic3r/GUI/CAD/SketchInlineEditor.hpp"
#include <wx/display.h> #include <wx/display.h>
+1 -1
View File
@@ -1,7 +1,7 @@
#include "libslic3r/libslic3r.h" #include "libslic3r/libslic3r.h"
#include "GLCanvas3D.hpp" #include "GLCanvas3D.hpp"
#ifdef SLIC3R_CAD #ifdef SLIC3R_CAD
#include "DesignSketchTool.hpp" // SnapOrca Design: interactive 2D sketch tool #include "slic3r/GUI/CAD/DesignSketchTool.hpp" // SnapOrca Design: interactive 2D sketch tool
#endif #endif
#include <igl/unproject.h> #include <igl/unproject.h>
+1 -1
View File
@@ -3,7 +3,7 @@
#include "GLGizmoBase.hpp" #include "GLGizmoBase.hpp"
#include "GLGizmosCommon.hpp" #include "GLGizmosCommon.hpp"
#include "libslic3r/GeometryEngine.hpp" #include "libslic3r/CAD/GeometryEngine.hpp"
namespace Slic3r { namespace Slic3r {
namespace GUI { namespace GUI {
+1 -1
View File
@@ -3,7 +3,7 @@
#include "GLGizmoBase.hpp" #include "GLGizmoBase.hpp"
#include "GLGizmosCommon.hpp" #include "GLGizmosCommon.hpp"
#include "libslic3r/SketchEngine.hpp" #include "libslic3r/CAD/SketchEngine.hpp"
#include <imgui/imgui.h> #include <imgui/imgui.h>
namespace Slic3r { namespace Slic3r {
+2 -2
View File
@@ -38,8 +38,8 @@
#include "GLCanvas3D.hpp" #include "GLCanvas3D.hpp"
#include "Plater.hpp" #include "Plater.hpp"
#ifdef SLIC3R_CAD #ifdef SLIC3R_CAD
#include "DesignPanel.hpp" #include "slic3r/GUI/CAD/DesignPanel.hpp"
#include "McpControl.hpp" #include "slic3r/GUI/CAD/McpControl.hpp"
#endif #endif
#include "WebViewDialog.hpp" #include "WebViewDialog.hpp"
#include "../Utils/Process.hpp" #include "../Utils/Process.hpp"
+5 -5
View File
@@ -12,11 +12,11 @@
do { const std::string _actual = (str); INFO("actual: " << _actual); \ do { const std::string _actual = (str); INFO("actual: " << _actual); \
CHECK(_actual.find(sub) != std::string::npos); } while (0) CHECK(_actual.find(sub) != std::string::npos); } while (0)
#include "libslic3r/CadDocument.hpp" #include "libslic3r/CAD/CadDocument.hpp"
#include "libslic3r/GeometryEngine.hpp" #include "libslic3r/CAD/GeometryEngine.hpp"
#include "libslic3r/SketchEngine.hpp" #include "libslic3r/CAD/SketchEngine.hpp"
#include "libslic3r/SketchImport.hpp" #include "libslic3r/CAD/SketchImport.hpp"
#include "libslic3r/ThreadStandards.hpp" #include "libslic3r/CAD/ThreadStandards.hpp"
#include "libslic3r/Utils.hpp" #include "libslic3r/Utils.hpp"
#include <cmath> #include <cmath>
+1 -1
View File
@@ -1,5 +1,5 @@
#include <catch2/catch_all.hpp> // mainline OrcaSlicer ships Catch2 v3 (v2 was catch2/catch.hpp) #include <catch2/catch_all.hpp> // mainline OrcaSlicer ships Catch2 v3 (v2 was catch2/catch.hpp)
#include "libslic3r/SketchConstraints.hpp" #include "libslic3r/CAD/SketchConstraints.hpp"
using namespace Slic3r; using namespace Slic3r;
+1 -1
View File
@@ -1,5 +1,5 @@
#include <catch2/catch_all.hpp> // mainline OrcaSlicer ships Catch2 v3 (v2 was catch2/catch.hpp) #include <catch2/catch_all.hpp> // mainline OrcaSlicer ships Catch2 v3 (v2 was catch2/catch.hpp)
#include "libslic3r/SketchEngine.hpp" #include "libslic3r/CAD/SketchEngine.hpp"
#include <cmath> #include <cmath>
using namespace Slic3r; using namespace Slic3r;
+1 -1
View File
@@ -1,6 +1,6 @@
#include <catch2/catch_all.hpp> // mainline OrcaSlicer ships Catch2 v3 (v2 was catch2/catch.hpp) #include <catch2/catch_all.hpp> // mainline OrcaSlicer ships Catch2 v3 (v2 was catch2/catch.hpp)
#include "libslic3r/SketchImport.hpp" #include "libslic3r/CAD/SketchImport.hpp"
#include "libslic3r/Utils.hpp" // resources_dir #include "libslic3r/Utils.hpp" // resources_dir
#include "test_utils.hpp" // ScopedTemporaryFile #include "test_utils.hpp" // ScopedTemporaryFile
+1 -1
View File
@@ -1,7 +1,7 @@
#include <catch2/catch_all.hpp> // mainline OrcaSlicer ships Catch2 v3 (v2 was catch2/catch.hpp) #include <catch2/catch_all.hpp> // mainline OrcaSlicer ships Catch2 v3 (v2 was catch2/catch.hpp)
using Catch::Approx; // v3 scopes Approx into the Catch namespace; v2 had it at global scope using Catch::Approx; // v3 scopes Approx into the Catch namespace; v2 had it at global scope
#include "libslic3r/SketchInference.hpp" #include "libslic3r/CAD/SketchInference.hpp"
using namespace Slic3r; using namespace Slic3r;
using K = InferenceSnap::Kind; using K = InferenceSnap::Kind;
+2 -2
View File
@@ -1,8 +1,8 @@
#include <catch2/catch_all.hpp> // mainline OrcaSlicer ships Catch2 v3 (v2 was catch2/catch.hpp) #include <catch2/catch_all.hpp> // mainline OrcaSlicer ships Catch2 v3 (v2 was catch2/catch.hpp)
using Catch::Approx; // v3 scopes Approx into the Catch namespace; v2 had it at global scope using Catch::Approx; // v3 scopes Approx into the Catch namespace; v2 had it at global scope
#include "libslic3r/SketchSolver.hpp" #include "libslic3r/CAD/SketchSolver.hpp"
#include "libslic3r/SketchEngine.hpp" #include "libslic3r/CAD/SketchEngine.hpp"
using namespace Slic3r; using namespace Slic3r;
using CT = SketchConstraintType; using CT = SketchConstraintType;