Commit Graph

539 Commits

Author SHA1 Message Date
Enrico Turri
5018089351 Toolbar refactoring
1) toolbar items define 3 callback functions for setting the visibility, setting the enabling state and defining their action which are set while adding a new item to the toolbar

2) the toolbar takes care to update all its items visibility and enabled states through a new update method to be called by the parent idle event handler

3) the toolbar handles mouse events by calling its on_mouse method
2019-03-14 13:54:05 +01:00
Lukas Matena
63b65bb3c8 Wipe tower brim lines are now printed with overlaps as they should be 2019-03-13 10:46:50 +01:00
bubnikv
1da97c9415 Merge remote-tracking branch 'remotes/origin/ys_buttons' 2019-03-12 09:01:17 +01:00
Enrico Turri
b89e95aea7 Fixed rotation of multiple instances selection 2019-03-08 14:52:32 +01:00
Enrico Turri
172daa8989 Top toolbar icon size set to 40px 2019-03-08 14:35:33 +01:00
Enrico Turri
862700ab46 Added change removed by mistale in 02163f7f9648b81ad1dc59a4ad6c1a5c55c02a50 2019-03-08 12:04:06 +01:00
Enrico Turri
513256649e Final version of fix to prevent showing old framebuffer when switching between views on Mac 2019-03-08 12:04:01 +01:00
Enrico Turri
628a868cfd 2nd attempt to prevent showing old framebuffer when switching between views on Mac 2019-03-08 12:03:49 +01:00
Enrico Turri
fc70b73f45 Refactoring - Shared members of GLCanvas3D as references instead of pointers 2019-03-08 12:03:37 +01:00
Enrico Turri
b5217918cf Code cleanup 2019-03-08 12:03:31 +01:00
Enrico Turri
72239732e4 Fixed build on Mac 2019-03-08 12:03:25 +01:00
Enrico Turri
aa4c44dbea Use unique camera shared by 3d view and preview (experimental) 2019-03-08 12:03:17 +01:00
Enrico Turri
af72d781ad Fixed GLCanvas3D::Selection::is_single_full_instance() 2019-03-08 10:36:12 +01:00
Lukas Matena
8b74cc48eb Prevented instance move event when SLA gizmo is active so right panel is not needlessly updated 2019-03-08 09:26:42 +01:00
YuSanka
aa0737fa5e Fixed assert after try to add Part to Object with several Instances from the ObjectList.
+ Fixed selection on the 3DScene before a context menu showing
2019-03-07 10:08:21 +01:00
Enrico Turri
2a6de99f06 Fixed rotation of multiple volumes selection 2019-03-06 15:22:17 +01:00
Enrico Turri
2c99fd35d3 Force canvas resize when switching between views 2019-03-06 13:37:20 +01:00
Enrico Turri
de06db7989 Allow dragging of objects also along world Z axis in side views 2019-03-06 12:09:20 +01:00
Enrico Turri
1bb5630eaa Fixed gizmos' imgui dialog x position 2019-03-06 10:47:48 +01:00
Lukas Matena
f147f192b4 Disabled object context menu when the SLA gizmo is active 2019-03-06 10:10:10 +01:00
Enrico Turri
925378ba90 Added background to legend texture 2019-03-05 13:57:41 +01:00
Enrico Turri
822bd92bd1 Fixed conflicts after merge with master 2019-03-05 08:27:21 +01:00
Lukas Matena
02c68ed895 Prevented the sla gizmo dialog to overlap the bottom toolbar 2019-03-04 14:52:08 +01:00
Enrico Turri
319a48f42d Added svg icons for view toolbar and gismos 2019-03-04 14:21:52 +01:00
Enrico Turri
5ddf45806b Merge branch 'master' of https://github.com/prusa3d/Slic3r into svg_icons 2019-03-04 13:47:34 +01:00
Enrico Turri
06c2b4bdf3 Allow to drag object's subparts once selected using the sidebar table 2019-03-04 11:00:52 +01:00
Enrico Turri
3c7ec5f7c6 Merge branch 'master' of https://github.com/prusa3d/Slic3r into svg_icons 2019-03-04 08:33:52 +01:00
bubnikv
570bc63e58 Merge branch 'master' of https://github.com/prusa3d/Slic3r 2019-03-01 15:36:01 +01:00
bubnikv
0ec450f3d7 Fix of instance rotations from the side panel
in regard to instance synchronization.
2019-03-01 15:35:48 +01:00
Enrico Turri
3a1dcedaff Prevent camera rotation when clicking and dragging on toolbars 2019-03-01 12:23:33 +01:00
YuSanka
247b70395b Merge remote-tracking branch 'origin/master' into ys_buttons 2019-03-01 12:13:33 +01:00
YuSanka
a123099f80 Implemented another behavior of the "Slice Now" / "Export/Send G-code" buttons (SPE-831) 2019-03-01 11:00:34 +01:00
Enrico Turri
e03199d989 Allow selection of subparts only from sidebar table 2019-03-01 10:40:10 +01:00
bubnikv
d009be7609 Fixed rotation of single instance -> it works now with absolute values.
Added Absolute / relative, World / Local, Rigid body / independent
modifier parameter to the object / group rotation.
2019-03-01 10:20:12 +01:00
Enrico Turri
e5a2c0a8c8 ENABLE_MODE_AWARE_TOOLBAR_ITEMS set as default 2019-02-28 12:21:36 +01:00
Enrico Turri
2d77f89360 Merge branch 'master' of https://github.com/prusa3d/Slic3r into svg_icons 2019-02-27 10:42:30 +01:00
Lukas Matena
bb533e386a Fixed shortcut for [M]ove gizmo (accidentally overridden by a shortcut for [M]anual changes of SLA support points) 2019-02-27 10:12:54 +01:00
Enrico Turri
8cc1486cab Fixed uv in gizmos overlay 2019-02-27 10:03:58 +01:00
Enrico Turri
e1eff8fa5c Merge branch 'master' of https://github.com/prusa3d/Slic3r into svg_icons 2019-02-26 12:56:43 +01:00
Enrico Turri
a8610f990e Automatic generation of variants of icons for toolbars and gizmos 2019-02-26 12:56:13 +01:00
Enrico Turri
2f205dd77b Fix of #1853 (Translation of volumes in side view) 2019-02-26 12:31:49 +01:00
bubnikv
f3b33eac50 Yet another fix of keyboard / mouse focus on the 3D scene. 2019-02-26 11:50:45 +01:00
Enrico Turri
f47fe861ac Allow non-squared textures for toolbars and gizmo icons 2019-02-26 10:40:00 +01:00
Enrico Turri
0f683a6a1e 1st installment of svg icons for toolbars and gizmos 2019-02-26 09:56:23 +01:00
bubnikv
feef5608b9 Workaround for mouse events sent out of order
(mouse button down being sent before mouse enter)
2019-02-25 17:09:44 +01:00
Lukas Matena
bb3819fd18 SLA support gizmo hotkeys added (A,M,Esc,Enter) 2019-02-25 13:04:05 +01:00
Enrico Turri
fab87ff1d9 Merge branch 'master' of https://github.com/prusa3d/Slic3r into svg_icons 2019-02-25 09:32:02 +01:00
bubnikv
7b65803cb3 Fix of SPE-832
Workaround for a wxWidget bug, where the mouse down event comes
before mouse enter event after a pop-up menu is closed.
2019-02-22 16:16:04 +01:00
Enrico Turri
03022ce124 Code cleanup 2019-02-22 12:06:56 +01:00
Enrico Turri
a36896e4c9 Fixed conflicts after merge with master 2019-02-22 10:18:15 +01:00
Enrico Turri
aa9994fa35 Gizmos overlay using a single png texture 2019-02-22 10:01:34 +01:00
Enrico Turri
eb0b3aea09 Fixed conflicts after merge with master 2019-02-22 09:11:49 +01:00
Vojtech Kral
051ca410f6 More input handling fixes 2019-02-21 19:00:50 +01:00
Vojtech Kral
bf699462c3 imgui: Attempt to fix Tab key 2019-02-21 13:17:26 +01:00
Vojtech Kral
1b30ac1f89 Fix Preview legend scaling 2019-02-21 12:20:06 +01:00
Enrico Turri
2eb0b6d1b4 Merge branch 'master' of https://github.com/prusa3d/Slic3r into et_multivolume_models 2019-02-21 08:20:44 +01:00
Vojtech Kral
478032ad28 imgui: Fix char input handling 2019-02-20 16:55:00 +01:00
bubnikv
cb8677b310 Merge branch 'master' of https://github.com/Prusa3d/Slic3r 2019-02-20 16:20:52 +01:00
bubnikv
c55629259a Merge remote-tracking branch 'origin/ys_hdpi' 2019-02-20 16:20:30 +01:00
Vojtech Kral
1045b43d4f imgui: Input fixes 2019-02-20 16:12:41 +01:00
Vojtech Kral
2de814d478 Imgui: Implement keyboard input, fix #1797 2019-02-20 16:12:41 +01:00
Enrico Turri
11fc849b1a Printbed textures generated from svg files 2019-02-20 15:23:23 +01:00
Enrico Turri
e2731416bf Merge branch 'master' of https://github.com/prusa3d/Slic3r into et_multivolume_models 2019-02-20 13:50:54 +01:00
Enrico Turri
cb1ef36ceb ENABLE_UNIQUE_BED set as default 2019-02-20 13:50:35 +01:00
Enrico Turri
7443868e87 Merge branch 'master' of https://github.com/prusa3d/Slic3r into et_multivolume_models 2019-02-20 13:16:39 +01:00
Lukas Matena
2759c87e5b WarningTexture class in GLCanvas3D modified so it can be used more universally
Added a warning to notify that some objects are not rendered with SLA gizmo active
2019-02-20 12:09:45 +01:00
Lukas Matena
4558910a84 SLA gizmo can be deselected by clicking in canvas area (unless in editing mode) 2019-02-20 09:59:59 +01:00
Enrico Turri
75df722fee Bed and Axes classes moved from GLCanva3d to Plater to have a unique instance of them shared by all views 2019-02-19 15:15:27 +01:00
Lukas Matena
1bb0af1588 SLA gizmo asks about saving changes, right button click removes points 2019-02-19 13:47:28 +01:00
Enrico Turri
d81b957968 Tech ENABLE_REWORKED_BED_SHAPE_CHANGE set as default 2019-02-19 10:28:32 +01:00
Lukas Matena
023b788777 Merge branch 'master' into lm_sla_supports_auto2 2019-02-19 10:15:16 +01:00
Enrico Turri
e861f5a243 Tech ENABLE_PRINT_BED_MODELS set as default 2019-02-19 10:07:37 +01:00
Enrico Turri
644794233f Code cleanup 2019-02-18 15:41:12 +01:00
Enrico Turri
8635756b02 Added debug output to investigate further #1788 2019-02-18 15:41:04 +01:00
Enrico Turri
362f6a069c 2nd attempt to fix #1788 2019-02-18 15:40:58 +01:00
Enrico Turri
022b573bae 1st attempt to fix #1788 2019-02-18 15:40:51 +01:00
Lukas Matena
5966dcb78e SLA gizmo - fixed support points rendering (depth is now correctly accounted for) 2019-02-18 11:59:47 +01:00
bubnikv
09cce95181 Merge branch 'lm_sla_supports_auto2' of https://github.com/prusa3d/Slic3r into lm_sla_supports_auto2 2019-02-17 13:09:16 +01:00
Lukas Matena
ac8f9ab3dc SLA gizmo improvements
- point can be selected
- selection can be deleted, head diameter changed
- dragging of objects is not allowed with the gizmo being on
- added a modal dialog when automatic support generator is triggered
2019-02-11 16:29:03 +01:00
Lukas Matena
0453caf266 SLA gizmo - shift-up and ctrl+a event passing 2019-02-11 08:21:37 +01:00
Lukas Matena
fd4054be7e First steps on the rectangular selection for the SLA gizmo 2019-02-09 07:19:01 +01:00
YuSanka
f0cee79170 Fix of #1768 2019-02-08 17:36:38 +01:00
Enrico Turri
7662fa9a5b Temporary disable transparent bed and higher resolution bed textures 2019-02-08 16:45:03 +01:00
Enrico Turri
29137d1b3c Fixed z offset of printbed models 2019-02-08 10:19:07 +01:00
bubnikv
d0553ece0e Extended tesselation wrapper for other 3d and 2d point types. 2019-02-08 09:26:48 +01:00
Lukas Matena
4357c80793 SLA gizmo - fixed hiding of objects and instances 2019-02-06 17:27:02 +01:00
Lukas Matena
9fc75d7b34 SLA support points (better backend->frontend synchronization and more)
- backend to frontend data synchronization to inform the gizmo that new points have been generated
- fixed the inadvertent cancellation of background processing caused by the SLA gizmo touching frontend data during the process
- inactive instances of the object are hidden when the SLA gizmo is active
- fix of imgui combobox rendering
2019-02-06 15:16:25 +01:00
Enrico Turri
a2478b7faa Fixed print bed UV mapping 2019-02-06 15:11:58 +01:00
Enrico Turri
8100f562da Selection of bed texture resolution in dependence of graphic card capabilities 2019-02-06 14:55:36 +01:00
YuSanka
b2410e0f23 Merge remote-tracking branch 'origin/master' into ys_hdpi 2019-02-06 11:12:44 +01:00
bubnikv
d31cb98fe9 Merge remote-tracking branch 'remotes/origin/master' into lm_sla_supports_auto2 2019-02-06 11:11:51 +01:00
bubnikv
6ef9c23d19 Merge branch 'master' into lm_sla_supports_auto2 2019-02-06 11:10:18 +01:00
YuSanka
3c83fa17cc Fixed a scale for the LegendTexture in a Preview 2019-02-06 10:55:11 +01:00
bubnikv
72d85261fb Fix of mouse wheel scrolling over the variable layer height bar
with OSX Retina rendering.
2019-02-06 08:44:06 +01:00
bubnikv
3dc6e266ed Updated GLCanvas3D to use the tesselator through libslic3r 2019-02-05 19:45:52 +01:00
Enrico Turri
ee64ad8d1f Fixed OpenGL assert on MESA OpenGL driver due to anisotropic texture filtering not supported 2019-02-05 14:02:48 +01:00
Enrico Turri
a35b1a1850 Fix of #1772 2019-02-05 10:18:40 +01:00
bubnikv
5207d31df1 WIP: HiDPI support - 3D scene on Windows / Linux
HiDPI support on Windows - enabled in manifest.
2019-02-04 21:41:10 +01:00
Enrico Turri
b3c3881282 Calls to GLCanvas3D::_set_current() made only after the canvas has been initialized 2019-02-04 16:05:54 +01:00
bubnikv
b8d6c6bbb2 Merge branch 'master' of https://github.com/Prusa3d/Slic3r 2019-02-04 15:46:20 +01:00
bubnikv
ac007d4173 Platform independent delete menus 2019-02-04 15:46:12 +01:00
Enrico Turri
e43e89d495 Code cleanup 2019-02-04 15:25:22 +01:00
bubnikv
f42ce8c84a Ctrl+A is handled differently on OSX than on Windows / Linux by wxWidgets 2019-02-04 15:12:24 +01:00
Lukas Matena
9dff44a8ad SLA support gizmo does not use Grabber class anymore 2019-02-04 12:33:59 +01:00
Enrico Turri
5136ffa94b 2nd attempt to fix SPE-807 2019-02-04 12:27:44 +01:00
Enrico Turri
c31a648bf7 1st attempt to fix SPE-807 2019-02-04 10:06:15 +01:00
Enrico Turri
fe7806c7f0 Merge branch 'master' of https://github.com/prusa3d/Slic3r into et_bug_fixes 2019-02-04 09:55:48 +01:00
bubnikv
7c5d94e0b1 Don't capture Cmd+A on OSX in Canvas, it works throug the menu accelerators. 2019-02-04 09:37:49 +01:00
Lukas Matena
d32d0a7636 Merge branch 'master' into lm_sla_supports_auto2 2019-02-04 08:41:00 +01:00
Lukas Matena
d154e75ad7 Merge branch 'master' into lm_sla_supports_auto2 2019-02-04 08:40:20 +01:00
Enrico Turri
9b9d35d90d Merge branch 'master' of https://github.com/prusa3d/Slic3r into et_bug_fixes 2019-02-04 08:36:28 +01:00
bubnikv
d0b1b3b3de Trying to convince OSX that we want the Control key to behave as Command
key when accessing OSX machine over VNC from a PC.
2019-02-03 17:57:55 +01:00
bubnikv
14a623f50e Removed GLCanvas3D::on_key_down() handler, as it is replaced
by the on_char() handler.
2019-02-03 14:11:09 +01:00
bubnikv
0c1f750cba The accelerators Ctrl+A, Ctrl+Del and Del were incorrectly captured
globally by being defined in the Edit menu.
These accelerators are now suppressed in the menu (shown on Windows
but inactive, not shown on OSX / Linux),
and they are now captured by the 3D scene widget instead.

Fix of ctrl-A doesn't work well #1753
2019-02-03 14:06:13 +01:00
bubnikv
5deb8fcc65 Suppressed the "Split to volumes" button in simple mode. 2019-02-03 11:15:26 +01:00
bubnikv
f050d91239 OSX specific: The Command short keys over the 3D scene toolbars
are now shown with the OSX "Command" symbols, not as "Ctrl+"
2019-02-03 11:10:25 +01:00
Lukas Matena
f568f93f08 More SLA support points improvements
- unselected objects are hidden when SLA gizmo is active
- support volumes are hidden when editing mode is active
- 3mf support points format versioning
2019-02-01 23:09:02 +01:00
Enrico Turri
e00fb7ba43 Merge branch 'master' of https://github.com/prusa3d/Slic3r into et_bug_fixes 2019-02-01 15:14:19 +01:00
Enrico Turri
016507f4ef Merge branch 'sidebar_fixes' of https://github.com/prusa3d/Slic3r 2019-02-01 14:32:21 +01:00
Enrico Turri
8f87ae5ca9 Added other debug output to investigate SPE-807 2019-02-01 13:15:24 +01:00
Enrico Turri
3e7f76b578 Added debug output to investigate SPE-807 2019-02-01 11:54:18 +01:00
Lukas Matena
21026ec9a8 SLA support points improvements
- semi-intelligent algorithm to place support points
- enhanced ImGui dialog with editing/non-editing mode
- support points can have different head diameter (only implemented in GUI so far)
- autogenerated points supporting emerging islands are annotated and the info is kept
2019-02-01 07:13:08 +01:00
Enrico Turri
fb6ef1d20f Keeps modifier transparent while layer editing tool is enabled 2019-01-31 14:25:11 +01:00
Enrico Turri
5fa5d495bb Merge branch 'master' of https://github.com/prusa3d/Slic3r into sidebar_fixes 2019-01-31 13:32:47 +01:00
Enrico Turri
035ef9cb23 Merge branch 'master' of https://github.com/prusa3d/Slic3r 2019-01-31 13:19:46 +01:00
Enrico Turri
81c621716b User mode-aware toolbar items 2019-01-31 13:19:26 +01:00
Enrico Turri
85f7d28c6f Added call to _set_current() into GLCanvas3D::on_mouse() 2019-01-31 10:50:16 +01:00
Enrico Turri
0a72a4e7ad GLCanvas3D -> added call _set_current() to method accessing GPU memory 2019-01-31 09:15:43 +01:00
bubnikv
991632add5 GLCanvas3d::on_render(): if not intialized yet,
Call render directly, so it gets initialized immediately, not from On Idle handler.
2019-01-30 19:48:26 +01:00
bubnikv
ed9a924880 Added missing GL context "Set Current" calls before loading data
into vertex buffers.

Changed behavior of Canvas3D::on_render() to postpone rendering to idle,
as on OSX the paint events happen directly from control updates,
if the control update triggers Canvas3D window rescaling. With this change,
rendering only happens from idle handler consistently.
2019-01-30 19:02:30 +01:00
Enrico Turri
3deeab90f3 Merge branch 'master' of https://github.com/prusa3d/Slic3r into sidebar_fixes 2019-01-30 16:19:59 +01:00
bubnikv
eec289961a Removed Microsoft specific _DEBUG flag from the Unix systems.
Made condional compilation of assert code based on #ifndef NDEBUG
instead of #ifdef _DEBUG to compile on Unix systems.
2019-01-30 15:27:11 +01:00
YuSanka
5a28693ff4 Updated draw_colored_band() according to the new colors.
+ some code refactoring
2019-01-30 14:45:18 +01:00
Enrico Turri
883e09fbcd Merge branch 'master' of https://github.com/prusa3d/Slic3r into sidebar_fixes 2019-01-30 12:16:49 +01:00
bubnikv
460cf820af Some optimizations of the color print preview. 2019-01-30 12:10:26 +01:00
bubnikv
d30676ceee Merge remote-tracking branch 'remotes/origin/ys_color_print' 2019-01-30 09:29:55 +01:00
Enrico Turri
414ea1a86e Merge branch 'master' of https://github.com/prusa3d/Slic3r into sidebar_fixes 2019-01-30 08:27:52 +01:00
Enrico Turri
ed71f2ccd7 Fix of #1713 2019-01-29 16:11:53 +01:00
YuSanka
e291172e24 Implemented "Color Print" for preview mode (without re-slicing) 2019-01-29 15:11:29 +01:00
Enrico Turri
4776ad786f Merge branch 'master' of https://github.com/prusa3d/Slic3r into sidebar_fixes 2019-01-29 12:09:01 +01:00
Enrico Turri
b47355a325 Added limit to zoom in 2019-01-29 12:05:49 +01:00
Enrico Turri
14fe55d4b8 Fix of rotations using sidebar fields 2019-01-29 11:26:35 +01:00
Enrico Turri
6137cc48eb ENABLE_IMPROVED_SIDEBAR_OBJECTS_MANIPULATION set as default 2019-01-28 16:06:44 +01:00
Enrico Turri
1c0bc8a5f3 Fixed synchronization between Objects List and Object manipulator table 2019-01-28 15:50:02 +01:00
bubnikv
3e0ef05386 Merge remote-tracking branch 'remotes/origin/objects_centering' 2019-01-28 10:25:41 +01:00
Enrico Turri
6f25a933b6 Removed check of max rotation close to zero in GLCanvas3D::Selection::rotate() 2019-01-28 09:59:22 +01:00
Enrico Turri
7c6572025d Fixed bed centering when changing printer with preview active 2019-01-28 09:06:14 +01:00
Enrico Turri
1550ee0e2b Merge branch 'objects_centering' of https://github.com/prusa3d/Slic3r into objects_centering 2019-01-28 08:53:46 +01:00
bubnikv
66ecdf61ec FIx of the previous commit 2019-01-28 08:53:02 +01:00
bubnikv
bb0cf221bc WIP synchronization of Z rotation of the instances 2019-01-28 08:52:22 +01:00