From db55bd706ee22cf08e6b6288521595af2e9864e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luk=C3=A1=C5=A1=20Hejl?= Date: Tue, 27 Apr 2021 00:36:22 +0200 Subject: [PATCH] Fixed case in MMU segmentation when the infinity-edge in the Voronoi diagram has vertex0(), and vertex1() equals nullptr. --- src/libslic3r/MultiMaterialSegmentation.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libslic3r/MultiMaterialSegmentation.cpp b/src/libslic3r/MultiMaterialSegmentation.cpp index 865e0aaa4d..c3f2fed13d 100644 --- a/src/libslic3r/MultiMaterialSegmentation.cpp +++ b/src/libslic3r/MultiMaterialSegmentation.cpp @@ -795,7 +795,7 @@ static MMU_Graph build_graph(size_t layer_idx, const std::vectorcell()->source_index() > edge_it->twin()->cell()->source_index() || edge_it->color()) continue; - if (edge_it->is_infinite()) { + if (edge_it->is_infinite() && (edge_it->vertex0() != nullptr || edge_it->vertex1() != nullptr)) { // Infinite edge is leading through a point on the counter, but there are no Voronoi vertices. // So we could fix this case by computing the intersection between the contour line and infinity edge. std::vector samples;