Commit graph

63 commits

Author SHA1 Message Date
Lukas Matena
79da3a95e1 Clipping plane is now common for Hollowing and SLA supports gizmos 2020-02-03 15:17:18 +01:00
Lukas Matena
4f43c6d3f8 SlaSupports gizmo - most of updating now assumes that common data struct is updated properly 2020-01-30 14:31:52 +01:00
Lukas Matena
d9786f2bcd Fixed SLA gizmos picking problem - hollowed mesh was not rendered for picking 2020-01-16 13:18:43 +01:00
Lukas Matena
57cf3d17e2 First steps on SLA and Hollowing gizmo data sharing 2019-12-17 15:57:24 +01:00
Lukas Matena
735f82c019 Hollowing gizmo has now its own shortcut [H], fixed a situation with supports showed in editing mode 2019-11-29 13:56:39 +01:00
Lukas Matena
b6edd5ddb9 SLA support points gizmo renders the holes and does not allow to place a support point in them 2019-11-12 11:48:12 +01:00
tamasmeszaros
c22423a219 Merge branch 'tm_openvdb_integration' into lm_tm_hollowing
* Refactor file names in SLA dir
2019-11-11 12:55:22 +01:00
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
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
Lukas Matena
09e4ac42ba Fixed some more warnings (mostly GLGizmoSlaSupports.cpp) 2019-09-04 16:05:32 +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
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
Lukas Matena
1d8e060b75 Followup of previous commits - removing some unnecessary code 2019-08-23 12:11:45 +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
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
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
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
0ae46b0635 SLA gizmo and undo/redo: 'autogenerated points' state is now correctly undone/redone 2019-07-23 15:23:38 +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
da1fa0b6e3 Refactoring of GLGizmosXX classes to cleanup their interface 2019-07-17 12:06:23 +02:00
bubnikv
ab7ecc1819 Merge remote-tracking branch 'remotes/origin/vb_undo_redo' 2019-07-15 11:34:18 +02:00
Enrico Turri
cc70c8dff9 Tech ENABLE_SVG_ICONS set as default 2019-07-12 10:13:35 +02:00
bubnikv
27ee68d2f9 WIP Undo / Redo: ModelID / ModelBase renamed to ObjectID / ObjectBase 2019-06-27 11:02:45 +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
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
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
ec2f319a3d Rectangle selection in 3D scene -> rendering 2019-04-25 09:10:03 +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
Lukas Matena
ae692635da Selection rectangle moved into a separate class 2019-04-24 13:25:41 +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
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
a177a7e1da SLA gizmo clipping now also triangulates the cuts on support structure 2019-04-16 09:04:04 +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
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
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
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
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