mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-09-28 11:21:30 +00:00
Merge upstream/main into cad-mainline (530 commits)
Catches the fork up from449a4cf9fc(2026-06-28) tod6cb667b89(2026-07-24). Upstream touched 2326 files; 17 of them overlap the 164 this branch touches. 16 of the 17 auto-merged, including all three CMakeLists.txt, the build_all.yml CI workflow, and every GUI file. The CAD core never conflicts: CadDocument, SketchEngine, SketchSolver, McpControl and test_caddocument are files this fork adds, so upstream does not touch them. The one conflict, tests/libslic3r/test_3mf.cpp, was purely additive in all three hunks and is resolved as a union: our test pinning that store_bbs_3mf embeds the CAD recipe as Metadata/SnapOrca_cad.bin, upstream's multi-nozzle plate-metadata round-trip tests, and both sets of includes. All three were verified present after resolution rather than assumed. NOT BUILD-VERIFIED, for a reason that predates this merge and is not caused by it: this fork cannot be configured on nativedev at all. Its CMakeLists has required Eigen3 5.0.1 since before the merge (line 592 pre-merge), while the only deps image on the machine is snaporca-deps, built for snaporca's find_package(Eigen3 3.3). CMake fails at configure, so nothing compiles. That means this fork's Catch2 suite has never run. Every "suite green" figure recorded for M1-M8 was snaporca's suite; the ports were verified by patch-apply plus the CAD sources being byte-identical to snaporca's. Building an orca_cad deps image with Eigen 5.0.1 is what would finally close that gap. Pre-merge state is preserved at branch cad-mainline-pre-upstream-2026-07-25 (30d54f0074). Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -167,7 +167,7 @@ private:
|
||||
wxCoord m_name_texture_height;
|
||||
|
||||
void init();
|
||||
bool valid_instance(int obj_id, int instance_id);
|
||||
bool valid_instance(int obj_id, int instance_id) const;
|
||||
void generate_print_polygon(ExPolygon &print_polygon);
|
||||
void generate_exclude_polygon(ExPolygon &exclude_polygon);
|
||||
void generate_logo_polygon(ExPolygon &logo_polygon);
|
||||
@@ -253,6 +253,7 @@ public:
|
||||
PrintSequence get_real_print_seq(bool* plate_same_as_global=nullptr) const;
|
||||
|
||||
std::vector<int> get_real_filament_maps(const DynamicConfig& g_config, bool* use_global_param = nullptr)const;
|
||||
std::vector<int> get_real_filament_volume_maps(const DynamicConfig& g_config, bool* use_global_param = nullptr) const;
|
||||
FilamentMapMode get_real_filament_map_mode(const DynamicConfig& g_config,bool * use_global_param = nullptr) const;
|
||||
|
||||
FilamentMapMode get_filament_map_mode() const;
|
||||
@@ -262,6 +263,15 @@ public:
|
||||
std::vector<int> get_filament_maps() const;
|
||||
void set_filament_maps(const std::vector<int>& f_maps);
|
||||
|
||||
// per-filament nozzle-volume choice (NozzleVolumeType values, 0 based filament ids)
|
||||
std::vector<int> get_filament_volume_maps() const;
|
||||
void set_filament_volume_maps(const std::vector<int>& f_maps);
|
||||
void clear_filament_volume_map();
|
||||
|
||||
// per-filament nozzle-group choice (0 based filament and nozzle ids)
|
||||
std::vector<int> get_filament_nozzle_maps() const;
|
||||
void set_filament_nozzle_maps(const std::vector<int>& f_maps);
|
||||
|
||||
void clear_filament_map();
|
||||
void clear_filament_map_mode();
|
||||
|
||||
@@ -340,6 +350,7 @@ public:
|
||||
std::vector<int> get_used_filaments();
|
||||
const std::vector<FilamentInfo>& get_slice_filaments_info() const { return slice_filaments_info; }
|
||||
int get_physical_extruder_by_filament_id(const DynamicConfig& g_config, int idx) const;
|
||||
int get_logical_extruder_by_filament_id(const DynamicConfig& g_config, int idx) const;
|
||||
bool check_filament_printable(const DynamicPrintConfig & config, wxString& error_message);
|
||||
bool check_tpu_printable_status(const DynamicPrintConfig & config, const std::vector<int> &tpu_filaments);
|
||||
bool check_mixture_of_pla_and_petg(const DynamicPrintConfig & config);
|
||||
@@ -673,6 +684,12 @@ public:
|
||||
this->filename = part.filename;
|
||||
this->texture = part.texture;
|
||||
}
|
||||
void update_pos(float xx, float yy, float ww, float hh) {
|
||||
x = xx;
|
||||
y = yy;
|
||||
w = ww;
|
||||
h = hh;
|
||||
}
|
||||
void update_file(std::string file) {
|
||||
filename = file;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user