From ad9c4e2565844921065da73159d2c9f7899b06c9 Mon Sep 17 00:00:00 2001 From: Florens Wasserfall Date: Wed, 21 Jun 2017 10:19:35 +0200 Subject: [PATCH] Bugfix: legacy return value exception caused problems with vertical surfaces --- t/adaptive_slicing.t | 8 ++++---- xs/src/libslic3r/SlicingAdaptive.cpp | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/t/adaptive_slicing.t b/t/adaptive_slicing.t index 1406e4956..64c3769fc 100644 --- a/t/adaptive_slicing.t +++ b/t/adaptive_slicing.t @@ -71,9 +71,9 @@ $adaptive_slicing->prepare(20); subtest 'max layer_height limited by extruder capabilities' => sub { plan tests => 3; - ok (_eq($adaptive_slicing->next_layer_height(1, 50, 0.1, 0.15), 0.15), 'low'); - ok (_eq($adaptive_slicing->next_layer_height(1, 80, 0.1, 0.4), 0.4), 'higher'); - ok (_eq($adaptive_slicing->next_layer_height(1, 80, 0.1, 0.65), 0.65), 'highest'); + ok (_eq($adaptive_slicing->next_layer_height(1, 20, 0.1, 0.15), 0.15), 'low'); + ok (_eq($adaptive_slicing->next_layer_height(1, 20, 0.1, 0.4), 0.4), 'higher'); + ok (_eq($adaptive_slicing->next_layer_height(1, 20, 0.1, 0.65), 0.65), 'highest'); }; subtest 'min layer_height limited by extruder capabilities' => sub { @@ -87,7 +87,7 @@ subtest 'min layer_height limited by extruder capabilities' => sub { subtest 'correct layer_height depending on the facet normals' => sub { plan tests => 3; - ok (_eq($adaptive_slicing->next_layer_height(1, 90, 0.1, 0.5), 0.5), 'limit'); + ok (_eq($adaptive_slicing->next_layer_height(1, 10, 0.1, 0.5), 0.5), 'limit'); ok (_eq($adaptive_slicing->next_layer_height(4, 80, 0.1, 0.5), 0.1546), '45deg facet, quality_value: 0.2'); ok (_eq($adaptive_slicing->next_layer_height(4, 50, 0.1, 0.5), 0.3352), '45deg facet, quality_value: 0.5'); }; diff --git a/xs/src/libslic3r/SlicingAdaptive.cpp b/xs/src/libslic3r/SlicingAdaptive.cpp index d0ceae95d..7cd25a0f4 100644 --- a/xs/src/libslic3r/SlicingAdaptive.cpp +++ b/xs/src/libslic3r/SlicingAdaptive.cpp @@ -176,7 +176,7 @@ float SlicingAdaptive::_layer_height_from_facet(int ordered_id, float scaled_qua { float normal_z = std::abs(m_face_normal_z[ordered_id]); float height = scaled_quality_factor/(SURFACE_CONST + normal_z/2); - return (normal_z == 0.f) ? 9999.f : height; + return height; } }; // namespace Slic3r