Commit Graph

330 Commits

Author SHA1 Message Date
bubnikv
5a2ace1a6e WIP Undo / Redo: First Undo in the history of PrusaSlicer! 2019-07-04 10:45:41 +02:00
tamasmeszaros
e81f8a5fd9 WIP still with arrange return value. 2019-07-03 19:24:41 +02:00
tamasmeszaros
253ec07cb2 Still WIP 2019-07-01 18:22:07 +02:00
Enrico Turri
4269c8b23c Removed GLVolume non-VBO rendering 2019-07-01 12:28:16 +02:00
tamasmeszaros
299e4f74c7 Arranging with new structure. 2019-06-28 17:03:50 +02:00
tamasmeszaros
19e6bf58dd WIP on structuring arrange inputs 2019-06-27 21:13:44 +02:00
YuSanka
dd1fb286c3 Merge remote-tracking branch 'origin/master' into ys_new_features 2019-06-27 14:01:50 +02:00
Enrico Turri
90d1ac2c8f Tech ENABLE_RENDER_PICKING_PASS extended so that user can switch between picking pass texture rendering and regular rendering by pressing [T] key 2019-06-27 11:25:04 +02:00
YuSanka
1525a864c5 Merge remote-tracking branch 'origin/master' into ys_new_features 2019-06-26 13:33:05 +02:00
YuSanka
104a289cfe Implemented interface for updating 3DScene after set a focus to some editor 2019-06-26 13:30:20 +02:00
Enrico Turri
3d755e1bbe Removed 'Use legacy OpenGL 1.1 rendering' option 2019-06-25 09:20:58 +02:00
Enrico Turri
5766e9e915 Fixed conflicts after merge with branch et_perpsective_camera 2019-06-24 11:08:42 +02:00
Enrico Turri
00b9a3ad32 ENABLE_COMPRESSED_TEXTURES set as default 2019-06-24 09:54:58 +02:00
Enrico Turri
96276394d1 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_experiments 2019-06-24 08:15:41 +02:00
Enrico Turri
6af69667a3 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_perspective_camera 2019-06-20 08:51:08 +02:00
Enrico Turri
da8179d9c7 More camera related functionalities moved from GLCanvas3D to Camera 2019-06-19 14:18:51 +02:00
Enrico Turri
28dd52d88b Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_perspective_camera 2019-06-19 08:17:58 +02:00
YuSanka
917702f252 Fixed DoubleSlider manipulation from Preview scene 2019-06-18 11:40:26 +02:00
Enrico Turri
1a91add2e6 Tighter camera frustrum to reduce z-fighting 2019-06-14 10:38:09 +02:00
YuSanka
4712c5bbdf DoubleSlider manipulation from preview scene 2019-06-13 16:10:33 +02:00
Enrico Turri
836f2d777f Update 3D scene when all compressed texture data are sent to GPU 2019-06-05 10:07:59 +02:00
Enrico Turri
886da08f89 Texture compression set as an option 2019-05-28 12:53:16 +02:00
Enrico Turri
14c4469cbf Added Esc shortcut and menu item for command deselect all 2019-05-14 11:57:39 +02:00
Enrico Turri
f0da19446b Merge branch 'lm_arrange_wipe_tower' of https://github.com/prusa3d/Slic3r 2019-05-10 11:14:42 +02:00
Enrico Turri
efd429ea46 Detection of sla supports out of printbed in Preview and when sla gizmo is active 2019-05-10 10:43:39 +02:00
Lukas Matena
e9a53e49db Arrange is accounting for the wipe tower now 2019-05-06 08:14:45 +02:00
Lukas Matena
5f226c5d7f Allow wipe tower rotation by the rotation gizmo 2019-05-06 08:14:45 +02:00
Enrico Turri
818f7ad647 Rectangle selection in 3D scene -> Fixed selection cleared when mouse left-up follows shift-up 2019-04-26 14:07:46 +02:00
Enrico Turri
6f273bef7f Merge branch 'master' of https://github.com/prusa3d/Slic3r into et_selection_rectangle 2019-04-26 13:38:34 +02:00
YuSanka
127a78d953 Fixed default font for legends in respect to the OS 2019-04-26 13:08:25 +02:00
Enrico Turri
a0640d2d24 Rectangle selection in 3D scene -> selection update 2019-04-25 12:31:55 +02:00
Enrico Turri
d2597482e0 Added imgui debug dialog for render statistics 2019-04-25 11:10:01 +02:00
Enrico Turri
11490dfb06 Rectangle selection in 3D scene -> hovering detection 2019-04-25 09:46:26 +02:00
Enrico Turri
ec2f319a3d Rectangle selection in 3D scene -> rendering 2019-04-25 09:10:03 +02:00
Enrico Turri
b557336fa6 Fixed conflicts after merge with master 2019-04-25 08:12:48 +02:00
YuSanka
065448e9e5 Big Refactoring: - deleted/renamed all _Prusa_ prefixes,
- cleaned code from commented parts
 - rescale() -> msw_rescale()
2019-04-25 01:45:00 +02:00
Enrico Turri
d79a2b8d2d GLCanvas3D -> added support for cursor change and change cursor when using SLA support gizmo rectangle selection 2019-04-24 15:43:52 +02:00
Enrico Turri
9710140948 int GLCanvas3D::m_hover_volume_id replaced with std::vector<int> GLCanvas3D::m_hover_volume_idxs 2019-04-24 15:07:28 +02:00
YuSanka
fc63a28481 Application Scaling for MSW:
+ Experiments with toolBars scaling
+ Rescaled warning and printing legends
2019-04-16 12:13:45 +02:00
bubnikv
80afb6da78 Fixed SLA clippling plane & picking. 2019-04-12 16:08:40 +02:00
Enrico Turri
7d15ee8fd9 Offset used to place newly added volumes and instances proportional to the bed max size 2019-04-12 15:31:33 +02:00
Enrico Turri
3e902ecfbd Fixed conflicts after merge with master 2019-04-12 08:41:59 +02:00
Enrico Turri
e61be7d260 Render picking pass renders volumes in the same order as the regular render pass 2019-04-10 11:20:09 +02:00
Lukas Matena
eadf7daa37 Merge branch 'master' into lm_sla_gizmo_clipping_plane 2019-04-08 10:50:10 +02:00
Lukas Matena
bbda1896f9 The gizmo is now able to triangulate and show the cut, the triangulated cut is cached 2019-04-08 10:31:19 +02:00
Lukas Matena
9b7857aaab SLA gizmo clipping plane logic moved to fragment shader
This means the clipping now works again with both legacy and modern OpenGL
2019-04-08 10:31:16 +02:00
Lukas Matena
273fcf68a1 SLA gizmo now uses glClipPlane instead of touching projection matrix
Messing with the projection matrix invalidates the z-buffer
This currently only works in OpenGL legacy mode
2019-04-08 10:31:13 +02:00
Lukas Matena
bc9164e40c SLA gizmo now respects the clipping plane when rendering points and raycasting mouse onto mesh 2019-04-08 10:31:10 +02:00
Lukas Matena
fd1f9d65fb First steps on SLA clipping plane 2019-04-08 10:31:04 +02:00
Enrico Turri
89a0c84c83 Fixed conflicts after merge with master 2019-04-02 15:13:26 +02:00
bubnikv
086f11df98 Handling of left hand oriented coordinate systems:
is_left_handed() method on transformations and volumes
rendering of GLVolumes in left handed coordinate systems by glFrontFace(GL_CW);
SLA slicing on left hand oriented instances by flipping the mesh for SLAPrintObject in X.
rendering of the SLA cutting plane in left handed systems
resetting the SLA clipping planes on 3D preview invalidation
2019-04-02 13:47:49 +02:00
Enrico Turri
7cfcf8fb9a Merge branch 'master' of https://github.com/prusa3d/Slic3r into et_canvas_gui_refactoring 2019-04-01 11:40:08 +02:00
bubnikv
62539bc35b Fix of No preview of position in variable layer editing UI at retina resolution #2050 2019-04-01 11:08:26 +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
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
a4f404a6a4 Selection enabled only for 3D view and not for g-code preview 2019-03-28 08:44:46 +01:00
Enrico Turri
8459410e3c Fixed conflicts after merge with master 2019-03-27 14:57:05 +01:00
Lukas Matena
490074a2dd SLA gizmo now turns off in case someone adds an object/instance (to prevent rendering points in thin air, etc.)
Also, a bug appering when adding an object larger than the bed and scaling it down was fixed (sla gizmo did not work correctly in that case)
2019-03-27 14:19:12 +01:00
Enrico Turri
c44b6a30f9 Fixed conflicts after merge with master 2019-03-27 12:51:40 +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
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
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
Lukas Matena
3f7f8f978e Fix of sla gizmo (it sometimes showed supports for hidden objects) 2019-03-24 13:35:09 +01:00
Enrico Turri
d23824af97 GLCanvas3D::Gizmos as a standalone class (GLGizmosManager) 2019-03-20 13:51:25 +01:00
Lukas Matena
2728e45646 Renamed function mouse_event to gizmo_event 2019-03-20 13:44:34 +01:00
Enrico Turri
df250039df Tech ENABLE_CANVAS_GUI_REFACTORING set as default 2019-03-20 09:33:30 +01:00
Enrico Turri
b57f6c9fe0 Fixed build on Linux and Mac 2019-03-19 15:33:09 +01:00
Enrico Turri
80c1a8d8e4 GLCanvas3D::Selection as a standalone class 2019-03-19 13:30:21 +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
8b85e09062 Merge branch 'master' of https://github.com/prusa3d/Slic3r into et_canvas_gui_refactoring 2019-03-18 12:07:32 +01:00
Lukas Matena
e813a562a1 Removed technology ENABLE_IMGUI 2019-03-18 11:45: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
bubnikv
1da97c9415 Merge remote-tracking branch 'remotes/origin/ys_buttons' 2019-03-12 09:01:17 +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
aa4c44dbea Use unique camera shared by 3d view and preview (experimental) 2019-03-08 12:03:17 +01:00
Enrico Turri
2a6de99f06 Fixed rotation of multiple volumes selection 2019-03-06 15:22:17 +01:00
Enrico Turri
925378ba90 Added background to legend texture 2019-03-05 13:57:41 +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
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
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
0f683a6a1e 1st installment of svg icons for toolbars and gizmos 2019-02-26 09:56:23 +01:00
Lukas Matena
bb3819fd18 SLA support gizmo hotkeys added (A,M,Esc,Enter) 2019-02-25 13:04:05 +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
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
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