Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/supermerill/SuperSlicer.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEnrico Turri <enricoturri@seznam.cz>2019-07-31 12:01:50 +0300
committerEnrico Turri <enricoturri@seznam.cz>2019-07-31 12:01:50 +0300
commit03820a38cf4c551d29c22b854a769373f5492fa1 (patch)
tree382ab48771918da294254c4b6c7423327bc37858 /src/slic3r/GUI/Selection.cpp
parentb1a1ed63945971ac1b97c049a5f80173b1cf426d (diff)
Render non printable instances with a darker color
Diffstat (limited to 'src/slic3r/GUI/Selection.cpp')
-rw-r--r--src/slic3r/GUI/Selection.cpp26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/slic3r/GUI/Selection.cpp b/src/slic3r/GUI/Selection.cpp
index 211863627..4db126b80 100644
--- a/src/slic3r/GUI/Selection.cpp
+++ b/src/slic3r/GUI/Selection.cpp
@@ -1459,6 +1459,32 @@ std::vector<unsigned int> Selection::get_unselected_volume_idxs_from(const std::
return idxs;
}
+//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
+void Selection::toggle_instance_printable_state()
+{
+ int instance_idx = get_instance_idx();
+ if (instance_idx == -1)
+ return;
+
+ int obj_idx = get_object_idx();
+ if ((0 <= obj_idx) && (obj_idx < (int)m_model->objects.size()))
+ {
+ ModelObject* model_object = m_model->objects[obj_idx];
+ if ((0 <= instance_idx) && (instance_idx < (int)model_object->instances.size()))
+ {
+ ModelInstance* instance = model_object->instances[instance_idx];
+ instance->printable = !instance->printable;
+
+ for (GLVolume* volume : *m_volumes)
+ {
+ if ((volume->object_idx() == obj_idx) && (volume->instance_idx() == instance_idx))
+ volume->printable = instance->printable;
+ }
+ }
+ }
+}
+//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
+
void Selection::update_valid()
{
m_valid = (m_volumes != nullptr) && (m_model != nullptr);