From 9258ca8cc65a9b8c88915da2debd6c8f8210332e Mon Sep 17 00:00:00 2001 From: bubnikv Date: Fri, 23 Nov 2018 17:15:17 +0100 Subject: [PATCH] Further removal of the 3DScene / GLCanvas3DManager scaffold. --- src/slic3r/GUI/3DScene.cpp | 207 --------------------- src/slic3r/GUI/3DScene.hpp | 51 ------ src/slic3r/GUI/GLCanvas3DManager.cpp | 264 --------------------------- src/slic3r/GUI/GLCanvas3DManager.hpp | 55 ------ 4 files changed, 577 deletions(-) diff --git a/src/slic3r/GUI/3DScene.cpp b/src/slic3r/GUI/3DScene.cpp index a593853bd..a5d7aba73 100644 --- a/src/slic3r/GUI/3DScene.cpp +++ b/src/slic3r/GUI/3DScene.cpp @@ -1871,211 +1871,4 @@ GUI::GLCanvas3D* _3DScene::get_canvas(wxGLCanvas* canvas) return s_canvas_mgr.get_canvas(canvas); } -void _3DScene::set_config(wxGLCanvas* canvas, DynamicPrintConfig* config) -{ - s_canvas_mgr.set_config(canvas, config); -} - -void _3DScene::set_process(wxGLCanvas* canvas, BackgroundSlicingProcess* process) -{ - s_canvas_mgr.set_process(canvas, process); -} - -void _3DScene::set_model(wxGLCanvas* canvas, Model* model) -{ - s_canvas_mgr.set_model(canvas, model); -} - -void _3DScene::set_bed_shape(wxGLCanvas* canvas, const Pointfs& shape) -{ - s_canvas_mgr.set_bed_shape(canvas, shape); -} - -void _3DScene::set_color_by(wxGLCanvas* canvas, const std::string& value) -{ - s_canvas_mgr.set_color_by(canvas, value); -} - -void _3DScene::enable_layers_editing(wxGLCanvas* canvas, bool enable) -{ - s_canvas_mgr.enable_layers_editing(canvas, enable); -} - -void _3DScene::enable_warning_texture(wxGLCanvas* canvas, bool enable) -{ - s_canvas_mgr.enable_warning_texture(canvas, enable); -} - -void _3DScene::enable_legend_texture(wxGLCanvas* canvas, bool enable) -{ - s_canvas_mgr.enable_legend_texture(canvas, enable); -} - -void _3DScene::enable_picking(wxGLCanvas* canvas, bool enable) -{ - s_canvas_mgr.enable_picking(canvas, enable); -} - -void _3DScene::enable_moving(wxGLCanvas* canvas, bool enable) -{ - s_canvas_mgr.enable_moving(canvas, enable); -} - -void _3DScene::enable_gizmos(wxGLCanvas* canvas, bool enable) -{ - s_canvas_mgr.enable_gizmos(canvas, enable); -} - -void _3DScene::enable_toolbar(wxGLCanvas* canvas, bool enable) -{ - s_canvas_mgr.enable_toolbar(canvas, enable); -} - -void _3DScene::enable_shader(wxGLCanvas* canvas, bool enable) -{ - s_canvas_mgr.enable_shader(canvas, enable); -} - -void _3DScene::enable_force_zoom_to_bed(wxGLCanvas* canvas, bool enable) -{ - s_canvas_mgr.enable_force_zoom_to_bed(canvas, enable); -} - -void _3DScene::enable_dynamic_background(wxGLCanvas* canvas, bool enable) -{ - s_canvas_mgr.enable_dynamic_background(canvas, enable); -} - -void _3DScene::allow_multisample(wxGLCanvas* canvas, bool allow) -{ - s_canvas_mgr.allow_multisample(canvas, allow); -} - -void _3DScene::enable_toolbar_item(wxGLCanvas* canvas, const std::string& name, bool enable) -{ - s_canvas_mgr.enable_toolbar_item(canvas, name, enable); -} - -bool _3DScene::is_toolbar_item_pressed(wxGLCanvas* canvas, const std::string& name) -{ - return s_canvas_mgr.is_toolbar_item_pressed(canvas, name); -} - -void _3DScene::zoom_to_bed(wxGLCanvas* canvas) -{ - s_canvas_mgr.zoom_to_bed(canvas); -} - -void _3DScene::zoom_to_volumes(wxGLCanvas* canvas) -{ - s_canvas_mgr.zoom_to_volumes(canvas); -} - -void _3DScene::select_view(wxGLCanvas* canvas, const std::string& direction) -{ - s_canvas_mgr.select_view(canvas, direction); -} - -void _3DScene::set_viewport_from_scene(wxGLCanvas* canvas, wxGLCanvas* other) -{ - s_canvas_mgr.set_viewport_from_scene(canvas, other); -} - -void _3DScene::update_volumes_colors_by_extruder(wxGLCanvas* canvas) -{ - s_canvas_mgr.update_volumes_colors_by_extruder(canvas); -} - -void _3DScene::render(wxGLCanvas* canvas) -{ - s_canvas_mgr.render(canvas); -} - -void _3DScene::select_all(wxGLCanvas* canvas) -{ - s_canvas_mgr.select_all(canvas); -} - -void _3DScene::delete_selected(wxGLCanvas* canvas) -{ - s_canvas_mgr.delete_selected(canvas); -} - -void _3DScene::ensure_on_bed(wxGLCanvas* canvas, unsigned int object_idx) -{ - s_canvas_mgr.ensure_on_bed(canvas, object_idx); -} - -std::vector _3DScene::get_current_print_zs(wxGLCanvas* canvas, bool active_only) -{ - return s_canvas_mgr.get_current_print_zs(canvas, active_only); -} - -void _3DScene::set_toolpaths_range(wxGLCanvas* canvas, double low, double high) -{ - s_canvas_mgr.set_toolpaths_range(canvas, low, high); -} - -static inline int hex_digit_to_int(const char c) -{ - return - (c >= '0' && c <= '9') ? int(c - '0') : - (c >= 'A' && c <= 'F') ? int(c - 'A') + 10 : - (c >= 'a' && c <= 'f') ? int(c - 'a') + 10 : -1; -} - -static inline std::vector parse_colors(const std::vector &scolors) -{ - std::vector output(scolors.size() * 4, 1.f); - for (size_t i = 0; i < scolors.size(); ++ i) { - const std::string &scolor = scolors[i]; - const char *c = scolor.data() + 1; - if (scolor.size() == 7 && scolor.front() == '#') { - for (size_t j = 0; j < 3; ++j) { - int digit1 = hex_digit_to_int(*c ++); - int digit2 = hex_digit_to_int(*c ++); - if (digit1 == -1 || digit2 == -1) - break; - output[i * 4 + j] = float(digit1 * 16 + digit2) / 255.f; - } - } - } - return output; -} - -std::vector _3DScene::load_object(wxGLCanvas* canvas, const ModelObject* model_object, int obj_idx, std::vector instance_idxs) -{ - return s_canvas_mgr.load_object(canvas, model_object, obj_idx, instance_idxs); -} - -std::vector _3DScene::load_object(wxGLCanvas* canvas, const Model* model, int obj_idx) -{ - return s_canvas_mgr.load_object(canvas, model, obj_idx); -} - -void _3DScene::mirror_selection(wxGLCanvas* canvas, Axis axis) -{ - s_canvas_mgr.mirror_selection(canvas, axis); -} - -void _3DScene::reload_scene(wxGLCanvas* canvas, bool refresh_immediately, bool force_full_scene_refresh) -{ - s_canvas_mgr.reload_scene(canvas, refresh_immediately, force_full_scene_refresh); -} - -void _3DScene::load_gcode_preview(wxGLCanvas* canvas, const GCodePreviewData* preview_data, const std::vector& str_tool_colors) -{ - s_canvas_mgr.load_gcode_preview(canvas, preview_data, str_tool_colors); -} - -void _3DScene::load_preview(wxGLCanvas* canvas, const std::vector& str_tool_colors) -{ - s_canvas_mgr.load_preview(canvas, str_tool_colors); -} - -void _3DScene::reset_legend_texture(wxGLCanvas* canvas) -{ - s_canvas_mgr.reset_legend_texture(canvas); -} - } // namespace Slic3r diff --git a/src/slic3r/GUI/3DScene.hpp b/src/slic3r/GUI/3DScene.hpp index 940d627fa..855ce0f62 100644 --- a/src/slic3r/GUI/3DScene.hpp +++ b/src/slic3r/GUI/3DScene.hpp @@ -594,57 +594,6 @@ public: static GUI::GLCanvas3D* get_canvas(wxGLCanvas* canvas); - static void set_config(wxGLCanvas* canvas, DynamicPrintConfig* config); - static void set_process(wxGLCanvas* canvas, BackgroundSlicingProcess* process); - static void set_model(wxGLCanvas* canvas, Model* model); - - static void set_bed_shape(wxGLCanvas* canvas, const Pointfs& shape); - - static void set_color_by(wxGLCanvas* canvas, const std::string& value); - - static void enable_layers_editing(wxGLCanvas* canvas, bool enable); - static void enable_warning_texture(wxGLCanvas* canvas, bool enable); - static void enable_legend_texture(wxGLCanvas* canvas, bool enable); - static void enable_picking(wxGLCanvas* canvas, bool enable); - static void enable_moving(wxGLCanvas* canvas, bool enable); - static void enable_gizmos(wxGLCanvas* canvas, bool enable); - static void enable_toolbar(wxGLCanvas* canvas, bool enable); - static void enable_shader(wxGLCanvas* canvas, bool enable); - static void enable_force_zoom_to_bed(wxGLCanvas* canvas, bool enable); - static void enable_dynamic_background(wxGLCanvas* canvas, bool enable); - static void allow_multisample(wxGLCanvas* canvas, bool allow); - - static void enable_toolbar_item(wxGLCanvas* canvas, const std::string& name, bool enable); - static bool is_toolbar_item_pressed(wxGLCanvas* canvas, const std::string& name); - - static void zoom_to_bed(wxGLCanvas* canvas); - static void zoom_to_volumes(wxGLCanvas* canvas); - static void select_view(wxGLCanvas* canvas, const std::string& direction); - static void set_viewport_from_scene(wxGLCanvas* canvas, wxGLCanvas* other); - - static void update_volumes_colors_by_extruder(wxGLCanvas* canvas); - - static void render(wxGLCanvas* canvas); - - static void select_all(wxGLCanvas* canvas); - static void delete_selected(wxGLCanvas* canvas); - static void ensure_on_bed(wxGLCanvas* canvas, unsigned int object_idx); - - static std::vector get_current_print_zs(wxGLCanvas* canvas, bool active_only); - static void set_toolpaths_range(wxGLCanvas* canvas, double low, double high); - - static std::vector load_object(wxGLCanvas* canvas, const ModelObject* model_object, int obj_idx, std::vector instance_idxs); - static std::vector load_object(wxGLCanvas* canvas, const Model* model, int obj_idx); - - static void mirror_selection(wxGLCanvas* canvas, Axis axis); - - static void reload_scene(wxGLCanvas* canvas, bool refresh_immediately, bool force_full_scene_refresh = false); - - static void load_gcode_preview(wxGLCanvas* canvas, const GCodePreviewData* preview_data, const std::vector& str_tool_colors); - static void load_preview(wxGLCanvas* canvas, const std::vector& str_tool_colors); - - static void reset_legend_texture(wxGLCanvas* canvas); - static void thick_lines_to_verts(const Lines& lines, const std::vector& widths, const std::vector& heights, bool closed, double top_z, GLVolume& volume); static void thick_lines_to_verts(const Lines3& lines, const std::vector& widths, const std::vector& heights, bool closed, GLVolume& volume); static void extrusionentity_to_verts(const ExtrusionPath& extrusion_path, float print_z, GLVolume& volume); diff --git a/src/slic3r/GUI/GLCanvas3DManager.cpp b/src/slic3r/GUI/GLCanvas3DManager.cpp index 76ca92e62..28c00ffa5 100644 --- a/src/slic3r/GUI/GLCanvas3DManager.cpp +++ b/src/slic3r/GUI/GLCanvas3DManager.cpp @@ -115,9 +115,6 @@ GLCanvas3DManager::EMultisampleState GLCanvas3DManager::s_multisample = GLCanvas GLCanvas3DManager::GLCanvas3DManager() #if ENABLE_USE_UNIQUE_GLCONTEXT : m_context(nullptr) - , m_current(nullptr) -#else - : m_current(nullptr) #endif // ENABLE_USE_UNIQUE_GLCONTEXT , m_gl_initialized(false) , m_use_legacy_opengl(false) @@ -227,267 +224,6 @@ GLCanvas3D* GLCanvas3DManager::get_canvas(wxGLCanvas* canvas) return (it != m_canvases.end()) ? it->second : nullptr; } -void GLCanvas3DManager::set_config(wxGLCanvas* canvas, DynamicPrintConfig* config) -{ - CanvasesMap::iterator it = _get_canvas(canvas); - if (it != m_canvases.end()) - it->second->set_config(config); -} - -void GLCanvas3DManager::set_process(wxGLCanvas* canvas, BackgroundSlicingProcess* process) -{ - CanvasesMap::iterator it = _get_canvas(canvas); - if (it != m_canvases.end()) - it->second->set_process(process); -} - -void GLCanvas3DManager::set_model(wxGLCanvas* canvas, Model* model) -{ - CanvasesMap::iterator it = _get_canvas(canvas); - if (it != m_canvases.end()) - it->second->set_model(model); -} - -void GLCanvas3DManager::set_bed_shape(wxGLCanvas* canvas, const Pointfs& shape) -{ - CanvasesMap::iterator it = _get_canvas(canvas); - if (it != m_canvases.end()) - it->second->set_bed_shape(shape); -} - -void GLCanvas3DManager::set_color_by(wxGLCanvas* canvas, const std::string& value) -{ - CanvasesMap::iterator it = _get_canvas(canvas); - if (it != m_canvases.end()) - it->second->set_color_by(value); -} - -void GLCanvas3DManager::enable_layers_editing(wxGLCanvas* canvas, bool enable) -{ - CanvasesMap::iterator it = _get_canvas(canvas); - if (it != m_canvases.end()) - it->second->enable_layers_editing(enable); -} - -void GLCanvas3DManager::enable_warning_texture(wxGLCanvas* canvas, bool enable) -{ - CanvasesMap::iterator it = _get_canvas(canvas); - if (it != m_canvases.end()) - it->second->enable_warning_texture(enable); -} - -void GLCanvas3DManager::enable_legend_texture(wxGLCanvas* canvas, bool enable) -{ - CanvasesMap::iterator it = _get_canvas(canvas); - if (it != m_canvases.end()) - it->second->enable_legend_texture(enable); -} - -void GLCanvas3DManager::enable_picking(wxGLCanvas* canvas, bool enable) -{ - CanvasesMap::iterator it = _get_canvas(canvas); - if (it != m_canvases.end()) - it->second->enable_picking(enable); -} - -void GLCanvas3DManager::enable_moving(wxGLCanvas* canvas, bool enable) -{ - CanvasesMap::iterator it = _get_canvas(canvas); - if (it != m_canvases.end()) - it->second->enable_moving(enable); -} - -void GLCanvas3DManager::enable_gizmos(wxGLCanvas* canvas, bool enable) -{ - CanvasesMap::iterator it = _get_canvas(canvas); - if (it != m_canvases.end()) - it->second->enable_gizmos(enable); -} - -void GLCanvas3DManager::enable_toolbar(wxGLCanvas* canvas, bool enable) -{ - CanvasesMap::iterator it = _get_canvas(canvas); - if (it != m_canvases.end()) - it->second->enable_toolbar(enable); -} - -void GLCanvas3DManager::enable_shader(wxGLCanvas* canvas, bool enable) -{ - CanvasesMap::iterator it = _get_canvas(canvas); - if (it != m_canvases.end()) - it->second->enable_shader(enable); -} - -void GLCanvas3DManager::enable_force_zoom_to_bed(wxGLCanvas* canvas, bool enable) -{ - CanvasesMap::iterator it = _get_canvas(canvas); - if (it != m_canvases.end()) - it->second->enable_force_zoom_to_bed(enable); -} - -void GLCanvas3DManager::enable_dynamic_background(wxGLCanvas* canvas, bool enable) -{ - CanvasesMap::iterator it = _get_canvas(canvas); - if (it != m_canvases.end()) - it->second->enable_dynamic_background(enable); -} - -void GLCanvas3DManager::allow_multisample(wxGLCanvas* canvas, bool allow) -{ - CanvasesMap::iterator it = _get_canvas(canvas); - if (it != m_canvases.end()) - it->second->allow_multisample(allow); -} - -void GLCanvas3DManager::enable_toolbar_item(wxGLCanvas* canvas, const std::string& name, bool enable) -{ - CanvasesMap::iterator it = _get_canvas(canvas); - if (it != m_canvases.end()) - it->second->enable_toolbar_item(name, enable); -} - -bool GLCanvas3DManager::is_toolbar_item_pressed(wxGLCanvas* canvas, const std::string& name) const -{ - CanvasesMap::const_iterator it = _get_canvas(canvas); - return (it != m_canvases.end()) ? it->second->is_toolbar_item_pressed(name) : false; -} - -void GLCanvas3DManager::zoom_to_bed(wxGLCanvas* canvas) -{ - CanvasesMap::iterator it = _get_canvas(canvas); - if (it != m_canvases.end()) - it->second->zoom_to_bed(); -} - -void GLCanvas3DManager::zoom_to_volumes(wxGLCanvas* canvas) -{ - CanvasesMap::iterator it = _get_canvas(canvas); - if (it != m_canvases.end()) - it->second->zoom_to_volumes(); -} - -void GLCanvas3DManager::select_view(wxGLCanvas* canvas, const std::string& direction) -{ - CanvasesMap::iterator it = _get_canvas(canvas); - if (it != m_canvases.end()) - it->second->select_view(direction); -} - -void GLCanvas3DManager::set_viewport_from_scene(wxGLCanvas* canvas, wxGLCanvas* other) -{ - CanvasesMap::iterator it = _get_canvas(canvas); - if (it != m_canvases.end()) - { - CanvasesMap::iterator other_it = _get_canvas(other); - if (other_it != m_canvases.end()) - it->second->set_viewport_from_scene(*other_it->second); - } -} - -void GLCanvas3DManager::update_volumes_colors_by_extruder(wxGLCanvas* canvas) -{ - CanvasesMap::const_iterator it = _get_canvas(canvas); - if (it != m_canvases.end()) - it->second->update_volumes_colors_by_extruder(); -} - -void GLCanvas3DManager::render(wxGLCanvas* canvas) const -{ - CanvasesMap::const_iterator it = _get_canvas(canvas); - if (it != m_canvases.end()) - it->second->render(); -} - -void GLCanvas3DManager::select_all(wxGLCanvas* canvas) -{ - CanvasesMap::const_iterator it = _get_canvas(canvas); - if (it != m_canvases.end()) - it->second->select_all(); -} - -void GLCanvas3DManager::delete_selected(wxGLCanvas* canvas) -{ - CanvasesMap::const_iterator it = _get_canvas(canvas); - if (it != m_canvases.end()) - it->second->delete_selected(); -} - -void GLCanvas3DManager::ensure_on_bed(wxGLCanvas* canvas, unsigned int object_idx) -{ - CanvasesMap::const_iterator it = _get_canvas(canvas); - if (it != m_canvases.end()) - it->second->ensure_on_bed(object_idx); -} - -std::vector GLCanvas3DManager::get_current_print_zs(wxGLCanvas* canvas, bool active_only) const -{ - CanvasesMap::const_iterator it = _get_canvas(canvas); - return (it != m_canvases.end()) ? it->second->get_current_print_zs(active_only) : std::vector(); -} - -void GLCanvas3DManager::set_toolpaths_range(wxGLCanvas* canvas, double low, double high) -{ - CanvasesMap::iterator it = _get_canvas(canvas); - if (it != m_canvases.end()) - it->second->set_toolpaths_range(low, high); -} - -std::vector GLCanvas3DManager::load_object(wxGLCanvas* canvas, const ModelObject* model_object, int obj_idx, std::vector instance_idxs) -{ - if (model_object == nullptr) - return std::vector(); - - CanvasesMap::const_iterator it = _get_canvas(canvas); - return (it != m_canvases.end()) ? it->second->load_object(*model_object, obj_idx, instance_idxs) : std::vector(); -} - -std::vector GLCanvas3DManager::load_object(wxGLCanvas* canvas, const Model* model, int obj_idx) -{ - if (model == nullptr) - return std::vector(); - - CanvasesMap::const_iterator it = _get_canvas(canvas); - return (it != m_canvases.end()) ? it->second->load_object(*model, obj_idx) : std::vector(); -} - -void GLCanvas3DManager::mirror_selection(wxGLCanvas* canvas, Axis axis) -{ - CanvasesMap::iterator it = _get_canvas(canvas); - if (it != m_canvases.end()) - it->second->mirror_selection(axis); -} - -void GLCanvas3DManager::reload_scene(wxGLCanvas* canvas, bool refresh_immediately, bool force_full_scene_refresh) -{ - CanvasesMap::iterator it = _get_canvas(canvas); - if (it != m_canvases.end()) - it->second->reload_scene(refresh_immediately, force_full_scene_refresh); -} - -void GLCanvas3DManager::load_gcode_preview(wxGLCanvas* canvas, const GCodePreviewData* preview_data, const std::vector& str_tool_colors) -{ - if (preview_data == nullptr) - return; - - CanvasesMap::iterator it = _get_canvas(canvas); - if (it != m_canvases.end()) - it->second->load_gcode_preview(*preview_data, str_tool_colors); -} - -void GLCanvas3DManager::load_preview(wxGLCanvas* canvas, const std::vector& str_tool_colors) -{ - CanvasesMap::iterator it = _get_canvas(canvas); - if (it != m_canvases.end()) - it->second->load_preview(str_tool_colors); -} - -void GLCanvas3DManager::reset_legend_texture(wxGLCanvas* canvas) -{ - CanvasesMap::iterator it = _get_canvas(canvas); - if (it != m_canvases.end()) - it->second->reset_legend_texture(); -} - wxGLCanvas* GLCanvas3DManager::create_wxglcanvas(wxWindow *parent) { int attribList[] = { WX_GL_RGBA, WX_GL_DOUBLEBUFFER, WX_GL_DEPTH_SIZE, 24, WX_GL_SAMPLE_BUFFERS, GL_TRUE, WX_GL_SAMPLES, 4, 0 }; diff --git a/src/slic3r/GUI/GLCanvas3DManager.hpp b/src/slic3r/GUI/GLCanvas3DManager.hpp index ddff40bc2..2424b32f0 100644 --- a/src/slic3r/GUI/GLCanvas3DManager.hpp +++ b/src/slic3r/GUI/GLCanvas3DManager.hpp @@ -55,7 +55,6 @@ class GLCanvas3DManager #if ENABLE_USE_UNIQUE_GLCONTEXT wxGLContext* m_context; #endif // ENABLE_USE_UNIQUE_GLCONTEXT - wxGLCanvas* m_current; GLInfo m_gl_info; bool m_gl_initialized; bool m_use_legacy_opengl; @@ -70,7 +69,6 @@ public: bool add(wxGLCanvas* canvas); bool remove(wxGLCanvas* canvas); - void remove_all(); unsigned int count() const; @@ -78,63 +76,10 @@ public: void init_gl(); std::string get_gl_info(bool format_as_html, bool extensions) const; - bool layer_editing_allowed() const; - bool init(wxGLCanvas* canvas); GLCanvas3D* get_canvas(wxGLCanvas* canvas); - void set_config(wxGLCanvas* canvas, DynamicPrintConfig* config); - void set_process(wxGLCanvas* canvas, BackgroundSlicingProcess* process); - void set_model(wxGLCanvas* canvas, Model* model); - - void set_bed_shape(wxGLCanvas* canvas, const Pointfs& shape); - - void set_color_by(wxGLCanvas* canvas, const std::string& value); - - void enable_layers_editing(wxGLCanvas* canvas, bool enable); - void enable_warning_texture(wxGLCanvas* canvas, bool enable); - void enable_legend_texture(wxGLCanvas* canvas, bool enable); - void enable_picking(wxGLCanvas* canvas, bool enable); - void enable_moving(wxGLCanvas* canvas, bool enable); - void enable_gizmos(wxGLCanvas* canvas, bool enable); - void enable_toolbar(wxGLCanvas* canvas, bool enable); - void enable_shader(wxGLCanvas* canvas, bool enable); - void enable_force_zoom_to_bed(wxGLCanvas* canvas, bool enable); - void enable_dynamic_background(wxGLCanvas* canvas, bool enable); - void allow_multisample(wxGLCanvas* canvas, bool allow); - - void enable_toolbar_item(wxGLCanvas* canvas, const std::string& name, bool enable); - bool is_toolbar_item_pressed(wxGLCanvas* canvas, const std::string& name) const; - - void zoom_to_bed(wxGLCanvas* canvas); - void zoom_to_volumes(wxGLCanvas* canvas); - void select_view(wxGLCanvas* canvas, const std::string& direction); - void set_viewport_from_scene(wxGLCanvas* canvas, wxGLCanvas* other); - - void update_volumes_colors_by_extruder(wxGLCanvas* canvas); - - void render(wxGLCanvas* canvas) const; - - void select_all(wxGLCanvas* canvas); - void delete_selected(wxGLCanvas* canvas); - void ensure_on_bed(wxGLCanvas* canvas, unsigned int object_idx); - - std::vector get_current_print_zs(wxGLCanvas* canvas, bool active_only) const; - void set_toolpaths_range(wxGLCanvas* canvas, double low, double high); - - std::vector load_object(wxGLCanvas* canvas, const ModelObject* model_object, int obj_idx, std::vector instance_idxs); - std::vector load_object(wxGLCanvas* canvas, const Model* model, int obj_idx); - - void mirror_selection(wxGLCanvas* canvas, Axis axis); - - void reload_scene(wxGLCanvas* canvas, bool refresh_immediately, bool force_full_scene_refresh = false); - - void load_gcode_preview(wxGLCanvas* canvas, const GCodePreviewData* preview_data, const std::vector& str_tool_colors); - void load_preview(wxGLCanvas* canvas, const std::vector& str_tool_colors); - - void reset_legend_texture(wxGLCanvas* canvas); - static bool can_multisample() { return s_multisample == MS_Enabled; } static wxGLCanvas* create_wxglcanvas(wxWindow *parent);