From da4903a37f24c44cccff7cceb7d78a4d9678af82 Mon Sep 17 00:00:00 2001 From: Enrico Turri Date: Wed, 31 Oct 2018 09:39:43 +0100 Subject: [PATCH] New selection -> Disabled instances synchronization --- src/libslic3r/Technologies.hpp | 1 + src/slic3r/GUI/GLCanvas3D.cpp | 12 ++++++++---- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/libslic3r/Technologies.hpp b/src/libslic3r/Technologies.hpp index ec775742b..a01c95f72 100644 --- a/src/libslic3r/Technologies.hpp +++ b/src/libslic3r/Technologies.hpp @@ -19,6 +19,7 @@ #define ENABLE_USE_UNIQUE_GLCONTEXT (1 && ENABLE_1_42_0) // New selections #define ENABLE_EXTENDED_SELECTION (1 && ENABLE_1_42_0) +#define DISABLE_INSTANCES_SYNCH (1 && ENABLE_EXTENDED_SELECTION) // Add mirror components along the three axes in ModelInstance and GLVolume #define ENABLE_MIRROR (1 && ENABLE_1_42_0) // Modified camera target behavior diff --git a/src/slic3r/GUI/GLCanvas3D.cpp b/src/slic3r/GUI/GLCanvas3D.cpp index ca593e8a9..e33791681 100644 --- a/src/slic3r/GUI/GLCanvas3D.cpp +++ b/src/slic3r/GUI/GLCanvas3D.cpp @@ -1426,8 +1426,10 @@ void GLCanvas3D::Selection::rotate(const Vec3d& rotation) } } +#if !DISABLE_INSTANCES_SYNCH if (m_mode == Instance) _synchronize_unselected_instances(); +#endif // !DISABLE_INSTANCES_SYNCH m_bounding_box_dirty = true; } @@ -1453,8 +1455,10 @@ void GLCanvas3D::Selection::scale(const Vec3d& scale) } } +#if !DISABLE_INSTANCES_SYNCH if (m_mode == Instance) _synchronize_unselected_instances(); +#endif // !DISABLE_INSTANCES_SYNCH m_bounding_box_dirty = true; } @@ -1471,8 +1475,10 @@ void GLCanvas3D::Selection::mirror(Axis axis) (*m_volumes)[i]->set_mirror(axis, -(*m_volumes)[i]->get_mirror(axis)); } +#if !DISABLE_INSTANCES_SYNCH if (m_mode == Instance) _synchronize_unselected_instances(); +#endif // !DISABLE_INSTANCES_SYNCH m_bounding_box_dirty = true; } @@ -1498,8 +1504,7 @@ void GLCanvas3D::Selection::translate(unsigned int object_idx, const Vec3d& disp if (done.size() == m_volumes->size()) break; - const GLVolume* volume = (*m_volumes)[i]; - int object_idx = volume->object_idx(); + int object_idx = (*m_volumes)[i]->object_idx(); if (object_idx >= 1000) continue; @@ -1544,8 +1549,7 @@ void GLCanvas3D::Selection::translate(unsigned int object_idx, unsigned int inst if (done.size() == m_volumes->size()) break; - const GLVolume* volume = (*m_volumes)[i]; - int object_idx = volume->object_idx(); + int object_idx = (*m_volumes)[i]->object_idx(); if (object_idx >= 1000) continue;