From a71f42c3c7967214705c1c33b817810f9011a963 Mon Sep 17 00:00:00 2001 From: SoftFever Date: Sat, 2 May 2026 15:54:14 +0800 Subject: [PATCH] fix build errors --- src/libslic3r/GCode.cpp | 14 +++++++------- src/libslic3r/GCode.hpp | 11 +---------- src/libslic3r/Print.cpp | 6 +++--- 3 files changed, 11 insertions(+), 20 deletions(-) diff --git a/src/libslic3r/GCode.cpp b/src/libslic3r/GCode.cpp index 8032dd1056..74eff4ca1e 100644 --- a/src/libslic3r/GCode.cpp +++ b/src/libslic3r/GCode.cpp @@ -4057,7 +4057,7 @@ static bool split_extrusion_collection_for_pointillism_paths( dst = std::make_unique(); dst->no_sort = source.no_sort; } - ExtrusionPath out_path(piece, src_path); + ExtrusionPath out_path(Polyline3(piece), src_path); out_path.inset_idx = k_pointillism_path_inset_marker; dst->append(std::move(out_path)); ++out_stats.segment_count; @@ -4067,7 +4067,7 @@ static bool split_extrusion_collection_for_pointillism_paths( for (const ExtrusionEntity* entity : flattened.entities) { auto split_one_path = [&](const ExtrusionPath& path) { Polylines pieces; - split_polyline_by_length_for_pointillism(path.polyline, split_length_scaled, pieces); + split_polyline_by_length_for_pointillism(path.polyline.to_polyline(), split_length_scaled, pieces); const double trim_each_end = std::max(0.0, split_gap_scaled * 0.5); for (Polyline& piece : pieces) { if (trim_each_end > EPSILON && @@ -4598,7 +4598,7 @@ static inline void append_clipped_path_lz(const ExtrusionPath& src_path, const double flow_height_override, ExtrusionEntityCollection& dst) { - Polylines segments{src_path.polyline}; + Polylines segments{src_path.polyline.to_polyline()}; if (include_masks != nullptr && !include_masks->empty()) segments = intersection_pl(std::move(segments), *include_masks); if (exclude_masks != nullptr && !exclude_masks->empty()) @@ -4607,7 +4607,7 @@ static inline void append_clipped_path_lz(const ExtrusionPath& src_path, for (Polyline& segment : segments) { if (!segment.is_valid()) continue; - ExtrusionPath clipped(segment, src_path); + ExtrusionPath clipped(Polyline3(segment), src_path); apply_local_z_flow_height_override(clipped, flow_height_override); dst.append(std::move(clipped)); } @@ -4699,13 +4699,13 @@ static inline Polylines collect_local_z_polylines(const ExtrusionEntityCollectio ExtrusionEntityCollection flattened = source.flatten(false); for (const ExtrusionEntity* entity : flattened.entities) { if (const auto* path = dynamic_cast(entity)) { - lines.emplace_back(path->polyline); + lines.emplace_back(path->polyline.to_polyline()); } else if (const auto* multipath = dynamic_cast(entity)) { for (const ExtrusionPath& p : multipath->paths) - lines.emplace_back(p.polyline); + lines.emplace_back(p.polyline.to_polyline()); } else if (const auto* loop = dynamic_cast(entity)) { for (const ExtrusionPath& p : loop->paths) - lines.emplace_back(p.polyline); + lines.emplace_back(p.polyline.to_polyline()); } } return lines; diff --git a/src/libslic3r/GCode.hpp b/src/libslic3r/GCode.hpp index 15e6ed084d..61df47fd08 100644 --- a/src/libslic3r/GCode.hpp +++ b/src/libslic3r/GCode.hpp @@ -416,16 +416,7 @@ private: return resolved_1based == 0 ? 0 : resolved_1based - 1; } - // Mixed-filament resolution: convert a virtual 1-based filament ID to a zero-based - // physical extruder ID ready to pass to set_extruder(). When mixed_mgr is null or - // the ID is not a mixed slot the call is a no-op (returns virtual_id_1based - 1). - unsigned int resolve_extruder_for_layer(unsigned int virtual_id_1based, - const LayerTools &layer_tools) const - { - const unsigned int resolved_1based = layer_tools.resolve_mixed_1based(virtual_id_1based); - return resolved_1based == 0 ? 0 : resolved_1based - 1; - } - + void set_last_pos(const Point &pos) { m_last_pos = Point3(pos, 0); m_last_pos_defined = true; } void set_last_pos(const Point3 &pos) { m_last_pos = pos; m_last_pos_defined = true; } bool last_pos_defined() const { return m_last_pos_defined; } void set_extruders(const std::vector &extruder_ids); diff --git a/src/libslic3r/Print.cpp b/src/libslic3r/Print.cpp index 692a7a8ac1..177f26a6f8 100644 --- a/src/libslic3r/Print.cpp +++ b/src/libslic3r/Print.cpp @@ -153,16 +153,16 @@ static bool extrusion_collection_has_local_z_perimeter_segment(const ExtrusionEn ExtrusionEntityCollection flattened = source.flatten(false); for (const ExtrusionEntity *entity : flattened.entities) { if (const auto *path = dynamic_cast(entity)) { - if (local_z_segments_exist(intersection_pl(Polylines{path->polyline}, include_masks))) + if (local_z_segments_exist(intersection_pl(Polylines{path->polyline.to_polyline()}, include_masks))) return true; } else if (const auto *multipath = dynamic_cast(entity)) { for (const ExtrusionPath &path : multipath->paths) { - if (local_z_segments_exist(intersection_pl(Polylines{path.polyline}, include_masks))) + if (local_z_segments_exist(intersection_pl(Polylines{path.polyline.to_polyline()}, include_masks))) return true; } } else if (const auto *loop = dynamic_cast(entity)) { for (const ExtrusionPath &path : loop->paths) { - if (local_z_segments_exist(intersection_pl(Polylines{path.polyline}, include_masks))) + if (local_z_segments_exist(intersection_pl(Polylines{path.polyline.to_polyline()}, include_masks))) return true; } }