Commit graph

90 commits

Author SHA1 Message Date
Lukas Matena
a4300b8e64 Naming of the entering/leaving snapshots is now more generic,
it uses the actual name of the gizmo. Also, the keyboard shortcut
is now appended to the name, instead of being duplicated in it.
2021-09-03 13:53:07 +02:00
enricoturri1966
9a5f61c306 Added missing vertical alignments of labels in imgui dialogs 2021-08-31 08:53:40 +02:00
enricoturri1966
b24488ce51 Tech ENABLE_SINKING_CONTOURS -> Sinking contours shown while dragging Move/Rotate/Scale gizmos and show contours for gizmo cut 2021-07-27 13:02:06 +02:00
Lukas Matena
e93c5d4f20 ImGui sliders clamping:
ImGuiWrapper::slider_float now clamps the value returned by imgui by default. Bare ImGui::SliderFloat
allows entering off-scale values when entered by keyboard, which is not nice. The protection can
be turned off by the last optional parameter.
2021-07-22 15:50:48 +02:00
enricoturri1966
1f3252dd78 Revert of b140709fa8 and new implementation of fixing picking for sinking objects 2021-07-21 11:56:39 +02:00
enricoturri1966
fd5cf8d0cc Refactoring in GLModel::render() to simplify client code 2021-07-20 12:36:56 +02:00
enricoturri1966
c61785f775 Tech ENABLE_SEQUENTIAL_LIMITS set as default 2021-07-20 12:05:15 +02:00
enricoturri1966
f0354b43c1 Fixed conflicts after merge with master + fixed rendering of hovered gizmo grabbers 2021-05-31 12:54:48 +02:00
enricoturri1966
e648368934 Removed unneeded calls to GL_LIGHTING 2021-05-28 16:44:13 +02:00
Lukas Matena
97b7ef7dc0 Removed GLU calls from all the gizmos 2021-05-28 16:44:13 +02:00
tamasmeszaros
96ac6ff2fa Fix undrillable hole color and picking 2021-03-16 09:31:03 +01:00
tamasmeszaros
4b9de0398f Drill holes one by one and display warning of any of them fails
Drill with cgal::minus for now
2021-03-16 09:31:03 +01:00
Vojtech Bubnik
54976e29bb New class ModelConfig wrapping DynamicPrintConfig and a timestamp
to help with detecting "not changed" event when taking
Undo/Redo snapshot or synchronizing with the back-end.

Converted layer height profile and supports / seam painted areas
to the same timestamp controlled structure.
2020-09-24 15:34:13 +02:00
Lukas Matena
a95509ce36 Changed internal coordinates of drain holes
Drain holes reference position was saved slightly above the mesh to avoid problem when the hole is placed on flat or nearly flat surface
The depth of the hole was internally bigger than what the user has set to compensato for it
However, this leads to problem with scaling and makes reprojection of the holes on the mesh complicated

This commit changes the reference point to the point on the mesh and the extra elevation is handled when rendering and drilling the hole.
The change is reflected in 3MF drain holes versioning so that old 3MFs are loaded correctly.
Reprojection on the mesh after reload from disk/fix through netfabb has been enabled.
2020-08-24 08:11:12 +02:00
YuSanka
19c4f32604 Preset and PresetBundle are moved to the _libslic3r_ folder 2020-06-16 17:03:06 +02:00
Lukas Matena
2cc1dffc82 Fix of several issues related to gizmos updating and undo/redo
Common gizmos data cannot be used in on_set_state method
Also prevented calling render on empty GLVertexArrays
2020-06-03 15:33:39 +02:00
Lukas Matena
94b0ab603f Include cleanup: Selection.hpp
It does not need 3DScene.hpp and Model.hpp
And it does not to be included by GLGizmoBase.hpp
2020-05-26 13:46:59 +02:00
Lukas Matena
d928d6e47e Hollowing gizmo fix: selection of single holes was recently broken 2020-05-12 14:03:10 +02:00
enricoturri1966
0bb56736a1 Tech ENABLE_NON_STATIC_CANVAS_MANAGER set as default 2020-05-06 12:19:34 +02:00
Lukas Matena
fe57826695 Improved the FDM supports gizmo dialog
Removed unused code
Fixed a clipping-plane related crash
Fixed a crash in hollowing gizmo when no hollowed mesh was provided
Forbid opening the gizmo when a part of an object is selected
2020-04-08 09:37:49 +02:00
Lukas Matena
1d65ce760b Removed obsolete code
Got rid of dummy header GLGizmos.hpp
2020-04-07 16:47:39 +02:00
Lukas Matena
535a27de65 Fixed crash related to ClippingPlane and incorrect handling of sla z shift in hollowing gizmo 2020-04-07 16:47:39 +02:00
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
enricoturri1966
f12b39be25 Fixed conflicts after merge with master 2020-03-25 14:41:47 +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
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
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
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
tamasmeszaros
b0588abdd2 Invalidate background process when HollowingGizmo modifies settings
Also, assertion fail in debug mode for m_selection
2020-02-05 14:21:06 +01:00
Lukas Matena
0e3ebb3e07 Hollowing gizmo: Invalidate drilled mesh in case a hole is manipulated
This way the holes cannot be placed on its own walls
Downside is that AABB trees have to be recalculated
2020-02-04 15:03:10 +01:00
Lukas Matena
d407fda433 Hollowing gizmo - controls layout improvements 2020-02-03 15:17:18 +01:00