From 620f94331c65aa50f59b9728b2e6c4cd13d7c78b Mon Sep 17 00:00:00 2001 From: Vojtech Bubnik <bubnikv@gmail.com> Date: Mon, 16 Nov 2020 13:44:15 +0100 Subject: [PATCH] fix of OSX build: workaround of non-standard std::optional --- src/libslic3r/Fill/FillAdaptive.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/libslic3r/Fill/FillAdaptive.cpp b/src/libslic3r/Fill/FillAdaptive.cpp index b9775fcda..07c454c80 100644 --- a/src/libslic3r/Fill/FillAdaptive.cpp +++ b/src/libslic3r/Fill/FillAdaptive.cpp @@ -725,7 +725,7 @@ static void add_hook( update_max_length(t); } if (self_intersection) { - double t = (self_intersection_point.cast<double>() - pt).dot(dir) - shift_from_thick_line(self_intersection_line.value().vector().cast<double>()); + double t = (self_intersection_point.cast<double>() - pt).dot(dir) - shift_from_thick_line((*self_intersection_line).vector().cast<double>()); max_length = std::min(max_length, t); } return std::max(0., max_length); @@ -878,7 +878,7 @@ static Polylines connect_lines_using_hooks(Polylines &&lines, const ExPolygon &b std::optional<size_t> out; if (in) { const Polyline *lo = &line; - const Polyline *hi = &lines[in.value()]; + const Polyline *hi = &lines[*in]; if (lo > hi) std::swap(lo, hi); if (! std::binary_search(lines_touching_at_endpoints.begin(), lines_touching_at_endpoints.end(), std::make_pair(lo, hi))) @@ -914,10 +914,10 @@ static Polylines connect_lines_using_hooks(Polylines &&lines, const ExPolygon &b } else if (anchor) { if (tjoint_front) // T-joint of line's front point with the 'closest' line. - intersections.emplace_back(lines_src[tjoint_front.value()], lines_src[line_idx], &line, front_point, true); + intersections.emplace_back(lines_src[*tjoint_front], lines_src[line_idx], &line, front_point, true); if (tjoint_back) // T-joint of line's back point with the 'closest' line. - intersections.emplace_back(lines_src[tjoint_back.value()], lines_src[line_idx], &line, back_point, false); + intersections.emplace_back(lines_src[*tjoint_back], lines_src[line_idx], &line, back_point, false); } else { if (tjoint_front) // T joint at the front at a 60 degree angle, the line is very short.