Commit Graph
100 Commits
Author SHA1 Message Date
Enrico Turri 2ae5f386ae Added missing include 2019-04-01 10:28:04 +02:00
Enrico Turri d87b478d60 Camera refactoring
1) All camera related OpenGL calls moved into class

2) The Camera class now stores the view matrix, the projection matrix and the viewport

3) The Camera class now exposes methods to get the camera orientation vectors, the camera position, the view matrix, the projection matrix and the viewport

4) All the code operating on the camera or requiring camera data has been modified to use the new methods
2019-04-01 10:00:10 +02:00
Enrico Turri ba89f04429 Fix of visual hints for rotation of full single instance selection 2019-04-01 09:11:23 +02:00
Enrico Turri 1ce3bb690c Merge branch 'master' of https://github.com/prusa3d/Slic3r into et_canvas_gui_refactoring 2019-04-01 08:28:38 +02:00
Enrico Turri aca78cfba2 Merge branch 'master' of https://github.com/prusa3d/Slic3r into et_canvas_gui_refactoring 2019-03-29 12:58:41 +01:00
Enrico Turri 49fe8a9f08 Volumes selected from the sidebar table taken from the currently selected instance 2019-03-29 10:48:20 +01:00
Enrico Turri 0acee468a3 Merge branch 'master' of https://github.com/prusa3d/Slic3r into et_canvas_gui_refactoring 2019-03-28 11:56:35 +01:00
Enrico Turri af3a32b8a0 Merge branch 'master' of https://github.com/prusa3d/Slic3r into et_canvas_gui_refactoring 2019-03-28 09:30:23 +01:00
Enrico Turri 9b3f1a8942 Small refactoring -> GLGizmosManager gets model from selection and not from canvas 2019-03-28 09:30:01 +01:00
Enrico Turri 98a848d239 Layers editing initialized only for 3D view and not for g-code preview 2019-03-28 09:12:32 +01:00
Enrico Turri a4f404a6a4 Selection enabled only for 3D view and not for g-code preview 2019-03-28 08:44:46 +01:00
Enrico Turri 702186eec3 Merge branch 'master' of https://github.com/prusa3d/Slic3r into et_canvas_gui_refactoring 2019-03-28 08:24:25 +01:00
Enrico Turri 46eafca0eb Follow-up of https://github.com/prusa3d/Slic3r/commit/8ea8eb67e46b019febcbf5c77f5f4e9786aab57e, utf-8 path conversion moved into nanosvg library 2019-03-27 15:42:01 +01:00
Enrico Turri d0046283fa Added #define glcheck() for the case HAS_GLSAFE not defined 2019-03-27 15:14:40 +01:00
Enrico Turri 8459410e3c Fixed conflicts after merge with master 2019-03-27 14:57:05 +01:00
Enrico Turri d795f07e7b Added glsafe() around OpenGL calls where missing 2019-03-27 14:42:09 +01:00
Enrico Turri 30c4e4fed6 Merge branch 'master' of https://github.com/prusa3d/Slic3r into et_canvas_gui_refactoring 2019-03-27 12:51:59 +01:00
Enrico Turri c44b6a30f9 Fixed conflicts after merge with master 2019-03-27 12:51:40 +01:00
Enrico Turri 8ea8eb67e4 Fixed loading of SVG textures from utf-8 paths 2019-03-27 12:02:50 +01:00
Enrico Turri 3cd6db2278 Fixed selection lost when Place on Face gizmo is active and user click on another object 2019-03-27 09:06:53 +01:00
Enrico Turri 000542f48d Merge branch 'master' of https://github.com/prusa3d/Slic3r into et_canvas_gui_refactoring 2019-03-27 08:33:48 +01:00
Enrico Turri fee0a6b6b5 void GLCanvas3D::update_gizmos_data() moved into void GLGizmosManager::update_data(GLCanvas3D& canvas) 2019-03-26 15:55:47 +01:00
Enrico Turri 1fbdf7bdaa Gizmos' grabbers size made uniform as the mean value of the selection's bounding box sides 2019-03-26 14:53:32 +01:00
Enrico Turri 47c39f51e5 Handling of gizmos related key events moved into new method GLGizmosManager::on_key() 2019-03-26 14:38:30 +01:00
Enrico Turri 52f11a6f0d Merge branch 'master' of https://github.com/prusa3d/Slic3r into et_canvas_gui_refactoring 2019-03-26 14:08:46 +01:00
Enrico Turri d18208458b Handling of gizmos related char events moved into new method GLGizmosManager::on_char() 2019-03-26 14:08:02 +01:00
Enrico Turri c1d74d2943 Code cleanup 2019-03-26 12:39:40 +01:00
Enrico Turri eafdcb04ba Handling of gizmos related mouse events moved into GLGizmosManager::on_mouse() 2019-03-26 12:30:17 +01:00
Enrico Turri a09197879d Code cleanup 2019-03-26 09:10:35 +01:00
Enrico Turri 9512ed605e Merge branch 'master' of https://github.com/prusa3d/Slic3r into et_canvas_gui_refactoring 2019-03-26 09:01:53 +01:00
Enrico Turri 3818bfa19a 1st installment of gizmos refactoring
1) GLCanvas3D::Gizmos moved into a standalone class GLGizmosManager

2) GLGizmosManager handles mouse events by calling its on_mouse method (wip)
2019-03-26 09:01:04 +01:00
Enrico Turri 3e0ec8098b Code cleanup 2019-03-25 14:13:20 +01:00
Enrico Turri ead45c4fb2 Merge branch 'master' of https://github.com/prusa3d/Slic3r into et_multivolume_models 2019-03-25 14:12:40 +01:00
Enrico Turri 149551946c Fix of #1998 2019-03-25 12:07:43 +01:00
Enrico Turri dd3ac4017a Yet another tweak to the logic for releasing mouse capture into GLToolbar::on_mouse() 2019-03-25 08:48:41 +01:00
Enrico Turri 03aeb0d386 Merge branch 'master' of https://github.com/prusa3d/Slic3r into et_multivolume_models 2019-03-25 08:32:05 +01:00
Enrico Turri 6bf0cf9466 Another tweak to the logic for releasing mouse capture into GLToolbar::on_mouse() 2019-03-22 14:35:26 +01:00
Enrico Turri db21c67f18 Changed logic for releasing mouse capture into GLToolbar::on_mouse() 2019-03-22 13:03:34 +01:00
Enrico Turri bbb2a6d714 Fixed non-uniform scale of single volumes selection when made using the sidebar matrix fields 2019-03-22 11:51:10 +01:00
Enrico Turri a5fd9a34e8 Do not consider modifiers when centering an object after 3mf and amf import 2019-03-22 09:47:40 +01:00
Enrico Turri a8cf701520 Merge branch 'master' of https://github.com/prusa3d/Slic3r into et_canvas_gui_refactoring 2019-03-21 11:05:19 +01:00
Enrico Turri 024efd963a Renamed private methods of Selection 2019-03-21 11:02:10 +01:00
Enrico Turri 3a923b7121 Fixed conflicts after merge with master 2019-03-20 16:09:14 +01:00
Enrico Turri 42c5d624cb Fix into GLToolbar::on_mouse() 2019-03-20 15:30:03 +01:00
Enrico Turri 83b24eee5b Added missing include 2019-03-20 14:36:36 +01:00
Enrico Turri 9a2d7c881b Fixed typo 2019-03-20 14:14:21 +01:00
Enrico Turri d23824af97 GLCanvas3D::Gizmos as a standalone class (GLGizmosManager) 2019-03-20 13:51:25 +01:00
Enrico Turri df250039df Tech ENABLE_CANVAS_GUI_REFACTORING set as default 2019-03-20 09:33:30 +01:00
Enrico Turri da1feb2741 Merge branch 'master' of https://github.com/prusa3d/Slic3r into et_canvas_gui_refactoring 2019-03-20 08:24:05 +01:00
Enrico Turri 3b31976b09 Another fix for Linuz and Mac builds 2019-03-19 15:58:18 +01:00
Enrico Turri b57f6c9fe0 Fixed build on Linux and Mac 2019-03-19 15:33:09 +01:00
Enrico Turri 9076fb2be1 Removed png textures for printbed 2019-03-19 13:55:10 +01:00
Enrico Turri 80c1a8d8e4 GLCanvas3D::Selection as a standalone class 2019-03-19 13:30:21 +01:00
Enrico Turri ca623b9a83 Merge branch 'master' of https://github.com/prusa3d/Slic3r into et_canvas_gui_refactoring 2019-03-19 10:59:16 +01:00
Enrico Turri 731e5a36b7 Commit 4a8a1fac7b re-made as linux-only 2019-03-19 10:54:54 +01:00
Enrico Turri 5bb89f4da2 Merge branch 'master' of https://github.com/prusa3d/Slic3r into et_canvas_gui_refactoring 2019-03-19 10:48:51 +01:00
Enrico Turri 6eafc97302 Alternate fix of #1976 2019-03-19 10:48:20 +01:00
Enrico Turri 262f187699 Fixed visual hints for position in case of single volume selection 2019-03-19 10:09:54 +01:00
Enrico Turri c4433bdf21 Merge branch 'master' of https://github.com/prusa3d/Slic3r into et_canvas_gui_refactoring 2019-03-19 10:04:37 +01:00
Enrico Turri 334b5a82a6 Tech ENABLE_MOVE_MIN_THRESHOLD set as default 2019-03-19 10:04:19 +01:00
Enrico Turri 42939e76a3 Code cleanup 2019-03-19 09:21:27 +01:00
Enrico Turri c0a2360c46 Merge branch 'master' of https://github.com/prusa3d/Slic3r into et_canvas_gui_refactoring 2019-03-19 08:25:50 +01:00
Enrico Turri 58c136a9a3 Merge branch 'master' of https://github.com/prusa3d/Slic3r 2019-03-18 16:02:07 +01:00
Enrico Turri 4a8a1fac7b Fix of #1976 2019-03-18 16:00:44 +01:00
Enrico Turri f249155340 Follow-up of a5b202aa1d (fixed cleanup of toolpaths in preview after scene update) 2019-03-18 14:07:55 +01:00
Enrico Turri 08ca5f1138 Merge branch 'master' of https://github.com/prusa3d/Slic3r into et_canvas_gui_refactoring 2019-03-18 13:06:19 +01:00
Enrico Turri de65d369a4 Merge branch 'master' of https://github.com/prusa3d/Slic3r 2019-03-18 13:00:18 +01:00
Enrico Turri a5b202aa1d Fix of #1955 and #1874 2019-03-18 12:59:52 +01:00
Enrico Turri 96fb6dff29 Fixed GLVolume::get_volume_scaling_factor() declaration 2019-03-18 12:37:14 +01:00
Enrico Turri 8b85e09062 Merge branch 'master' of https://github.com/prusa3d/Slic3r into et_canvas_gui_refactoring 2019-03-18 12:07:32 +01:00
Enrico Turri 0453d818f5 Merge branch 'master' of https://github.com/prusa3d/Slic3r into et_canvas_gui_refactoring 2019-03-18 11:31:19 +01:00
Enrico Turri e97dcbb660 Merge branch 'master' of https://github.com/prusa3d/Slic3r into et_canvas_gui_refactoring 2019-03-18 11:08:02 +01:00
Enrico Turri feb2041c7b Context menu in 3D scene shown on right mouse up event 2019-03-18 10:47:01 +01:00
Enrico Turri 710bb66dfc Fixed assert in imgui when starting Slic3r for the 1st time (no config data saved on disk) 2019-03-18 10:10:11 +01:00
Enrico Turri 902bcf7f71 Fix of #1978 2019-03-18 09:42:34 +01:00
Enrico Turri 131193a682 Merge branch 'master' of https://github.com/prusa3d/Slic3r into et_canvas_gui_refactoring 2019-03-18 08:23:05 +01:00
Enrico Turri 7554c9862d Merge branch 'master' of https://github.com/prusa3d/Slic3r into et_canvas_gui_refactoring 2019-03-15 13:24:58 +01:00
Enrico Turri bc3036d777 Follow-up to previous commits on gizmo grabbers picking (use of centralized static constant for ids and added comments) 2019-03-15 12:07:25 +01:00
Enrico Turri dd309c9dfc GLGizmoBase::picking_color_component modified to return all the three components of the picking color 2019-03-15 10:05:14 +01:00
Enrico Turri 6ab0a526b3 Merge branch 'master' of https://github.com/prusa3d/Slic3r into et_canvas_gui_refactoring 2019-03-15 09:15:11 +01:00
Enrico Turri 5b01eb3004 2nd fix for x position of gizmos' imgui dialogs 2019-03-15 09:13:15 +01:00
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
Enrico Turri 973fafab2f Removed unused members from View3D and unused parameters from Preview::Init() 2019-03-13 14:35:09 +01:00
Enrico Turri 77964de9f2 Update of ModelVolume::m_is_splittable moved inside ModelVolume itself 2019-03-13 14:04:59 +01:00
Enrico Turri f5b5e48ad7 Added cancel mechanism to GCodeAnalyzer::calc_gcode_preview_data() 2019-03-12 11:57:39 +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 81820fa77f 3rd attempt to prevent showing old framebuffer when switching between views on Mac 2019-03-08 12:03:55 +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 2f6a5e4af3 1st attempt to prevent showing old framebuffer when switching between views on Mac 2019-03-08 12:03:43 +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
Enrico Turri 2a6de99f06 Fixed rotation of multiple volumes selection 2019-03-06 15:22:17 +01:00
Enrico Turri 809ffedcb5 Gizmos' grabbers size proportional to the average of the bounding box edges lengths 2019-03-06 14:41:09 +01:00
Enrico Turri 2c99fd35d3 Force canvas resize when switching between views 2019-03-06 13:37:20 +01:00