Commit Graph

141 Commits

Author SHA1 Message Date
Lukas Matena
5f226c5d7f Allow wipe tower rotation by the rotation gizmo 2019-05-06 08:14:45 +02:00
bubnikv
1c6006f657 Merge remote-tracking branch 'remotes/origin/master' into vb_wold_object_manipulation 2019-05-03 12:37:43 +02:00
bubnikv
0ab96ed6b5 Changed the "non-uniform scaling is not possible" message. 2019-05-03 12:36:26 +02:00
Enrico Turri
2a741bf8f8 Rectangle selection -> Lighter color for deselect hover 2019-04-29 10:01:28 +02:00
bubnikv
6526a8fcaf WIP: Transformation of instances in world coordinate space:
Ulocking the "anisotropic" scaling checkbox will bake the transformation
into meshes to allow for scaling in world axes.

Optimized and templated the stl_transform functions, now also available for 3x3 matrices.
The Canvas3D::reload_scene() now maintains selection even if all volumes of an instance changed their IDs.
2019-04-26 17:28:31 +02:00
Enrico Turri
748a4438ba Attempt to fix build on Linux 2019-04-25 13:35:24 +02:00
Enrico Turri
d2d06c9f73 Rectangle selection in 3D scene -> refactored GLVolume member varialbe for hovering 2019-04-25 10:21:24 +02:00
Enrico Turri
11490dfb06 Rectangle selection in 3D scene -> hovering detection 2019-04-25 09:46:26 +02:00
Enrico Turri
3e902ecfbd Fixed conflicts after merge with master 2019-04-12 08:41:59 +02:00
Enrico Turri
4987e5a7d5 Render selected objects first 2019-04-11 08:36:00 +02:00
Lukas Matena
678c513cb9 Merge branch 'master' into lm_sla_gizmo_clipping_plane 2019-04-10 13:43:02 +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
bubnikv
1fffae4e0b A little refactoring of loading meshes in VBO / non VBO case. 2019-04-08 18:11:36 +02:00
bubnikv
4904359399 Finished SLA print / material correction visualization. 2019-04-08 18:09:31 +02:00
Lukas Matena
eadf7daa37 Merge branch 'master' into lm_sla_gizmo_clipping_plane 2019-04-08 10:50:10 +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
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
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
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
bubnikv
3987296b62 Improved glsafe macro to print out file name, line number and function
name on OpenGL assert.
2019-03-27 10:26:55 +01:00
Enrico Turri
024efd963a Renamed private methods of Selection 2019-03-21 11:02:10 +01:00
Lukas Matena
df01af975a SLA gizmo now forces objects to use their normal color (not SELECTED_COLOR) 2019-03-20 14:04:20 +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
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
7443868e87 Merge branch 'master' of https://github.com/prusa3d/Slic3r into et_multivolume_models 2019-02-20 13:16:39 +01:00
Enrico Turri
e861f5a243 Tech ENABLE_PRINT_BED_MODELS set as default 2019-02-19 10:07:37 +01:00
Enrico Turri
7662fa9a5b Temporary disable transparent bed and higher resolution bed textures 2019-02-08 16:45:03 +01:00
Enrico Turri
c038bc2933 Printbed model rendered with 50% transparency 2019-02-07 09:59:57 +01:00
Lukas Matena
4357c80793 SLA gizmo - fixed hiding of objects and instances 2019-02-06 17:27:02 +01:00
Enrico Turri
fb6ef1d20f Keeps modifier transparent while layer editing tool is enabled 2019-01-31 14:25:11 +01:00
bubnikv
f1470966a5 glsafe macro to test for the glGetError in debug mode 2019-01-31 09:37:27 +01:00
Enrico Turri
16bd7325c1 Merge branch 'master' of https://github.com/prusa3d/Slic3r into objects_centering 2019-01-25 08:29:15 +01:00
bubnikv
49487c16e6 Improvements of the triangulation of SLA layer preview. 2019-01-24 19:08:58 +01:00
Enrico Turri
db1428dcae Improved transparent volumes rendering set as default 2019-01-21 12:53:01 +01:00
Enrico Turri
012c681e67 Sidebar visual hints set as default 2019-01-21 12:36:34 +01:00
bubnikv
d64b55d27d WIP Restoration of the layer editing. 2019-01-21 10:06:51 +01:00
Enrico Turri
02a22ba991 Fixed convex hull of sla supports 2019-01-16 09:59:25 +01:00
Enrico Turri
8e001972a9 Added print bed models for mk2 and mk3 printers to 3D scene 2019-01-04 12:56:48 +01:00
Enrico Turri
611d9aa0d8 Model's volume transform set as default 2019-01-02 10:49:13 +01:00
bubnikv
126035f6f8 Fixed many errors in background processing synchronization and update.
Fixed couple of compiler warnings.
2018-12-22 10:02:42 +01:00
Enrico Turri
1d3d87c2b9 Fixed toolbar update when switching between 3d view/preview using tab or ctrl+5/6 2018-12-21 10:10:49 +01:00
Enrico Turri
5006633221 Improved rendering of transparent volumes 2018-12-21 09:56:11 +01:00
Enrico Turri
11da45e32f Visual hints in the 3D scene when sidebar matrix fields have focus -> legacy render case 2018-12-20 11:42:26 +01:00
Enrico Turri
54fae97032 Visual hints in the 3D scene when sidebar matrix fields have focus -> Completed VBOs case 2018-12-20 11:14:53 +01:00
Enrico Turri
0dcdcf74fc Visual hints in the 3D scene when sidebar matrix fields have focus (wip [position+scale+size] and disabled) 2018-12-19 14:44:37 +01:00
Enrico Turri
eb1518bf31 Removed out of bed detection for sla pad 2018-12-10 13:57:43 +01:00
YuSanka
adbf1b674b GLVolume : set color from the model volume to correct part rendering on the Scene 2018-12-05 12:11:03 +01:00
bubnikv
d46d0dc365 Implemented naming of the SLA export file based on the output file name
template.

Reworked naming of the plater exports to not use the output file name
template, but to derive the file name from the first printable object's name.

Fixed error handling: Reimpemented the Perl's "eval" blocks
as try / catch blocks.
2018-12-03 13:14:28 +01:00
Enrico Turri
e6369fe548 SLA slices preview - wip 3 2018-11-27 14:50:57 +01:00
bubnikv
a378bb7bed Removed some obsolete Perl bindings.
Removed libslic3r from the default include paths for all modules but
libslic3r. Now headers from libslic3r need to be included with an
explicit path (libslic3r/libslic3r.h etc)
Split the localization macros into I18N.{cpp,h}
2018-11-26 14:41:58 +01:00
bubnikv
9258ca8cc6 Further removal of the 3DScene / GLCanvas3DManager scaffold. 2018-11-23 17:15:17 +01:00
Enrico Turri
aaab549cfa Partial cleanup of obsolete methods 2018-11-23 15:05:43 +01:00
bubnikv
bde4153d44 Removed legacy GUI Perl bindings,
replaced Print & SLAPrint pointers with BackgroundProcessing pointer
at the GLCanvas3D level, so that the Print & SLAPrint access will be
synchronized with the current printer technology.
2018-11-22 15:29:59 +01:00
Enrico Turri
3b3eab2e84 Added member m_sla_shift_z to GLVolume 2018-11-22 13:33:20 +01:00
bubnikv
a4be8ef6ad Fixed "setting an extruder does not change object's color" 2018-11-22 13:20:13 +01:00
Enrico Turri
343335dbc3 Different colors for SLA support and pad geometry 2018-11-22 11:01:57 +01:00
bubnikv
487ccdd2be Merge branch 'master' of https://github.com/Prusa3d/Slic3r 2018-11-21 17:35:58 +01:00
bubnikv
314f7dc674 WIP: Synchronization of SLA background processing. 2018-11-21 17:35:35 +01:00
Enrico Turri
681beeadf6 Added menu Edit -> Select all 2018-11-21 15:28:35 +01:00
bubnikv
a21f1783a9 Added force_full_scene_refresh parameter to the 3DScene::refresh()
function to force a refresh of all GLVolumes. Currently this hack
is used by the Platter::arrange() function only, and ideally
we should replace this parameter with a smarter 3DScene::refresh()
function, which would check for the transformation matrices as well.
2018-11-21 13:52:46 +01:00
Enrico Turri
ee99fa2c64 Ensure object on bed after deletion of subpart 2018-11-21 12:27:20 +01:00
tamasmeszaros
0fcdc70327 Merge remote-tracking branch 'origin/dev_native' into tm_sla_supports_backend 2018-11-19 12:56:32 +01:00
Vojtech Kral
6629d75853 Cutting 2018-11-18 21:20:47 +01:00
bubnikv
74ba1eaa16 WIP: Support of SLA suport & pad GLVolumes, couple of fixes. 2018-11-17 17:23:56 +01:00
bubnikv
c9a4c6c73c Partial update of 3D scene (GLVolumes derived from Model and from
the SLAPrintObject).
Updated PrintBase to generate a unique timestamp at each step invalidation.
2018-11-16 18:28:50 +01:00
Enrico Turri
72b5da952d Removed a bunch of obsolete methods 2018-11-14 15:57:11 +01:00
Enrico Turri
3613a54e03 Deletion of instances and volumes from 3D scene 2018-11-14 08:53:56 +01:00
bubnikv
03875e7d71 GLVolume: split composite_id to object_id, volume_id and instance_id.
WIP: Added creation of GLVolumes for SLA supports.
2018-11-13 17:45:44 +01:00
Enrico Turri
102bc99958 Only one instance enabled when selecting sub parts 2018-11-07 12:11:34 +01:00
Enrico Turri
3aad8b5fd2 Translation of ModelVolume as transformation component (without modifying the mesh) 2018-11-02 12:11:28 +01:00
Enrico Turri
7751d991d4 GLCanvas3D::update_gizmos_data() set as private 2018-11-01 15:08:39 +01:00
Enrico Turri
a15bf7cc25 New selection set as default 2018-11-01 10:06:55 +01:00
Enrico Turri
00222226ed Mirror component of transformations set as default 2018-11-01 08:46:44 +01:00
Enrico Turri
d6d632d4fc Added Geometry::Transformation class. Use it into ModelInstance, ModelVolume and GLVolume 2018-10-31 14:56:51 +01:00
Enrico Turri
fbbe1325b6 Mirror transform components in ModelInstance and GLvolume - WIP and disabled 2018-10-18 15:50:51 +02:00
Enrico Turri
059ab4a05c ModelInstance's full 3D transform set as default 2018-10-16 09:51:30 +02:00
Enrico Turri
aa0c3bf2e3 Added helper functions to generate 3d transforms 2018-10-12 10:09:16 +02:00
Enrico Turri
bb2000d094 Simplified OpenGL calls 2018-10-11 10:52:50 +02:00
Enrico Turri
e201c5123c added method: static GUI::GLCanvas3D* _3DScene::get_canvas(wxGLCanvas* canvas) 2018-10-11 10:24:19 +02:00
Enrico Turri
895bdf7918 New selection -> rotation wip 2018-10-09 15:56:34 +02:00
Enrico Turri
99fe5761d8 New selection -> removed obsolete parameters from GLVolumeCollection::load_object() 2018-10-08 16:05:55 +02:00
Enrico Turri
9ae6d115a2 New selection -> removed obsolete methods\n+\nFixed a few compile warnings 2018-10-08 15:17:36 +02:00
Enrico Turri
384cfa0e6d 1st installment of new selections (disabled) 2018-10-08 14:02:12 +02:00
Vojtech Kral
770d944283 Replace PerlCallbacks with events in GLCanvas3d et al. 2018-10-03 11:51:47 +02:00
Enrico Turri
7977bce98d Fixed call to reset_legend_texture() made on hidden canvas 2018-10-02 14:12:23 +02:00
bubnikv
6260e43f61 Merge remote-tracking branch 'origin/dev2' into dev_native 2018-09-25 15:33:51 +02:00
bubnikv
20d0f046d2 Merge remote-tracking branch 'origin/dev2' into dev_native 2018-09-20 16:48:40 +02:00
bubnikv
0558b53493 WIP: Moved sources int src/, separated most of the source code from Perl.
The XS was left only for the unit / integration tests, and it links
libslic3r only. No wxWidgets are allowed to be used from Perl starting
from now.
2018-09-19 11:02:24 +02:00