Commit graph

138 commits

Author SHA1 Message Date
Lukas Matena
003a54600d Make sure that objects are correctly shown/hidden when switched 2020-02-21 09:46:40 +01:00
Lukas Matena
4c22023762 SLA gizmo clipping plane resetting
Clipping plane direction is now initialized when the plane is first moved, not when the gizmo is opened. This is how previous versions worked.
This is a minimal-effort solution before the clipping plane is refactored properly.
2020-02-21 09:46:40 +01:00
Lukas Matena
4df6a645f2 AABB trees for SLA gizmos are not calculated when the object is selected, but only after one of the gizmos is opened 2020-02-21 09:46:40 +01:00
Lukas Matena
90a8076d25 SLA support gizmo correctly hides drain holes if they are clipped by clipping plane 2020-02-20 15:04:53 +01:00
Lukas Matena
665bc9e960 Hollowing: allow to place drain holes on the inner surface of a hollowed cavity
Drain holes are not allowed to be placed on its own inner surface. This was recently (0e3ebb3)
done by forcing invalidation of the slaposDrillHoles, which also invalidates and therefore
hides the drilled mesh. However, that also hides the hollowed mesh and it is not possible
to place holes inside the cavity.

This change does not dump the drilled mesh, but checks that no raycast hit ends up in a hole.
2020-02-06 17:58:26 +01:00
Lukas Matena
617912ecc1 Fixed a crash on deleting object with SLA gizmo active
Rephrased text informing about hidden objects in both SLA gizmos
2020-02-04 15:03:10 +01:00
Lukas Matena
58b5e75a9c SlaSupports gizmo - show holes position even when user did not Preview the drilled mesh 2020-02-04 15:03:10 +01:00
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
3f73261fdb Fixed transformation of the hollowed mesh to be used at frontend
Common gizmos data update is called from GLGizmoManager
2020-01-29 10:08:26 +01:00
Lukas Matena
46fdce1169 SLA gizmos can now fetch hollowed and drilled mesh from the backend 2020-01-29 10:08:26 +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
822f9ff4a6 Fixed issues in SLA gizmos related to showing/hiding of the model/support structures 2020-01-16 13:18:43 +01:00
Lukas Matena
6e8bdb2c86 Fixed update of clipping plane when a gizmo was turned off 2020-01-16 13:18:43 +01:00
Lukas Matena
d0d73e6109 Hollowing config values contain min/max values, these are respected when setting through the gizmo
Rendering and hole transformation fixes (still WIP, though)
2020-01-14 10:33:10 +01:00
Lukas Matena
e9d340c87f Fixed transformations of the hollowed GLVolume 2020-01-09 14:09:26 +01:00
Lukas Matena
6a870ef8bb Fixed incorrect z-shift when showing hollowed object 2020-01-06 16:02:55 +01:00
Lukas Matena
4d182a5748 Fixed scaling of the holes and instance showing/hiding 2019-12-20 11:33:14 +01:00
Lukas Matena
b3f15b1c98 Merge branch 'master' into lm_tm_hollowing 2019-12-20 10:33:53 +01:00
Lukas Matena
d1f86e0a80 SLA supports gizmo now uses hollowed mesh when available
Bugfix: SLA support tree is is now given the hollowed mesh, not the original
Added ImGui separators and change background alpha in hollowing gizmo dialog (to match the other gizmos)
2019-12-20 10:17:59 +01:00
Lukas Matena
57cf3d17e2 First steps on SLA and Hollowing gizmo data sharing 2019-12-17 15:57:24 +01:00
Enrico Turri
f2b8607d11 Fixed positioning of gizmos' imgui dialogs 2019-12-12 13:38:08 +01:00
Lukas Matena
537260494d Merge branch 'master' into lm_tm_hollowing 2019-12-12 11:37:33 +01:00
Lukas Matena
135660decf SLA gizmos fix: clipping of points/holes always used coords from the first instance
Few warnings fixed
2019-12-12 10:40:28 +01:00
Enrico Turri
57d069bd0a Some rework on layout of imgui dialogs 2019-12-11 15:30:25 +01:00
tamasmeszaros
3b0241c98b Fix trianglemesh slicer error with empty meshes 2019-12-06 10:59:05 +01:00
YuSanka
ee71f83939 Localization improvements:
* fixed "\n" at the end of phrases
 + updated list of files to localization
 + new PrusaSlicer.pot
 + Japanese localization
2019-12-04 11:14:13 +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
9dd18a8d6d Started work on extending EigenMesh3D to account for possible drain holes when raycasting 2019-11-19 11:33:49 +01:00
tamasmeszaros
d4d037792d Holes are now visible on slices in preview. 2019-11-13 15:55:37 +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
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
Lukas Matena
09e4ac42ba Fixed some more warnings (mostly GLGizmoSlaSupports.cpp) 2019-09-04 16:05:32 +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
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
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