diff --git a/src/libslic3r/GCode.cpp b/src/libslic3r/GCode.cpp index ce2006e5b2b..1c8fb8ffa54 100644 --- a/src/libslic3r/GCode.cpp +++ b/src/libslic3r/GCode.cpp @@ -10037,8 +10037,8 @@ std::optional GCode::texture_mapping_seam_hiding_hint(const const float max_local_edge_tangent_delta_mm = std::max(0.75f, base_outer_width_mm * 1.5f); const float max_local_edge_normal_delta_mm = std::max(1.25f, base_outer_width_mm * 3.f + 2.f * max_allowed_distance_mm); - const Point &a = points[segment_index - 1]; - const Point &b = points[segment_index]; + const Point3 &a = points[segment_index - 1]; + const Point3 &b = points[segment_index]; const double ax = double(a.x()); const double ay = double(a.y()); const double bx = double(b.x()); @@ -10569,8 +10569,8 @@ std::string GCode::extrude_loop(ExtrusionLoop loop, std::string description, dou // create the destination point along the first segment and rotate it // we make sure we don't exceed the segment length because we don't know // the rotation of the second segment so we might cross the object boundary - Vec2d p1 = paths.front().polyline.points.front().cast(); - Vec2d p2 = paths.front().polyline.points[1].cast(); + Vec2d p1 = paths.front().polyline.points.front().to_point().cast(); + Vec2d p2 = paths.front().polyline.points[1].to_point().cast(); Vec2d v = p2 - p1; double nd = scale_(EXTRUDER_CONFIG(nozzle_diameter)); double l2 = v.squaredNorm(); @@ -10665,7 +10665,7 @@ std::string GCode::extrude_path(ExtrusionPath path, std::string description, dou double min_dist = scale_(0.2); int i = 0; for (; i < path.polyline.points.size(); i++) { - double dist = (path.polyline.points[i] - path.last_point()).cast().norm(); + double dist = (path.polyline.points[i].to_point() - path.last_point()).cast().norm(); if (dist < min_dist) min_dist = dist; if (min_dist < scale_(0.2) && dist > min_dist) break; } @@ -12685,7 +12685,7 @@ std::string GCode::_extrude(const ExtrusionPath &path, std::string description, // Move to first point of extrusion path // path is 2D. But in slope lift case, lift z is done in travel_to function. // Add m_need_change_layer_lift_z when change_layer in case of no lift if m_last_pos is equal to path.first_point() by chance - if (!m_last_pos_defined || m_last_pos != extrusion_start_point || m_need_change_layer_lift_z || slope_need_z_travel) { + if (!m_last_pos_defined || m_last_pos.to_point() != extrusion_start_point || m_need_change_layer_lift_z || slope_need_z_travel) { const bool _last_pos_undefined = !m_last_pos_defined; gcode += this->travel_to( extrusion_start_point,