1946 Commits

Author SHA1 Message Date
Lukas Matena
fae06e0773 Vectorization of the wipe tower 2024-11-20 16:04:15 +01:00
enricoturri1966
90136d3ad3 Camera + shading
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
2024-11-20 16:04:15 +01:00
Lukas Matena
360f7a84b4 Polishing:
- 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
2024-11-20 16:04:05 +01:00
Lukas Matena
cc73ff8f4f Multiple beds (part 7):
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.
2024-11-20 13:36:13 +01:00
Lukas Matena
c24e9fdfed Multiple beds (part 5):
- nicer active / virtual bed visualization
- select bed by left mouse click
- bed selector only shows in preview
2024-11-20 13:36:13 +01:00
Lukas Matena
9035caa337 Multiple beds (part 4): Thumbnails (buttons, G-codes) 2024-11-20 13:36:13 +01:00
Lukas Matena
e88c625567 Multiple beds (part 3):
- 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
2024-11-20 13:36:13 +01:00
Lukas Matena
accc4ce266 Multiple beds (part 1):
- 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)
2024-11-20 13:36:12 +01:00
Lukáš Hejl
886faac74e SPE-2486: Add a new gizmo for fuzzy skin painting. 2024-11-12 15:22:57 +01:00
Lukáš Hejl
5229510346 SPE-2514: Prevents focusing on the menu bar when ALT is pressed in painting gizmos. 2024-11-05 13:58:44 +01:00
Lukas Matena
1f9344a5dc Use ModelWipeTower instead of config for wipe tower pos and rot (frontend part) - SPE-2520 2024-10-16 12:27:25 +02:00
enricoturri1966
3c3591f8a0 SPE-2374: Fixed update of shells visibility when user changes printer technology 2024-07-10 15:20:55 +02:00
Martin Šach
96e3e77fef Prepare fe for include optimization.
- Add pragmas to keep necessary headers with symbols not explicitly
stated in the file.
- Use include paths that IWYU understands.
2024-07-08 15:37:02 +02:00
Martin Šach
21116995d7 Refactor CMake and improve #includes.
* 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.
2024-07-08 15:36:46 +02:00
YuSanka
cbb5aa0a26 Follow-up 0237acb38f - Fixed toolbar scale 2024-06-26 15:27:06 +02:00
YuSanka
0237acb38f Follow-up 3bd0728b: Fixed the toolbar icons size, when it's set from Preferences.
see https://github.com/prusa3d/PrusaSlicer/issues/12838#issuecomment-2176534793
2024-06-24 19:49:25 +02:00
enricoturri1966
bafd65d55b SPE-2344: Fix performance hit on MAC in GCodeViewer:
squashed et_spe2344_bis (5c6bba6)
2024-06-24 19:45:08 +02:00
YuSanka
97d82a0d57 DoubleSliderForLayers Improvements:
* Set "Show estimated print time on mouse moving" on true by default
* Back ported Ruler
* Fix for "Add" button
* Show move line on ruler
2024-06-21 14:12:28 +02:00
enricoturri1966
93a47c971a Port of b2627055e34d1d42b86b32613e3fd0c07051ee63 from branch et_spe2109 2024-06-12 19:11:05 +02:00
YuSanka
3bd0728bc6 Fixed blurring of the Toolbars 2024-06-12 14:39:11 +02:00
YuSanka
8590e34aaf UI improvements:
- 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"
2024-06-12 14:39:11 +02:00
Lukas Matena
ccd8910442 Automatic addition of missing glyphs: load CJK when a glyph is not found 2024-06-10 10:46:59 +02:00
YuSanka
b376919d83 DSForLayers: Fixed a preview of estimated printer times
+ Fixed position of the "Layer statistics" window
2024-06-06 12:23:22 +02:00
Lukas Matena
ae84f190c0 Fixed some more compiler warnings 2024-06-06 12:23:22 +02:00
Lukas Matena
62463b743f Fixed couple of compiler warnings 2024-06-06 12:23:22 +02:00
Lukas Matena
226b20fa17 Added a 'layer statistics' legend for SLA 2024-06-06 12:17:44 +02:00
Lukáš Hejl
4b8fe98443 SPE-2186: Add shrinkage compensation into filament settings.
There is a limitation that on multi-tool printers, all used filaments must have the same shrinkage compression values.
2024-05-14 17:16:23 +02:00
YuSanka
dfcddc25e7 Fixed set of sprite_id for items inside toolbars 2024-05-14 08:06:16 +02:00
YuSanka
320d11d5db ImguiDoubleSlider: Change layout of horizontal slider and position_window 2024-04-25 10:28:03 +02:00
YuSanka
0bb9233da7 ImguiDoubleSlider: Respect to "Collapse sidebar" button
+ use scale from canvas Size
2024-04-24 10:54:12 +02:00
YuSanka
56a3740fe4 ImguiDoubleSlider: WIP: Control is split to DSManagerForGcode and DSManagerForLayers (both are derived from template class)
+ GLCanvas3D: refactoring for handle of events related to the manipulation with sliders
 + use callbacks to process navigation in sliders instead of wxEvents
2024-04-24 10:54:12 +02:00
YuSanka
d06ef37df9 ImguiDoubleSlider: WIP: Set scale in respect to Retina displays
+ request one more frame for redraw, if value was changed with mouse wheel
 + some code cleaning
2024-04-24 10:54:12 +02:00
YuSanka
a5322ef970 DoubleSlider: ImGui rendering (WIP) 2024-04-24 10:54:12 +02:00
YuSanka
9beef5e847 TopBar: Added "Show settings" button 2024-04-24 10:49:22 +02:00
YuSanka
c95bc97435 Deleted unused UI-settings ("Set settings tabs as menu items" and "New layout, access via settings button in the top menu") 2024-04-24 10:49:22 +02:00
YuSanka
ed51fc24c9 Follow-up last commit: Fixed warnings and added missed include 2024-04-05 13:16:05 +02:00
YuSanka
e9361b4f61 ImGuiWrapper is split now into ImGuiWrapper, which contains and uses internal variables,
and ImGuiPureWrap (name space which uses just pure ImGui functions and doesn't use wxWidgets)
2024-04-05 12:38:47 +02:00
enricoturri1966
c2b8914ed0 Tech ENABLE_GL_CORE_PROFILE set as default 2024-03-26 14:41:57 +01:00
enricoturri1966
1112fca688 Tech ENABLE_OPENGL_ES replaced by build option SLIC3R_OPENGL_ES 2024-03-26 14:41:57 +01:00
enricoturri1966
539c155c59 Code cleanup and techs removal - completed 2024-03-26 14:41:55 +01:00
enricoturri1966
6529f28f26 New gcode visualization library - Separation of tool colors and color changes colors to simplify client code 2024-03-26 14:26:59 +01:00
enricoturri1966
5c29f868c3 New gcode visualization integration - Fixed toolpaths reset 2024-03-26 14:15:39 +01:00
enricoturri1966
13f9d6f28e New gcode visualization integration - Fixed management of gcode preview view type 2024-03-26 14:15:38 +01:00
enricoturri1966
55b674ca3b Code cleanup 2024-03-26 14:15:37 +01:00
enricoturri1966
dcd8b30842 Some refactoring and warning fix 2024-03-26 14:14:51 +01:00
enricoturri1966
00a19fe4eb New gcode visualization integration - Fixed pre-gcode preview layers times 2024-03-26 14:12:32 +01:00
enricoturri1966
160d9b0187 New gcode visualization integration - Modify pre-gcode preview to use the new toolpaths renderer, objects WIP 2024-03-26 14:12:32 +01:00
enricoturri1966
a2b9104567 New gcode visualization - Modify pre-gcode preview to use the new toolpaths renderer, WIP (brim/skirt/wipe tower) 2024-03-26 14:12:32 +01:00
enricoturri1966
1d6fb321af New gcode visualization integration - Removal of old visualization 2024-03-26 14:12:32 +01:00
enricoturri1966
1ee29acc4f Some refactoring 2024-03-26 14:12:31 +01:00