mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-06-09 21:42:56 +00:00
fix build errors
This commit is contained in:
@@ -4057,7 +4057,7 @@ static bool split_extrusion_collection_for_pointillism_paths(
|
||||
dst = std::make_unique<ExtrusionEntityCollection>();
|
||||
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<const ExtrusionPath*>(entity)) {
|
||||
lines.emplace_back(path->polyline);
|
||||
lines.emplace_back(path->polyline.to_polyline());
|
||||
} else if (const auto* multipath = dynamic_cast<const ExtrusionMultiPath*>(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<const ExtrusionLoop*>(entity)) {
|
||||
for (const ExtrusionPath& p : loop->paths)
|
||||
lines.emplace_back(p.polyline);
|
||||
lines.emplace_back(p.polyline.to_polyline());
|
||||
}
|
||||
}
|
||||
return lines;
|
||||
|
||||
@@ -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<unsigned int> &extruder_ids);
|
||||
|
||||
@@ -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<const ExtrusionPath*>(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<const ExtrusionMultiPath*>(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<const ExtrusionLoop*>(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;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user