Lukas Matena
c1e3be9b27
MeshUtils.cpp: MeshRaycaster is now aware of the clipping plane
2019-09-24 12:58:12 +02:00
Lukas Matena
6bcafd7c83
SLA gizmo no more uses IGL code directly, all was moved to the new MeshRaycaster class
2019-09-17 14:57:57 +02:00
Lukas Matena
1dfd8a0e62
MeshRaycaster class is now used in SLA gizmo when selecting by rectangle
2019-09-17 14:57:54 +02:00
Lukas Matena
3694bf3da9
Added functions get_hit_pos, get_hit_normal, ready to implement intersect_ray
2019-09-17 14:57:49 +02:00
Lukas Matena
b6292247e8
Unproject on mesh in the SLA gizmo is now performed by the MeshRaycaster class
2019-09-17 14:57:45 +02:00
Lukas Matena
70c0c87598
Renamed MeshClipper.cpp/.hpp to MeshUtils.cpp/.hpp
...
More helper classes like the MeshClipper could live here
Moved ClippingPlane class in here to start
2019-09-13 12:03:53 +02:00
Lukas Matena
9782701dd4
Calculating the transformations is now only performed by the MeshClipper
...
Attempted to get mirroring right (that never worked correctly with the clipping plane in the sla gizmo)
The transformation of the support mesh is kind of a mystery to me, hopefully it is right
Also cleaned the code a bit (removed commented-out code, unused variables, etc)
2019-09-13 12:03:53 +02:00
Lukas Matena
546917830b
Initial implementation of MeshClipper class
...
So far the work is shared between the old code in GLGizmoSlaSupports.cpp and the new class
2019-09-13 12:03:53 +02:00
Lukas Matena
cf23146ee3
Refactoring the SLA clipping plane
...
The plane is now internally stored as a plane in world coordinates
2019-09-13 12:03:53 +02:00
bubnikv
6ba43ebacb
Merge remote-tracking branch 'remotes/origin/master' into dev
2019-09-09 17:49:07 +02:00
Enrico Turri
eae02f6cad
Fixed handling of mouse left up event when moving an object while the place on face gizmo is active
2019-09-09 14:56:55 +02:00
Lukas Matena
09e4ac42ba
Fixed some more warnings (mostly GLGizmoSlaSupports.cpp)
2019-09-04 16:05:32 +02:00
Enrico Turri
308f601a99
Removed another bunch of compile warnings
2019-09-04 10:46:51 +02:00
Lukas Matena
fd47891793
GLGizmoSlaSupports.cpp: Snapshot label now differs for turning the gizmo on/off
...
This behaviour was broken by recent merge
2019-09-03 10:16:06 +02:00
Lukas Matena
b89d9c7aff
Merge branch 'lm_gizmomanagerrefactoring' into dev
2019-09-03 08:29:31 +02:00
Lukas Matena
942f959e87
Fixed couple of warnings
...
Turned several includes into forward declarations
Removed several sprintf calls in favor of std::to_string
2019-09-02 16:27:48 +02:00
Lukas Matena
d8a274c5ab
Nearly finished refactoring of GLGizmoManager
2019-09-02 14:30:15 +02:00
Lukas Matena
409a7c7734
SLA gizmo open/close should be saved on undo/redo stack
2019-09-02 14:30:15 +02:00
Lukas Matena
b6d35c9840
Started an attempt to refactor GLGizmoManager
2019-09-02 14:30:12 +02:00
Enrico Turri
7f589e79f7
Follow-up of 32dc4709a4
-> A more general fix
2019-08-26 09:06:21 +02:00
bubnikv
6adebb9c78
When synchronizing the front end with the back end after Undo / Redo
...
jump, postpone error messages, so they are displayed after
the Undo / Redo jump has been fully performed.
Otherwise there would be a message box opening, taking over the message
queue, and possibly performing actions as rendering on an inconsistent
application state.
2019-08-23 15:53:45 +02:00
bubnikv
12cb930634
A little optimizaiton
2019-08-23 13:27:19 +02:00
Lukas Matena
1d8e060b75
Followup of previous commits - removing some unnecessary code
2019-08-23 12:11:45 +02:00
Lukas Matena
bf232e1ade
Fixed forward declaration of struct Slic3r::UndoRedo::Snapshot so MSVC does not complain
2019-08-23 10:34:16 +02:00
Lukas Matena
52933d1bab
Recalculate SLA supports after undo/redo in case SLA gizmo was active and had supports when the snapshot was taken
2019-08-23 01:42:59 +02:00
Lukas Matena
b55a140ad4
SLA gizmo takes snapshots on opening and closing
2019-08-23 01:42:59 +02:00
Lukas Matena
c736b657d4
SLA gizmo now refuses to close with unsaved changes in editing mode
2019-08-23 01:42:59 +02:00
Lukas Matena
24b9c926c6
GLGizmoManager.cpp: Initial work on the possibility of a gizmo refusing to close
2019-08-23 01:42:59 +02:00
bubnikv
23b2b4c59f
Merge remote-tracking branch 'remotes/origin/vb_picking_fix'
2019-08-08 09:50:02 +02:00
Lukas Matena
1789179506
GLGizmoSlaSupports.cpp: unproject_on_mesh does not throw exceptions but uses bool return value to signal success
2019-08-07 16:17:41 +02:00
bubnikv
841d0796b7
Fix of the SLA gizmo picking.
2019-08-07 15:36:09 +02:00
bubnikv
2d7f478dac
Finished picking by color with a checksum in the alpha channel
...
to guard against unwanted alpha blending and / or multi sampling.
2019-08-07 14:15:38 +02:00
bubnikv
1ba9100994
Fix of gizmo deserialization after Undo / Redo: Deselect all gizmos
...
but the gizmo to be deserialized.
2019-07-31 14:00:43 +02:00
Lukas Matena
599f2e07db
Config parameters accessible from SLA gizmo are now saved on the undo/redo stack
2019-07-31 12:40:47 +02:00
Lukas Matena
ab0d1af3ca
Fixed a problem with deleting button in SLA gizmo
2019-07-31 10:33:03 +02:00
Lukas Matena
99f34f8321
SLA gizmo: fixed a crash with multiple selection
2019-07-31 10:18:49 +02:00
bubnikv
ca1c78b3fc
Merge remote-tracking branch 'remotes/origin/et_custom_bed'
2019-07-30 16:48:47 +02:00
Lukas Matena
07608a80cd
SLA gizmo - making sure the cone direction is correctly undone/redone
2019-07-30 14:51:57 +02:00
Lukas Matena
eeef3b42df
SLA gizmo now uses the new separate undo/redo stack for manual editing mode
2019-07-29 13:07:49 +02:00
Lukas Matena
fe62362960
Hiding the sla support structures after undo/redo
2019-07-28 11:37:08 +02:00
Enrico Turri
9bcdb2ebd0
Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_custom_bed
2019-07-25 15:29:25 +02:00
Enrico Turri
4e4bdb5edd
Removed obsolete code
2019-07-25 15:28:34 +02:00
Enrico Turri
1b5ba6c823
Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_custom_bed
2019-07-23 15:36:39 +02:00
Lukas Matena
0ae46b0635
SLA gizmo and undo/redo: 'autogenerated points' state is now correctly undone/redone
2019-07-23 15:23:38 +02:00
Lukas Matena
91a5d70a62
Fixed a few warnings in headers (meaning they were reported once for each include)
...
Fixed an identification of CXX compiler in cmake so that 'AppleClang' is recognized
2019-07-23 14:02:20 +02:00
Enrico Turri
9cb1a584e1
Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_custom_bed
2019-07-22 08:21:40 +02:00
enricoturri1966
33c0683d11
Reworked rendering of toolbars background texture
2019-07-20 12:02:29 +02:00
Enrico Turri
749bb2bfed
Refactoring in GLTexture
2019-07-19 11:18:19 +02:00
bubnikv
a0ea96968d
Storing the active printer technology onto the Undo / Redo stack,
...
remembering the last selected Printer profile for the SLA and FDM
technologies separately, and activating them on Undo / Redo.
When switching the technologies, user is asked whether to discard
the modified profiles or not.
2019-07-18 17:41:47 +02:00
Lukas Matena
2b9d285a16
'Place on face' gizmo fix (it used invalid pointer after undo/redo was implemented)
2019-07-17 15:39:58 +02:00
Lukas Matena
81dde630ea
SLA support points edits are now pushed onto undo/redo stack
2019-07-17 15:39:58 +02:00
Enrico Turri
f97a61cdcf
Fixed use of translate macros
2019-07-17 14:13:50 +02:00
Enrico Turri
401707a6fe
Another refactoring of GLGizmosManager
2019-07-17 12:43:27 +02:00
Enrico Turri
da1fa0b6e3
Refactoring of GLGizmosXX classes to cleanup their interface
2019-07-17 12:06:23 +02:00
Enrico Turri
21624f5305
Framework to serialize gizmos into undo/redo stack
...
Serialization into undo/redo of Cut gizmo
Refactoring of GLGizmosManager
2019-07-17 08:38:48 +02:00
bubnikv
ab7ecc1819
Merge remote-tracking branch 'remotes/origin/vb_undo_redo'
2019-07-15 11:34:18 +02:00
YuSanka
4d8a028262
Finally fix for settings item selection
2019-07-12 13:56:56 +02:00
Enrico Turri
cc70c8dff9
Tech ENABLE_SVG_ICONS set as default
2019-07-12 10:13:35 +02:00
Enrico Turri
d4914441f3
Modified logic to add snapshots to undo/redo stack using GLCanvas::do_xxxxxx() methods
2019-07-09 10:18:57 +02:00
bubnikv
270fec84d3
Fix of the Undo / Redo for Cut.
...
Added some more operations (for example Rotation) to the Undo / Redo.
2019-07-05 19:46:48 +02:00
bubnikv
4e2fda3315
Undo / Redo fixes
2019-07-05 19:06:19 +02:00
bubnikv
c7cc760067
Merge remote-tracking branch 'origin/master' into vb_undo_redo
2019-07-04 20:22:15 +02:00
Enrico Turri
2356fe5a13
Added member BoundingBoxf3 m_bounding_box to GLIndexedVertexArray and removed member BoundingBoxf3 bounding_box from GLVolume
2019-07-01 13:26:06 +02:00
Enrico Turri
4269c8b23c
Removed GLVolume non-VBO rendering
2019-07-01 12:28:16 +02:00
Vojtech Kral
61080bcff6
Merge branch 'bugfixes': avrdude warnings cleanup
2019-06-28 15:21:45 +02:00
bubnikv
27ee68d2f9
WIP Undo / Redo: ModelID / ModelBase renamed to ObjectID / ObjectBase
2019-06-27 11:02:45 +02:00
BeldrothTheGold
d818d1b429
Add debug option to display picking pass to screen
2019-06-25 19:25:03 -06:00
Vojtech Kral
4fb904357f
Warnings cleanup in BonjourDialog, ConfigWizard, FirmwareDialog,
...
GLGizmoCut, ImGuiWrapper
2019-06-25 18:16:53 +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
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
bubnikv
c95a324c3f
Merge branch 'vb_admesh_fix'
2019-06-18 08:54:50 +02:00
Enrico Turri
5ee695b629
#2506 - Fixed crash while manually editing SLA supports
2019-06-18 08:53:13 +02:00
Enrico Turri
1a91add2e6
Tighter camera frustrum to reduce z-fighting
2019-06-14 10:38:09 +02:00
Enrico Turri
7bfb0aaac0
Fixed method Camera::get_dir_forward()
2019-06-13 08:38:49 +02:00
bubnikv
0bb8ee149e
Sharing TriangleMesh objects between the front end (UI) and back end
...
(background processing)
2019-06-11 17:08:47 +02:00
bubnikv
0cb5b57c5c
SLA gimzmo: Sharing the Mesh's indexed triangle set with IGL AABB
...
structure directly, without having to make a copy.
2019-06-10 22:43:21 +02:00
bubnikv
8da54139c4
WIP: Admesh - replacement of C memory allocation with std vectors
2019-06-04 22:06:42 +02:00
Enrico Turri
886da08f89
Texture compression set as an option
2019-05-28 12:53:16 +02:00
Lukas Matena
66a56941a5
SLA dialog: Prevented the slider to have zero width, even in case the text width is calculated incorrectly
2019-05-27 15:36:51 +02:00
Enrico Turri
bf9740188a
Code cleanup
2019-05-24 15:22:27 +02:00
Enrico Turri
734d946912
1) Added Scale to print volume menu item to objects list context menu
...
2) Disable [F] key when scale sizmo is dragging
2019-05-24 14:42:59 +02:00
Enrico Turri
c92940c985
Fixed conflicts after cherry-picking 844e99f84e
2019-05-24 14:42:46 +02:00
Enrico Turri
77efc33670
Fixed scaling of multiple selection
2019-05-22 13:57:39 +02:00
Lukas Matena
03a62e5721
Fixed rendering of support points in SLA gizmo for mirrored objects
2019-05-20 16:33:57 +02:00
Enrico Turri
5f6c7853d4
Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer
2019-05-14 11:57:48 +02:00
Enrico Turri
14c4469cbf
Added Esc shortcut and menu item for command deselect all
2019-05-14 11:57:39 +02:00
bubnikv
cd13b90457
Merge branch 'lm_sla_dialog_scaling'
2019-05-14 11:19:08 +02:00
Lukas Matena
1e99454602
Hopefully fixed SLA dialog scaling issues on OSX
2019-05-13 15:10:01 +02:00
Lukas Matena
76c3da9aba
An attempt to fix the SLA gizmo dialog so it does not crop long description on the sliders
2019-05-13 15:10:01 +02:00
Enrico Turri
f55e494899
Constrained gizmo-scaling -> Fixed grabbers offsets transformation for volumes
2019-05-13 09:02:33 +02:00
Enrico Turri
9a16af5251
Merge branch 'master' of https://github.com/prusa3d/Slic3r into et_copy_and_paste
2019-05-13 08:30:30 +02:00
YuSanka
cd82b03a0e
Localization improvements : Empty spaces at the end of phrase are removed from dictionary.
...
+ new POT
2019-05-11 23:29:25 +02:00
Enrico Turri
11c7accabf
Constrained gizmo-scaling -> small refactoring
2019-05-10 14:44:10 +02:00
Enrico Turri
38e8f345f5
Constrained gizmo-scaling -> fixed offset for uniform scale
2019-05-10 14:04:43 +02:00
Enrico Turri
efcc38f717
Constrained gizmo-scaling -> keep initial ctrl key status while dragging
2019-05-10 13:50:25 +02:00
Enrico Turri
86d466688b
Merge branch 'master' of https://github.com/prusa3d/Slic3r into et_copy_and_paste
2019-05-10 13:08:19 +02:00
Enrico Turri
d69c98b48d
Constrained gizmo-scaling -> code cleanup and simplification
2019-05-10 13:07:59 +02:00
Enrico Turri
baa8bace8d
Removed duplicated line
2019-05-10 11:44:47 +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
128da453d5
1st installment of constrained gizmo-scaling
2019-05-10 11:13:55 +02:00
bubnikv
b7361200bf
Some more localization improvements.
2019-05-09 19:24:21 +02:00
bubnikv
8126ec33fc
Fixed localization of 3D scene toolbar tips.
2019-05-09 17:18:03 +02:00
bubnikv
054a3258d3
Merge branch 'master' of https://github.com/prusa3d/Slic3r
2019-05-07 15:45:17 +02:00
Enrico Turri
2ce0c575f6
Fixed objects rendering when turning off sla supports gizmo
2019-05-07 15:37:41 +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
bubnikv
31e724abac
Merge branch 'master' into vb_wold_object_manipulation
2019-05-04 20:59:57 +02:00
YuSanka
8e007c5b6a
Localization improvements
2019-05-04 02:07:07 +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
bubnikv
ebb7981d16
Merge remote-tracking branch 'remotes/origin/master' into vb_wold_object_manipulation
2019-04-29 17:39:28 +02:00
bubnikv
e5c97364a4
Fix of anisotropic scaling from the 3D scene.
2019-04-29 16:01:52 +02:00
Enrico Turri
6ec9d6ba3f
Merge branch 'master' of https://github.com/prusa3d/Slic3r into et_selection_rectangle
2019-04-29 09:02:50 +02:00
Enrico Turri
2c9e3819c1
Darker colors for axes arrows, transformation visual hints and gizmo grabbers
2019-04-29 09:02:04 +02:00
Enrico Turri
fdf1b8af81
Rectangle selection -> Removed cursor change
2019-04-29 08:26:08 +02:00
Enrico Turri
ec2f319a3d
Rectangle selection in 3D scene -> rendering
2019-04-25 09:10:03 +02:00
Enrico Turri
9d070410c2
Refactoring of GLSelectionRectangle
2019-04-24 16:01:27 +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
Lukas Matena
ae692635da
Selection rectangle moved into a separate class
2019-04-24 13:25:41 +02:00
bubnikv
5d2537af35
WIP: Transformations of an instance in world coordinate system
...
from the side panel.
2019-04-24 11:01:59 +02:00
Lukas Matena
55c07394e5
Added dialog with shortcuts to the SLA gizmo, tried to improve the dialog look
2019-04-18 15:46:35 +02:00
Lukas Matena
0c1e223414
SLA gizmo clipping plane is now not necessarily perpendicular to camera direction
2019-04-17 14:27:20 +02:00
Lukas Matena
8df2a19974
SLA clipping plane can now be controlled by Ctrl + mouse wheel rotation
2019-04-17 14:27:20 +02:00
Enrico Turri
50516e3b7d
Attempt to fix Ctrl+C from 3D scene on Mac
2019-04-17 10:27:33 +02:00
Lukas Matena
19759b4315
SLA gizmo clipping - changed color on the cuts of supports, turned their rendering in editing mode (when the supports are not shown)
2019-04-17 09:39:51 +02:00
Lukas Matena
63ce3c3150
SLA gizmo now does not make redundant copies of the object and supports meshes
2019-04-16 09:04:04 +02:00
Lukas Matena
f33e9bf609
TriangleMeshSlicer is now initialized by const-pointer to the mesh, responsibility for calling require_shared_vertices is left to the caller
2019-04-16 09:04:04 +02:00
Lukas Matena
a177a7e1da
SLA gizmo clipping now also triangulates the cuts on support structure
2019-04-16 09:04:04 +02:00
Enrico Turri
d8f28bc31a
Follow-up of 1fbdf7bdaa
-> Fixed grabbers size for move gizmo and grabbers dragging size
2019-04-15 15:05:26 +02:00
bubnikv
80afb6da78
Fixed SLA clippling plane & picking.
2019-04-12 16:08:40 +02:00
Lukas Matena
4abcf7bec4
SLA gizmo dialog height increased so the new clipping plane slider fits
2019-04-12 14:25:41 +02:00
bubnikv
112f218c03
Merge branch 'lm_sla_gizmo_clipping_plane'
2019-04-11 15:45:49 +02:00
bubnikv
4a210aeecf
Vojtech's improvements in the SLA preview cutting dialog.
2019-04-11 15:44:32 +02:00
Lukas Matena
096d23f971
SLA gizmo fix: Discarding manual edits on autogenerated points removed all the points from the gizmo cache
2019-04-10 15:27:44 +02:00
Lukas Matena
678c513cb9
Merge branch 'master' into lm_sla_gizmo_clipping_plane
2019-04-10 13:43:02 +02:00
Lukas Matena
e6439ad010
SLA gizmo fix: recalculation of the mesh was sometimes skipped
2019-04-10 13:33:58 +02:00
bubnikv
7b8b8b97ef
Fixed Cmd-A selection in the SLA gizmo.
2019-04-10 10:16:04 +02:00
Lukas Matena
f71e14a4d9
SLA gizmo now uses ctrl to add to selection and alt to remove from selection
2019-04-08 15:34:42 +02:00
Lukas Matena
837bc43c9f
SLA gizmo on_set_state code is now called through CallAfter to prevent repeated wxMessageDialog appearances (seen on OSX)
2019-04-08 11:56:13 +02:00
Lukas Matena
eadf7daa37
Merge branch 'master' into lm_sla_gizmo_clipping_plane
2019-04-08 10:50:10 +02:00
Lukas Matena
09cf1b9b00
Allowed general object transformation and SLA z-shift (clipping plane)
2019-04-08 10:31:53 +02:00
Lukas Matena
7531f2d5e7
Selection rectangle now respects the clipping plane position
2019-04-08 10:31:22 +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