Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/prusa3d/PrusaSlicer.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlessandro Ranellucci <aar@cpan.org>2014-04-24 15:43:24 +0400
committerAlessandro Ranellucci <aar@cpan.org>2014-04-24 15:44:39 +0400
commit6201aacf88fe1bfbf2bba5212a6d1f3400bba97d (patch)
treeb7fe9b36a0e7e8a6068fda233028940783f8f897 /t/bridges.t
parentd458a7c4d2b501391aefa6ab31735bc06bcd4959 (diff)
New coverage detection for bridges. Includes implementation of ExPolygon::get_trapezoids()
Diffstat (limited to 't/bridges.t')
-rw-r--r--t/bridges.t11
1 files changed, 8 insertions, 3 deletions
diff --git a/t/bridges.t b/t/bridges.t
index ff20af2fe..daddd7f6b 100644
--- a/t/bridges.t
+++ b/t/bridges.t
@@ -1,4 +1,4 @@
-use Test::More tests => 6;
+use Test::More tests => 12;
use strict;
use warnings;
@@ -7,7 +7,7 @@ BEGIN {
use lib "$FindBin::Bin/../lib";
}
-use List::Util qw(first);
+use List::Util qw(first sum);
use Slic3r;
use Slic3r::Geometry qw(scale epsilon deg2rad rad2deg PI);
use Slic3r::Test;
@@ -68,7 +68,10 @@ use Slic3r::Test;
}
sub check_angle {
- my ($lower, $bridge, $expected, $tolerance) = @_;
+ my ($lower, $bridge, $expected, $tolerance, $expected_coverage) = @_;
+
+ $expected_coverage //= -1;
+ $expected_coverage = $bridge->area if $expected_coverage == -1;
my $bd = Slic3r::Layer::BridgeDetector->new(
expolygon => $bridge,
@@ -78,6 +81,8 @@ sub check_angle {
$tolerance //= rad2deg($bd->resolution) + epsilon;
my $result = $bd->detect_angle;
+ my $coverage = $bd->coverage;
+ is sum(map $_->area, @$coverage), $expected_coverage, 'correct coverage area';
# our epsilon is equal to the steps used by the bridge detection algorithm
###use XXX; YYY [ rad2deg($result), $expected ];