1
0
mirror of https://github.com/FULU-Foundation/OrcaSlicer-bambulab.git synced 2026-07-22 09:54:27 +00:00
Commit Graph

318 Commits

Author SHA1 Message Date
Lukas Matena c704849a7a SLA supports gizmo is now enabled and uses the new infrastructure 2020-04-07 16:47:39 +02:00
Lukas Matena c79e90b921 SupportsClipper implementation 2020-04-07 16:47:39 +02:00
Lukas Matena e82ead0335 InstancesHider allows to show/hide supports on demand 2020-04-07 16:47:39 +02:00
Lukas Matena 5d4014a4a5 ObjectClipper implementation, hollowing gizmo reenabled
ObjectClipper tracks active mesh (incl. possible hollowing), remembers clipping plane position and can render the cut on demand
Hollowing gizmo uses the new infrastructure
2020-04-07 16:45:16 +02:00
Lukas Matena d9e5721cb7 Raycaster can now handle multiple volumes
This is necessary for future FDM supports gizmo. SLA objects only have one volume, so it wasn't needed until now.
2020-04-07 16:42:59 +02:00
Lukas Matena bf734c8f68 Raycaster wrapper
The raycaster manages a MeshRaycaster object that the gizmo can ask to perform raycasts
If the hollowed mesh tracker is enabled and the hollowed mesh is newly calculated/invalidated, the raycaster automatically updates.
2020-04-07 16:40:59 +02:00
Lukas Matena 81dba7677b Hollowed mesh tracker implementation
The class tracks state of the backend calculation and if there is a hollowed/drilled mesh, it can provide a pointer to it
2020-04-07 16:40:10 +02:00
Lukas Matena 7e797eaaf8 Dependencies check in debug mode
Some common resources can depend on each other - this checks that the requirements are consistent
2020-04-07 16:39:18 +02:00
Lukas Matena 3db3a61520 InstancesHider implementation
Any gizmo can now ask for hiding all but the active instance by returning proper value from on_get_requirements
2020-04-07 16:39:06 +02:00
Lukas Matena 593e7a1546 Flattening gizmo now uses the new CommonDataPool to store pointer to active object 2020-04-07 16:35:52 +02:00
Lukas Matena 3b06332999 Common gizmos data are now handled by the CommonGizmosDataPool object 2020-04-07 16:35:52 +02:00
Lukas Matena 7c4071c541 Disabled the SLA gizmos 2020-04-07 16:35:52 +02:00
Lukas Matena 8475968025 First installation of common gizmo data pool 2020-04-07 16:35:52 +02:00
enricoturri1966 f12b39be25 Fixed conflicts after merge with master 2020-03-25 14:41:47 +01:00
enricoturri1966 fac28ea27a Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_bug_fixes 2020-03-25 09:34:17 +01:00
enricoturri1966 3990598f01 Fixed build when ENABLE_GIZMO_TOOLBAR_DRAGGING_FIX is disabled 2020-03-25 09:33:59 +01:00
enricoturri1966 c300b66b7e ENABLE_MODIFIED_GIZMOBAR_MOUSE_EVENT_HANDLING merged into ENABLE_CANVAS_TOOLTIP_USING_IMGUI 2020-03-25 09:05:35 +01:00
Lukas Matena 97b9de47b4 Merge branch 'master' into dev 2020-03-24 21:51:05 +01:00
enricoturri1966 2501cf64c0 Modified mouse events handling for gizmobar
The gizmobar was consuming the mouse up event preventing the gizmos to update their tooltip

The gizmobar was also consuming the mouse dragging event transforming a gizmo manipulation into a scene rotation
2020-03-19 14:05:49 +01:00
enricoturri1966 61f3b53ef8 Fixed conflicts after merge with master 2020-03-18 14:26:44 +01:00
enricoturri1966 8a824bb8c2 Refactoring 2020-03-18 13:35:46 +01:00
enricoturri1966 df6170b9bd Fixed gizmos' tooltips 2020-03-17 09:41:54 +01:00
enricoturri1966 a0ed240af1 Generate gizmos' tooltip on demand 2020-03-16 16:37:22 +01:00
enricoturri1966 ffe404fc5b Fixed gizmos' tooltips 2020-03-16 12:45:39 +01:00
Lukas Matena e547a0c3d1 Fix of a rare crash on opening an SLA gizmo (supports or hollow) 2020-03-13 15:58:59 +01:00
Lukas Matena 6918f11100 Removed SLA unused code
Mostly the dead-ends that were tried when hollowing was being implemented
2020-03-03 15:53:26 +01:00
Lukas Matena 50ebdf5293 Include cleanup in Plater, GLCanvas3D and GLGizmosManager 2020-03-03 15:53:26 +01:00
Enrico Turri 2f8970de86 Fixed conflicts after merge with master 2020-03-02 11:35:03 +01:00
Enrico Turri 0b629eb905 GLCanvas3DManager moved from being a static member of _3DScene to be a normal member of GUI_App 2020-03-02 10:58:46 +01:00
Lukas Matena 03f17a13e7 Bugfix: SLA pad and supports were sometimes shown on instances that should have been hidden
The showing/hiding block cannot depend on whether the mesh was recently updated.
It would then not hide the supports and pad, which are calculated later than the hollowed mesh.
2020-02-27 17:58:27 +01:00
Lukas Matena 73ad48c135 Small fix of clipping plane positioning
If the clipping plane is moved automatically after hollowed mesh was created, move the clipping plane and fix current direction so it is not reset when user wants to move it
This is a quick solution for the 2.2.0 release. It should be later refactored as mentioned in the code.
2020-02-27 15:18:15 +01:00
Lukas Matena 08a6c86326 Slight change in clipping plane updating after hollowing finishes
The clipping plane in SLA gizmos is only moved in case that the gizmo is currently active and hollowing is actually enabled.
2020-02-27 15:18:15 +01:00
Lukas Matena 5a2da9597b Shared data for SLA gizmos have been removed from GLGizmoBase
This commit introduces no functional changes, only code-shuffling
2020-02-27 15:18:15 +01:00
Lukas Matena a3869736ba SLA gizmos can now be opened when any instance is selected
This was broken - only first instance worked
2020-02-27 15:18:15 +01:00
Lukas Matena b2b2574244 Fixed a crash when deleting an object after switching from SLA to FDM 2020-02-27 15:18:15 +01:00
Lukas Matena c326b31c92 Enabled text-wrapping for tooltips in hollowing gizmo 2020-02-25 11:12:04 +01:00
Lukas Matena 53f1a283f3 Hollowing gizmo sliders now contain a unit where appropriate 2020-02-21 14:24:50 +01:00
Lukas Matena 676448581d Fixed a bug in hollowing gizmo - hole depth not matching slider value after selection 2020-02-21 14:23:50 +01:00
Lukas Matena 598ec04639 Hopefully a fix for #3683 (encoding in hollowing gizmo) 2020-02-21 12:53:28 +01:00
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 f8c5855d55 Hollowing 'accuracy' and 'closing distance' are only shown in the hollowing gizmo when the respective mode is active 2020-02-13 15:55:36 +01:00
Lukas Matena 2f18101c77 Slightly changed hollowing gizmo title
'ing' forms were removed to match Cut gizmo
2020-02-13 14:22:16 +01:00
Enrico Turri b0218daafe ENABLE_MODIFIED_TOOLBAR_TEXTURES set as default 2020-02-13 09:50:06 +01:00
Lukas Matena 79ce691d58 Don't calculate the AABB tree in FDM mode 2020-02-08 17:17:51 +01:00
Lukas Matena 808e45f5b3 Force backend update when hollowing gizmo is closed
Otherwise, moving holes will not invalidate the drilled mesh
One cannot do it immediately though, because that would also hide the hollowed mesh
2020-02-07 14:17:14 +01:00
Lukas Matena e66632a595 Hollowing parameters should be labeled the same in the gizmo and in presets 2020-02-07 14:03:55 +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