Commit graph

175 commits

Author SHA1 Message Date
Vojtech Bubnik
41dc265a45 WIP Undo / Redo and project state: Marking Undo / Redo snapshots
with their purpose.
2021-09-27 14:10:53 +02:00
Lukas Matena
0b2ee3bb46 SLA supports: ask about saving changes when Esc is pressed 2021-08-16 13:05:31 +02:00
Lukas Matena
17860fb38a Added cancel button into 'Save support points?' message box, changed the title 2021-08-06 16:30:02 +02:00
enricoturri1966
5aff44debe ENABLE_PROJECT_DIRTY_STATE set as default 2021-07-30 09:33:51 +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
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
Oleksandra Yushchenko
fd071421cb
DarkMode for MSW (#6632)
* MSW specific: Dark Mode: First implementation

* Use menu instead of NoteBook

* Implemented MessageDialog
+ Fixed DarkMode for all dialogs and ColorPicker

* MSW DarkMode: Added missed updates for the switching between modes

* MSW DarkMode: Updated all existed context menus after switching of the mode
+ Added markers for the menu item witch is related to the selected tab

* Used wxFrame instead of wxDialog for SettingsDialog
(this change allow us to use menu bar in SettingsDialog)

+ fix for #6548 - Prusa Slicer 2.3.1 not activating non-modal settings window if settings window is minimized

* Implemented "Always use Dark mode colors" preference option

* Fixes for non_MSW build

* Next fixes for non-MSW builds

* Preferences: Fixed selection of the Settings Layout for non-MSW platforms
+ Updated DarkMode for colorpickers

* Windows DarkMode next fixes

* MSWDarkMode: Suppress to use system color to the PrusaSlicer
Select "Preferences -> Use Dark color mode (experimental)" to allow dark mode for the application

* Fixed MSW build

* MSWDarkMode: Upadteed color mode for ExtruderSequenceDialog and for dialogs related to the DoubleSlider

* Implemented Auto recreation of the PrusaSlicer when color mode is changed.

* Preferences: Added option "Set settings tabs as menu items (experimental)"
2021-06-18 19:46:04 +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
f69bd75464 Fixed rendering of gizmos' grabbers 2021-05-28 16:44:13 +02:00
enricoturri1966
b63de990d4 Removed static members from GLGizmoBase and GLGizmoBase::Grabber to fix OpenGL error when closing the application 2021-05-28 16:44:13 +02:00
Lukas Matena
2e24e689fa Grabbers and support points appearence tweaking, some refactoring 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
enricoturri1966
bfbc683a59 Follow-up of 926ecd0585 -> Improved management of plater dirty state 2021-04-07 14:26:04 +02:00
Lukas Matena
70573484c2 Show an error notification when attempting to save 3MF while editing SLA support points
The notification disappears when it is no longer valid.
2021-03-04 09:35:41 +01:00
Lukas Matena
3fd36f08e0 Show a notification when attempting to slice during SLA support points editing
This should also fix #5736 and a similar crash when deleting an object during manual editing (which was introduced between 2.2.0 and 2.3.0)
2021-02-22 16:26:16 +01:00
Lukas Matena
1834ebe981 Fixing Clang warnings 3 2021-02-08 17:52:29 +01:00
Lukas Matena
40121c56e9 Fixed an undo/redo problem with SLA gizmo
When the undo/redo stack opened the SLA gizmo, it would erroneously obliterate all future snapshots
2020-10-12 09:06:47 +02: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
48c186331a Includes cleanup:
GUI_App.hpp      (should not include) MainFrame.hpp
MainFrame.hpp    Plater.hpp
ModelArrange.hpp Model.hpp
Slicing.hpp      PrintConfig.hpp
FillBase.hpp     PrintConfig.hpp
GUI_App.hpp      PrintConfig.hpp
OptionsGroup.hpp GUI_App.hpp
2020-05-27 14:01:47 +02:00
Lukas Matena
ac8491b599 SLA supports gizmo bugfix: show supports when not in editing mode
The bug was introduced after 2.2.0 release
2020-05-21 10:25:31 +02:00
Lukas Matena
0c84a0b696 Fixed SLA supports gizmo undo/redo stack
broken by 4f43c6d even before 2.2.0 release
2020-05-05 11:17:32 +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
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
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
b2b2574244 Fixed a crash when deleting an object after switching from SLA to FDM 2020-02-27 15:18:15 +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
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