Call get_layer instead of layers->[] (more efficient now that layers() recreates the array).

This commit is contained in:
Y. Sapir 2014-06-13 18:45:44 +03:00
parent 97231327e0
commit a168973bea
3 changed files with 38 additions and 37 deletions

View file

@ -479,7 +479,7 @@ sub process {
my $q = shift;
while (defined (my $obj_layer = $q->dequeue)) {
my ($i, $region_id) = @$obj_layer;
my $layerm = $object->layers->[$i]->regions->[$region_id];
my $layerm = $object->get_layer($i)->regions->[$region_id];
$layerm->fills->clear;
$layerm->fills->append( $object->fill_maker->make_fill($layerm) );
}
@ -668,7 +668,7 @@ sub make_skirt {
? scalar(@{$object->layers})
: min($self->config->skirt_height, scalar(@{$object->layers}));
my $highest_layer = $object->layers->[$skirt_height-1];
my $highest_layer = $object->get_layer($skirt_height - 1);
$skirt_height_z = max($skirt_height_z, $highest_layer->print_z);
}
@ -781,7 +781,7 @@ sub make_brim {
my @islands = (); # array of polygons
foreach my $obj_idx (0 .. ($self->object_count - 1)) {
my $object = $self->objects->[$obj_idx];
my $layer0 = $object->layers->[0];
my $layer0 = $object->get_layer(0);
my @object_islands = (
(map $_->contour, @{$layer0->slices}),
);