Optimization: don't reload 3D toolpaths each time the preview tab is selected

This commit is contained in:
Alessandro Ranellucci 2015-01-25 10:59:39 +01:00
parent 38d8b1d268
commit 43f57ba2cb
2 changed files with 15 additions and 4 deletions

View file

@ -8,7 +8,7 @@ use Wx qw(:misc :sizer :slider :statictext wxWHITE);
use Wx::Event qw(EVT_SLIDER EVT_KEY_DOWN);
use base qw(Wx::Panel Class::Accessor);
__PACKAGE__->mk_accessors(qw(print enabled canvas slider));
__PACKAGE__->mk_accessors(qw(print enabled _loaded canvas slider));
sub new {
my $class = shift;
@ -76,6 +76,14 @@ sub reload_print {
my ($self) = @_;
$self->canvas->reset_objects;
$self->_loaded(0);
$self->load_print;
}
sub load_print {
my ($self) = @_;
return if $self->_loaded;
# we require that there's at least one object and the posSlice step
# is performed on all of them (this ensures that _shifted_copies was
@ -112,6 +120,7 @@ sub reload_print {
$self->canvas->load_print_object_toolpaths($object);
}
$self->canvas->zoom_to_volumes;
$self->_loaded(1);
}
}