diff --git a/src/libslic3r/Technologies.hpp b/src/libslic3r/Technologies.hpp index ad23b4cbe..695c58abe 100644 --- a/src/libslic3r/Technologies.hpp +++ b/src/libslic3r/Technologies.hpp @@ -39,8 +39,6 @@ //==================== #define ENABLE_2_5_0_ALPHA1 1 -// Enable removal of wipe tower magic object_id equal to 1000 -#define ENABLE_WIPETOWER_OBJECTID_1000_REMOVAL (1 && ENABLE_2_5_0_ALPHA1) // Enable removal of legacy OpenGL calls #define ENABLE_LEGACY_OPENGL_REMOVAL (1 && ENABLE_2_5_0_ALPHA1) // Enable OpenGL ES diff --git a/src/slic3r/GUI/3DScene.cpp b/src/slic3r/GUI/3DScene.cpp index 9945b4047..cedc7ef2a 100644 --- a/src/slic3r/GUI/3DScene.cpp +++ b/src/slic3r/GUI/3DScene.cpp @@ -912,7 +912,6 @@ void GLVolumeCollection::load_object_auxiliary( } #if ENABLE_LEGACY_OPENGL_REMOVAL -#if ENABLE_WIPETOWER_OBJECTID_1000_REMOVAL #if ENABLE_OPENGL_ES int GLVolumeCollection::load_wipe_tower_preview( float pos_x, float pos_y, float width, float depth, float height, @@ -923,26 +922,9 @@ int GLVolumeCollection::load_wipe_tower_preview( float rotation_angle, bool size_unknown, float brim_width) #endif // ENABLE_OPENGL_ES #else -#if ENABLE_OPENGL_ES -int GLVolumeCollection::load_wipe_tower_preview( - int obj_idx, float pos_x, float pos_y, float width, float depth, float height, - float rotation_angle, bool size_unknown, float brim_width, TriangleMesh* out_mesh) -#else -int GLVolumeCollection::load_wipe_tower_preview( - int obj_idx, float pos_x, float pos_y, float width, float depth, float height, - float rotation_angle, bool size_unknown, float brim_width) -#endif // ENABLE_OPENGL_ES -#endif // ENABLE_WIPETOWER_OBJECTID_1000_REMOVAL -#else -#if ENABLE_WIPETOWER_OBJECTID_1000_REMOVAL int GLVolumeCollection::load_wipe_tower_preview( float pos_x, float pos_y, float width, float depth, float height, float rotation_angle, bool size_unknown, float brim_width, bool opengl_initialized) -#else -int GLVolumeCollection::load_wipe_tower_preview( - int obj_idx, float pos_x, float pos_y, float width, float depth, float height, - float rotation_angle, bool size_unknown, float brim_width, bool opengl_initialized) -#endif // ENABLE_WIPETOWER_OBJECTID_1000_REMOVAL #endif // ENABLE_LEGACY_OPENGL_REMOVAL { if (depth < 0.01f) @@ -1210,11 +1192,7 @@ int GLVolumeCollection::load_wipe_tower_preview( #endif // !ENABLE_LEGACY_OPENGL_REMOVAL v.set_volume_offset(Vec3d(pos_x, pos_y, 0.0)); v.set_volume_rotation(Vec3d(0., 0., (M_PI / 180.) * rotation_angle)); -#if ENABLE_WIPETOWER_OBJECTID_1000_REMOVAL - v.composite_id = GLVolume::CompositeID(INT_MAX, 0, 0); -#else - v.composite_id = GLVolume::CompositeID(obj_idx, 0, 0); -#endif // ENABLE_WIPETOWER_OBJECTID_1000_REMOVAL + v.composite_id = GLVolume::CompositeID(INT_MAX, 0, 0); v.geometry_id.first = 0; v.geometry_id.second = wipe_tower_instance_id().id; v.is_wipe_tower = true; diff --git a/src/slic3r/GUI/3DScene.hpp b/src/slic3r/GUI/3DScene.hpp index b48ad90a8..1e8897c4e 100644 --- a/src/slic3r/GUI/3DScene.hpp +++ b/src/slic3r/GUI/3DScene.hpp @@ -668,7 +668,6 @@ public: // Timestamp of the last change of the milestone size_t timestamp); -#if ENABLE_WIPETOWER_OBJECTID_1000_REMOVAL #if ENABLE_OPENGL_ES int load_wipe_tower_preview( float pos_x, float pos_y, float width, float depth, float height, float rotation_angle, bool size_unknown, float brim_width, TriangleMesh* out_mesh = nullptr); @@ -676,15 +675,6 @@ public: int load_wipe_tower_preview( float pos_x, float pos_y, float width, float depth, float height, float rotation_angle, bool size_unknown, float brim_width); #endif // ENABLE_OPENGL_ES -#else -#if ENABLE_OPENGL_ES - int load_wipe_tower_preview( - int obj_idx, float pos_x, float pos_y, float width, float depth, float height, float rotation_angle, bool size_unknown, float brim_width, TriangleMesh* out_mesh = nullptr); -#else - int load_wipe_tower_preview( - int obj_idx, float pos_x, float pos_y, float width, float depth, float height, float rotation_angle, bool size_unknown, float brim_width); -#endif // ENABLE_OPENGL_ES -#endif // ENABLE_WIPETOWER_OBJECTID_1000_REMOVAL #else std::vector load_object( const ModelObject *model_object, @@ -710,13 +700,8 @@ public: size_t timestamp, bool opengl_initialized); -#if ENABLE_WIPETOWER_OBJECTID_1000_REMOVAL int load_wipe_tower_preview( float pos_x, float pos_y, float width, float depth, float height, float rotation_angle, bool size_unknown, float brim_width, bool opengl_initialized); -#else - int load_wipe_tower_preview( - int obj_idx, float pos_x, float pos_y, float width, float depth, float height, float rotation_angle, bool size_unknown, float brim_width, bool opengl_initialized); -#endif // ENABLE_WIPETOWER_OBJECTID_1000_REMOVAL #endif // ENABLE_LEGACY_OPENGL_REMOVAL #if ENABLE_LEGACY_OPENGL_REMOVAL diff --git a/src/slic3r/GUI/GCodeViewer.cpp b/src/slic3r/GUI/GCodeViewer.cpp index be232c178..562c67ceb 100644 --- a/src/slic3r/GUI/GCodeViewer.cpp +++ b/src/slic3r/GUI/GCodeViewer.cpp @@ -2349,21 +2349,11 @@ void GCodeViewer::load_shells(const Print& print, bool initialized) const float brim_width = print.wipe_tower_data(extruders_count).brim_width; #if ENABLE_LEGACY_OPENGL_REMOVAL -#if ENABLE_WIPETOWER_OBJECTID_1000_REMOVAL m_shells.volumes.load_wipe_tower_preview(config.wipe_tower_x, config.wipe_tower_y, config.wipe_tower_width, depth, max_z, config.wipe_tower_rotation_angle, !print.is_step_done(psWipeTower), brim_width); #else - m_shells.volumes.load_wipe_tower_preview(1000, config.wipe_tower_x, config.wipe_tower_y, config.wipe_tower_width, depth, max_z, config.wipe_tower_rotation_angle, - !print.is_step_done(psWipeTower), brim_width); -#endif // ENABLE_WIPETOWER_OBJECTID_1000_REMOVAL -#else -#if ENABLE_WIPETOWER_OBJECTID_1000_REMOVAL m_shells.volumes.load_wipe_tower_preview(config.wipe_tower_x, config.wipe_tower_y, config.wipe_tower_width, depth, max_z, config.wipe_tower_rotation_angle, !print.is_step_done(psWipeTower), brim_width, initialized); -#else - m_shells.volumes.load_wipe_tower_preview(1000, config.wipe_tower_x, config.wipe_tower_y, config.wipe_tower_width, depth, max_z, config.wipe_tower_rotation_angle, - !print.is_step_done(psWipeTower), brim_width, initialized); -#endif // ENABLE_WIPETOWER_OBJECTID_1000_REMOVAL #endif // ENABLE_LEGACY_OPENGL_REMOVAL } } diff --git a/src/slic3r/GUI/GLCanvas3D.cpp b/src/slic3r/GUI/GLCanvas3D.cpp index 04a691871..f77eed369 100644 --- a/src/slic3r/GUI/GLCanvas3D.cpp +++ b/src/slic3r/GUI/GLCanvas3D.cpp @@ -1341,18 +1341,12 @@ ModelInstanceEPrintVolumeState GLCanvas3D::check_volumes_outside_state() const void GLCanvas3D::toggle_sla_auxiliaries_visibility(bool visible, const ModelObject* mo, int instance_idx) { -#if ENABLE_WIPETOWER_OBJECTID_1000_REMOVAL if (current_printer_technology() != ptSLA) return; -#endif // ENABLE_WIPETOWER_OBJECTID_1000_REMOVAL m_render_sla_auxiliaries = visible; for (GLVolume* vol : m_volumes.volumes) { -#if !ENABLE_WIPETOWER_OBJECTID_1000_REMOVAL - if (vol->composite_id.object_id == 1000) - continue; // the wipe tower -#endif // !ENABLE_WIPETOWER_OBJECTID_1000_REMOVAL if ((mo == nullptr || m_model->objects[vol->composite_id.object_id] == mo) && (instance_idx == -1 || vol->composite_id.instance_id == instance_idx) && vol->composite_id.volume_id < 0) @@ -1363,14 +1357,8 @@ void GLCanvas3D::toggle_sla_auxiliaries_visibility(bool visible, const ModelObje void GLCanvas3D::toggle_model_objects_visibility(bool visible, const ModelObject* mo, int instance_idx, const ModelVolume* mv) { for (GLVolume* vol : m_volumes.volumes) { -#if ENABLE_WIPETOWER_OBJECTID_1000_REMOVAL if (vol->is_wipe_tower) vol->is_active = (visible && mo == nullptr); -#else - if (vol->composite_id.object_id == 1000) { // wipe tower - vol->is_active = (visible && mo == nullptr); - } -#endif // ENABLE_WIPETOWER_OBJECTID_1000_REMOVAL else { if ((mo == nullptr || m_model->objects[vol->composite_id.object_id] == mo) && (instance_idx == -1 || vol->composite_id.instance_id == instance_idx) @@ -2348,7 +2336,6 @@ void GLCanvas3D::reload_scene(bool refresh_immediately, bool force_full_scene_re float brim_width = print->wipe_tower_data(extruders_count).brim_width; #if ENABLE_LEGACY_OPENGL_REMOVAL -#if ENABLE_WIPETOWER_OBJECTID_1000_REMOVAL #if ENABLE_OPENGL_ES int volume_idx_wipe_tower_new = m_volumes.load_wipe_tower_preview( x, y, w, depth, (float)height, a, !print->is_step_done(psWipeTower), @@ -2359,26 +2346,9 @@ void GLCanvas3D::reload_scene(bool refresh_immediately, bool force_full_scene_re brim_width); #endif // ENABLE_OPENGL_ES #else -#if ENABLE_OPENGL_ES - int volume_idx_wipe_tower_new = m_volumes.load_wipe_tower_preview( - 1000, x, y, w, depth, (float)height, a, !print->is_step_done(psWipeTower), - brim_width, &m_wipe_tower_mesh); -#else - int volume_idx_wipe_tower_new = m_volumes.load_wipe_tower_preview( - 1000, x, y, w, depth, (float)height, a, !print->is_step_done(psWipeTower), - brim_width); -#endif // ENABLE_OPENGL_ES -#endif // ENABLE_WIPETOWER_OBJECTID_1000_REMOVAL -#else -#if ENABLE_WIPETOWER_OBJECTID_1000_REMOVAL int volume_idx_wipe_tower_new = m_volumes.load_wipe_tower_preview( x, y, w, depth, (float)height, a, !print->is_step_done(psWipeTower), brim_width, m_initialized); -#else - int volume_idx_wipe_tower_new = m_volumes.load_wipe_tower_preview( - 1000, x, y, w, depth, (float)height, a, !print->is_step_done(psWipeTower), - brim_width, m_initialized); -#endif // ENABLE_WIPETOWER_OBJECTID_1000_REMOVAL #endif // ENABLE_LEGACY_OPENGL_REMOVAL if (volume_idx_wipe_tower_old != -1) map_glvolume_old_to_new[volume_idx_wipe_tower_old] = volume_idx_wipe_tower_new; @@ -3855,15 +3825,9 @@ void GLCanvas3D::do_move(const std::string& snapshot_type) model_object->invalidate_bounding_box(); } } -#if ENABLE_WIPETOWER_OBJECTID_1000_REMOVAL else if (v->is_wipe_tower) // Move a wipe tower proxy. wipe_tower_origin = v->get_volume_offset(); -#else - else if (object_idx == 1000) - // Move a wipe tower proxy. - wipe_tower_origin = v->get_volume_offset(); -#endif // ENABLE_WIPETOWER_OBJECTID_1000_REMOVAL } // Fixes flying instances @@ -3924,18 +3888,11 @@ void GLCanvas3D::do_rotate(const std::string& snapshot_type) Selection::EMode selection_mode = m_selection.get_mode(); for (const GLVolume* v : m_volumes.volumes) { -#if ENABLE_WIPETOWER_OBJECTID_1000_REMOVAL if (v->is_wipe_tower) { -#else - int object_idx = v->object_idx(); - if (object_idx == 1000) { // the wipe tower -#endif // ENABLE_WIPETOWER_OBJECTID_1000_REMOVAL const Vec3d offset = v->get_volume_offset(); post_event(Vec3dEvent(EVT_GLCANVAS_WIPETOWER_ROTATED, Vec3d(offset.x(), offset.y(), v->get_volume_rotation().z()))); } -#if ENABLE_WIPETOWER_OBJECTID_1000_REMOVAL - int object_idx = v->object_idx(); -#endif // ENABLE_WIPETOWER_OBJECTID_1000_REMOVAL + const int object_idx = v->object_idx(); if (object_idx < 0 || (int)m_model->objects.size() <= object_idx) continue; diff --git a/src/slic3r/GUI/GUI_ObjectList.cpp b/src/slic3r/GUI/GUI_ObjectList.cpp index b8c04f8cf..0984ded3a 100644 --- a/src/slic3r/GUI/GUI_ObjectList.cpp +++ b/src/slic3r/GUI/GUI_ObjectList.cpp @@ -1960,15 +1960,9 @@ void ObjectList::del_layers_from_object(const int obj_idx) bool ObjectList::del_subobject_from_object(const int obj_idx, const int idx, const int type) { assert(idx >= 0); -#if ENABLE_WIPETOWER_OBJECTID_1000_REMOVAL if (m_objects->empty() || int(m_objects->size()) <= obj_idx) // Cannot delete a wipe tower return false; -#else - if (obj_idx == 1000 || idx<0) - // Cannot delete a wipe tower or volume with negative id - return false; -#endif // ENABLE_WIPETOWER_OBJECTID_1000_REMOVAL ModelObject* object = (*m_objects)[obj_idx]; diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp index 91c901f78..eb8b5b01a 100644 --- a/src/slic3r/GUI/Plater.cpp +++ b/src/slic3r/GUI/Plater.cpp @@ -1253,11 +1253,7 @@ void Sidebar::show_info_sizer() ModelObjectPtrs objects = p->plater->model().objects; int obj_idx = selection.get_object_idx(); -#if ENABLE_WIPETOWER_OBJECTID_1000_REMOVAL if (m_mode < comExpert || objects.empty() || obj_idx < 0 || int(objects.size()) <= obj_idx || -#else - if (m_mode < comExpert || objects.empty() || obj_idx < 0 || obj_idx == 1000 || -#endif // ENABLE_WIPETOWER_OBJECTID_1000_REMOVAL objects[obj_idx]->volumes.empty() || // hack to avoid crash when deleting the last object on the bed (selection.is_single_full_object() && objects[obj_idx]->instances.size()> 1) || !(selection.is_single_full_instance() || selection.is_single_volume())) { @@ -2932,23 +2928,15 @@ Selection& Plater::priv::get_selection() int Plater::priv::get_selected_object_idx() const { - int idx = get_selection().get_object_idx(); -#if ENABLE_WIPETOWER_OBJECTID_1000_REMOVAL + const int idx = get_selection().get_object_idx(); return (0 <= idx && idx < int(model.objects.size())) ? idx : -1; -#else - return ((0 <= idx) && (idx < 1000)) ? idx : -1; -#endif // ENABLE_WIPETOWER_OBJECTID_1000_REMOVAL } int Plater::priv::get_selected_volume_idx() const { auto& selection = get_selection(); - int idx = selection.get_object_idx(); -#if ENABLE_WIPETOWER_OBJECTID_1000_REMOVAL + const int idx = selection.get_object_idx(); if (idx < 0 || int(model.objects.size()) <= idx) -#else - if ((0 > idx) || (idx > 1000)) -#endif // ENABLE_WIPETOWER_OBJECTID_1000_REMOVAL return-1; const GLVolume* v = selection.get_first_volume(); if (model.objects[idx]->volumes.size() > 1) diff --git a/src/slic3r/GUI/Selection.cpp b/src/slic3r/GUI/Selection.cpp index c6ddd1fa3..2423b10a0 100644 --- a/src/slic3r/GUI/Selection.cpp +++ b/src/slic3r/GUI/Selection.cpp @@ -544,11 +544,7 @@ bool Selection::is_single_full_instance() const bool Selection::is_from_single_object() const { const int idx = get_object_idx(); -#if ENABLE_WIPETOWER_OBJECTID_1000_REMOVAL return 0 <= idx && idx < int(m_model->objects.size()); -#else - return 0 <= idx && idx < 1000; -#endif // ENABLE_WIPETOWER_OBJECTID_1000_REMOVAL } bool Selection::is_sla_compliant() const @@ -1404,16 +1400,10 @@ void Selection::translate(unsigned int object_idx, const Vec3d& displacement) if (done.size() == m_volumes->size()) break; -#if ENABLE_WIPETOWER_OBJECTID_1000_REMOVAL if ((*m_volumes)[i]->is_wipe_tower) continue; int object_idx = (*m_volumes)[i]->object_idx(); -#else - int object_idx = (*m_volumes)[i]->object_idx(); - if (object_idx >= 1000) - continue; -#endif // ENABLE_WIPETOWER_OBJECTID_1000_REMOVAL // Process unselected volumes of the object. for (unsigned int j = 0; j < (unsigned int)m_volumes->size(); ++j) { @@ -1458,16 +1448,10 @@ void Selection::translate(unsigned int object_idx, unsigned int instance_idx, co if (done.size() == m_volumes->size()) break; -#if ENABLE_WIPETOWER_OBJECTID_1000_REMOVAL if ((*m_volumes)[i]->is_wipe_tower) continue; - int object_idx = (*m_volumes)[i]->object_idx(); -#else - int object_idx = (*m_volumes)[i]->object_idx(); - if (object_idx >= 1000) - continue; -#endif // ENABLE_WIPETOWER_OBJECTID_1000_REMOVAL + const int object_idx = (*m_volumes)[i]->object_idx(); // Process unselected volumes of the object. for (unsigned int j = 0; j < (unsigned int)m_volumes->size(); ++j) { @@ -2965,17 +2949,10 @@ void Selection::synchronize_unselected_instances(SyncRotationType sync_rotation_ break; const GLVolume* volume_i = (*m_volumes)[i]; -#if ENABLE_WIPETOWER_OBJECTID_1000_REMOVAL if (volume_i->is_wipe_tower) continue; const int object_idx = volume_i->object_idx(); -#else - const int object_idx = volume_i->object_idx(); - if (object_idx >= 1000) - continue; -#endif // ENABLE_WIPETOWER_OBJECTID_1000_REMOVAL - const int instance_idx = volume_i->instance_idx(); #if ENABLE_WORLD_COORDINATE const Geometry::Transformation& curr_inst_trafo_i = volume_i->get_instance_transformation(); @@ -3073,17 +3050,10 @@ void Selection::synchronize_unselected_volumes() { for (unsigned int i : m_list) { const GLVolume* volume = (*m_volumes)[i]; -#if ENABLE_WIPETOWER_OBJECTID_1000_REMOVAL if (volume->is_wipe_tower) continue; const int object_idx = volume->object_idx(); -#else - const int object_idx = volume->object_idx(); - if (object_idx >= 1000) - continue; -#endif // ENABLE_WIPETOWER_OBJECTID_1000_REMOVAL - const int volume_idx = volume->volume_idx(); #if ENABLE_WORLD_COORDINATE const Geometry::Transformation& trafo = volume->get_volume_transformation();