30 lines
618 B
Perl
30 lines
618 B
Perl
|
package Slic3r::Print;
|
||
|
use Moose;
|
||
|
|
||
|
has 'layers' => (
|
||
|
traits => ['Array'],
|
||
|
is => 'rw',
|
||
|
isa => 'ArrayRef[Slic3r::Layer]',
|
||
|
default => sub { [] },
|
||
|
handles => {
|
||
|
layer_count => 'count',
|
||
|
add_layer => 'push',
|
||
|
},
|
||
|
);
|
||
|
|
||
|
sub layer {
|
||
|
my $self = shift;
|
||
|
my ($layer_id) = @_;
|
||
|
|
||
|
# extend our print by creating all necessary layers
|
||
|
if ($self->layer_count < $layer_id + 1) {
|
||
|
for (my $i = $self->layer_count; $i <= $layer_id; $i++) {
|
||
|
$self->add_layer(Slic3r::Layer->new(id => $i));
|
||
|
}
|
||
|
}
|
||
|
|
||
|
return $self->layers->[$layer_id];
|
||
|
}
|
||
|
|
||
|
1;
|