mirror of
https://github.com/SoftFever/OrcaSlicer.git
synced 2025-08-05 13:04:03 -06:00
3DScene reset_object method moved to c++
This commit is contained in:
parent
5fc8fdee11
commit
a7fc57a176
12 changed files with 135 additions and 31 deletions
|
@ -110,7 +110,9 @@ __PACKAGE__->mk_accessors( qw(_quat init
|
|||
|
||||
use constant TRACKBALLSIZE => 0.8;
|
||||
use constant TURNTABLE_MODE => 1;
|
||||
use constant GROUND_Z => -0.02;
|
||||
#==============================================================================================================================
|
||||
#use constant GROUND_Z => -0.02;
|
||||
#==============================================================================================================================
|
||||
# For mesh selection: Not selected - bright yellow.
|
||||
use constant DEFAULT_COLOR => [1,1,0];
|
||||
# For mesh selection: Selected - bright green.
|
||||
|
@ -127,13 +129,11 @@ use constant HOVER_COLOR => [0.4,0.9,0,1];
|
|||
#use constant VIEW_BOTTOM => [0.0,180.0];
|
||||
#use constant VIEW_FRONT => [0.0,90.0];
|
||||
#use constant VIEW_REAR => [180.0,90.0];
|
||||
#==============================================================================================================================
|
||||
|
||||
use constant MANIPULATION_IDLE => 0;
|
||||
use constant MANIPULATION_DRAGGING => 1;
|
||||
use constant MANIPULATION_LAYER_HEIGHT => 2;
|
||||
|
||||
#==============================================================================================================================
|
||||
#
|
||||
#use constant MANIPULATION_IDLE => 0;
|
||||
#use constant MANIPULATION_DRAGGING => 1;
|
||||
#use constant MANIPULATION_LAYER_HEIGHT => 2;
|
||||
#
|
||||
#use constant GIMBALL_LOCK_THETA_MAX => 180;
|
||||
#==============================================================================================================================
|
||||
|
||||
|
@ -223,7 +223,10 @@ sub new {
|
|||
$self->{layer_height_edit_last_z} = 0.;
|
||||
$self->{layer_height_edit_last_action} = 0;
|
||||
|
||||
$self->reset_objects;
|
||||
#==============================================================================================================================
|
||||
Slic3r::GUI::_3DScene::reset_volumes($self);
|
||||
# $self->reset_objects;
|
||||
#==============================================================================================================================
|
||||
|
||||
EVT_PAINT($self, sub {
|
||||
my $dc = Wx::PaintDC->new($self);
|
||||
|
@ -723,19 +726,18 @@ sub mouse_wheel_event {
|
|||
$self->Refresh;
|
||||
}
|
||||
|
||||
# Reset selection.
|
||||
sub reset_objects {
|
||||
my ($self) = @_;
|
||||
if ($self->GetContext) {
|
||||
$self->SetCurrent($self->GetContext);
|
||||
$self->volumes->release_geometry;
|
||||
}
|
||||
$self->volumes->erase;
|
||||
#==============================================================================================================================
|
||||
Slic3r::GUI::_3DScene::set_dirty($self, 1);
|
||||
## Reset selection.
|
||||
#sub reset_objects {
|
||||
# my ($self) = @_;
|
||||
# if ($self->GetContext) {
|
||||
# $self->SetCurrent($self->GetContext);
|
||||
# $self->volumes->release_geometry;
|
||||
# }
|
||||
# $self->volumes->erase;
|
||||
# $self->_dirty(1);
|
||||
#}
|
||||
#==============================================================================================================================
|
||||
}
|
||||
|
||||
# Setup camera to view all objects.
|
||||
sub set_viewport_from_scene {
|
||||
|
@ -1515,8 +1517,10 @@ sub Render {
|
|||
# draw ground and axes
|
||||
glDisable(GL_LIGHTING);
|
||||
|
||||
# draw ground
|
||||
my $ground_z = GROUND_Z;
|
||||
#==============================================================================================================================
|
||||
# # draw ground
|
||||
# my $ground_z = GROUND_Z;
|
||||
#==============================================================================================================================
|
||||
#==============================================================================================================================
|
||||
Slic3r::GUI::_3DScene::render_bed($self);
|
||||
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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},
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue