3DScene reset_object method moved to c++

This commit is contained in:
Enrico Turri 2018-05-18 14:08:59 +02:00
parent 5fc8fdee11
commit a7fc57a176
12 changed files with 135 additions and 31 deletions

View file

@ -197,7 +197,10 @@ sub update_volumes_selection {
sub reload_scene {
my ($self, $force) = @_;
$self->reset_objects;
#==============================================================================================================================
Slic3r::GUI::_3DScene::reset_volumes($self);
# $self->reset_objects;
#==============================================================================================================================
$self->update_bed_size;
if (! $self->IsShown && ! $force) {

View file

@ -277,8 +277,11 @@ sub new {
sub reload_print {
my ($self, $force) = @_;
$self->canvas->reset_objects;
#==============================================================================================================================
Slic3r::GUI::_3DScene::reset_volumes($self->canvas);
# $self->canvas->reset_objects;
#==============================================================================================================================
$self->_loaded(0);
if (! $self->IsShown && ! $force) {

View file

@ -254,8 +254,11 @@ sub _update {
for @$expolygon;
$expolygon->translate(map Slic3r::Geometry::scale($_), @{ $self->{model_object}->instances->[0]->offset });
}
$self->{canvas}->reset_objects;
#==============================================================================================================================
Slic3r::GUI::_3DScene::reset_volumes($self->{canvas});
# $self->{canvas}->reset_objects;
#==============================================================================================================================
$self->{canvas}->load_object($_, undef, undef, [0]) for @objects;
$self->{canvas}->SetCuttingPlane(
$self->{cut_options}{z},

View file

@ -494,7 +494,10 @@ sub _parts_changed {
$self->reload_tree;
if ($self->{canvas}) {
$self->{canvas}->reset_objects;
#==============================================================================================================================
Slic3r::GUI::_3DScene::reset_volumes($self->{canvas});
# $self->{canvas}->reset_objects;
#==============================================================================================================================
$self->{canvas}->load_object($self->{model_object});
$self->{canvas}->zoom_to_volumes;
$self->{canvas}->update_volumes_colors_by_extruder($self->GetParent->GetParent->GetParent->{config});
@ -539,7 +542,10 @@ sub _update_canvas {
my ($self) = @_;
if ($self->{canvas}) {
$self->{canvas}->reset_objects;
#==============================================================================================================================
Slic3r::GUI::_3DScene::reset_volumes($self->{canvas});
# $self->{canvas}->reset_objects;
#==============================================================================================================================
$self->{canvas}->load_object($self->{model_object});
# restore selection, if any
@ -572,7 +578,10 @@ sub _update {
$self->{parts_changed} = 1;
my @objects = ();
push @objects, $self->{model_object};
$self->{canvas}->reset_objects;
#==============================================================================================================================
Slic3r::GUI::_3DScene::reset_volumes($self->{canvas});
# $self->{canvas}->reset_objects;
#==============================================================================================================================
$self->{canvas}->load_object($_, undef, [0]) for @objects;
$self->{canvas}->update_volumes_colors_by_extruder($self->GetParent->GetParent->GetParent->{config});
$self->{canvas}->Render;