Bugfix: failure when exporting SVG from object containing multiple islands. Includes regression test. #2050

master
Alessandro Ranellucci 2014-05-26 11:13:53 +02:00
parent 0decbbf910
commit 7ea09a0071
2 changed files with 14 additions and 2 deletions

View File

@ -580,7 +580,7 @@ EOF
my @current_layer_slices = ();
# sort slices so that the outermost ones come first
my @slices = sort { $a->contour->encloses_point($b->contour->[0]) ? 0 : 1 } @{$layer->slices};
my @slices = sort { $a->contour->contains_point($b->contour->[0]) ? 0 : 1 } @{$layer->slices};
foreach my $copy (@{$layer->object->copies}) {
foreach my $slice (@slices) {
my $expolygon = $slice->clone;

14
t/svg.t
View File

@ -1,4 +1,4 @@
use Test::More tests => 1;
use Test::More tests => 2;
use strict;
use warnings;
@ -17,7 +17,19 @@ use Slic3r::Test;
$print->print->export_svg(output_fh => $fh, quiet => 1);
$fh->close;
};
die $@ if $@;
ok !$@, 'successful SVG export';
}
{
my $print = Slic3r::Test::init_print('two_hollow_squares');
eval {
my $fh = IO::Scalar->new(\my $gcode);
$print->print->export_svg(output_fh => $fh, quiet => 1);
$fh->close;
};
die $@ if $@;
ok !$@, 'successful SVG export of object with two islands';
}
__END__