Fixed regression causing inefficient paths during infill
This commit is contained in:
parent
dcc0ce78db
commit
bf603b0221
3 changed files with 50 additions and 5 deletions
37
t/fill.t
37
t/fill.t
|
@ -2,7 +2,7 @@ use Test::More;
|
|||
use strict;
|
||||
use warnings;
|
||||
|
||||
plan tests => 5;
|
||||
plan tests => 8;
|
||||
|
||||
BEGIN {
|
||||
use FindBin;
|
||||
|
@ -52,4 +52,39 @@ sub scale_points (@) { map [scale $_->[X], scale $_->[Y]], @_ }
|
|||
'shortest path';
|
||||
}
|
||||
|
||||
{
|
||||
my $collection = Slic3r::Polyline::Collection->new(polylines => [
|
||||
Slic3r::Polyline->new([4,0], [10,0], [15,0]),
|
||||
Slic3r::Polyline->new([10,5], [15,5], [20,5]),
|
||||
]);
|
||||
is_deeply
|
||||
[ map $_->[X], map @$_, $collection->shortest_path(Slic3r::Point->new(30,0)) ],
|
||||
[reverse 4, 10, 15, 10, 15, 20],
|
||||
'shortest path';
|
||||
}
|
||||
|
||||
{
|
||||
my $collection = Slic3r::ExtrusionPath::Collection->new(paths => [
|
||||
map Slic3r::ExtrusionPath->pack(polyline => $_, role => 0),
|
||||
Slic3r::Polyline->new([0,15], [0,18], [0,20]),
|
||||
Slic3r::Polyline->new([0,10], [0,8], [0,5]),
|
||||
]);
|
||||
is_deeply
|
||||
[ map $_->[Y], map @{$_->unpack->polyline}, $collection->shortest_path(Slic3r::Point->new(0,30)) ],
|
||||
[20, 18, 15, 10, 8, 5],
|
||||
'shortest path';
|
||||
}
|
||||
|
||||
{
|
||||
my $collection = Slic3r::ExtrusionPath::Collection->new(paths => [
|
||||
map Slic3r::ExtrusionPath->pack(polyline => $_, role => 0),
|
||||
Slic3r::Polyline->new([15,0], [10,0], [4,0]),
|
||||
Slic3r::Polyline->new([10,5], [15,5], [20,5]),
|
||||
]);
|
||||
is_deeply
|
||||
[ map $_->[X], map @{$_->unpack->polyline}, $collection->shortest_path(Slic3r::Point->new(30,0)) ],
|
||||
[reverse 4, 10, 15, 10, 15, 20],
|
||||
'shortest path';
|
||||
}
|
||||
|
||||
__END__
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue