Zoom to bed command set to zoom to active bed
Added camera rotation pivot which is updated whenever the active bed changes
SPE-2506 - Follow up of a2873759aba1eb13a31591d9e852be0f1e21786b - Fixed camera position after zoom to bed
- virtual bed shows even when dragging which was already outside
- when loading old-arranged project with more than max number of beds, a virtual bed would still be offered
- loading a project file with multiple beds only showed 2 beds initially
- nonprintable objects are not considered into the bed creation logic
- drag and dropping an object does not change active bed
- shells in preview are now shown correctly when switching between beds
- spacing in x takes into account model size (except during the initial rearrange)
- update volumes outside state after project loading
- highlight of selected bed for default beds
This is where it really gets nasty:
- Switch background_process.m_temp_output_path is now updated when beds are switched, so each Print writes to a different file.
- When switching beds in Preview, there is a cache in GCodeViewer which would mistakenly not load the other preview (happens in case when switching to a bed which is not sliced and back). Bypass this cache when beds are being switched.
- Added a CallAfter logic into GLCanvas3D::select_bed (the central function where beds are switched). It now does the following:
1. Stops the background process
2. Schedules a callafter which then
3. wxYields the event queue (so all events generated as a result of (1) are consumed before active bed is switched.
4. switches active bed
5. fires couple of update functions and events, schedules background process
- When BSProcess is switched to the new bed, it now calls on_slicing_update (in sync). This is to regenerate all slicing error/warning notifications. The on_slicing_update function was updated to be able to process all print(object)steps and objects.
- Sliced info in sidebar did not properly show when switching beds in 3D scene. Added explicit refresh into update_background_process.
- reload preview when beds are switched
- only show one bed in preview
- move the preview so it ends up in the same place as in 3D scene
- move the camera when switching beds in Preview
- create new bed when a volume is dragged into it
- limit maximum number of beds
- keep track of which ModelInstances are on which bed
- show list of beds and allow selecting an active one
- move objects from active bed to the first bed when passing Model to Print::apply (and back)
* 1. Remove all global include_directories.
* 2. Move 3d party dependencies from src to budled deps if possible.
* Unify and enforce one way of including headers:
e.g. #include "libslic3r/GCode.hpp" vs #include "GCode.hpp"
(always use the "libslic3r/GCode.hpp" option).
* Make all dependencies (also header only) a cmake target.
- Increase margin around the toolbar icons
- Fixed layout for search button in search control
- Fixed background for Scene / Preview buttons
- Fix for #12576 - Show "collapse sidebar" button, even if "Show sidebar expand/collapse button" wasn't enabled but sidebar is collapsed
- Account button: "Anonymous" default name is changed to "Log in"
+ GLCanvas3D: refactoring for handle of events related to the manipulation with sliders
+ use callbacks to process navigation in sliders instead of wxEvents