Commit graph

110 commits

Author SHA1 Message Date
Vojtech Bubnik
cc44089440 New BuildVolume class was created, which detects build volume type (rectangular,
circular, convex, concave) and performs efficient collision detection agains these build
volumes. As of now, collision detection is performed against a convex
hull of a concave build volume for efficency.

GCodeProcessor::Result renamed out of GCodeProcessor to GCodeProcessorResult,
so it could be forward declared.

Plater newly exports BuildVolume, not Bed3D. Bed3D is a rendering class,
while BuildVolume is a purely geometric class.

Reduced usage of global wxGetApp, the Bed3D is passed as a parameter
to View3D/Preview/GLCanvas.

Convex hull code was extracted from Geometry.cpp/hpp to Geometry/ConvexHulll.cpp,hpp.
New test inside_convex_polygon().
New efficent point inside polygon test: Decompose convex hull
to bottom / top parts and use the decomposition to detect point inside
a convex polygon in O(log n). decompose_convex_polygon_top_bottom(),
inside_convex_polygon().

New Circle constructing functions: circle_ransac() and circle_taubin_newton().

New polygon_is_convex() test with unit tests.
2021-11-16 10:15:51 +01:00
enricoturri1966
8bd0f8ada9 Removed duplicated method GLVolumeCollection::check_outside_state() 2021-09-10 08:27:03 +02:00
enricoturri1966
15b8e68c59 Tech ENABLE_SEAMS_VISUALIZATION set as default 2021-07-22 12:58:33 +02:00
Oleksandra Yushchenko
4652733201
MSW specific: Implementation of the own notebook control
* MSW specific: First implementation of the Notebook control to support Dark/Light color modes

* MSW specific: Set mode sizer to the Notebook control.

* MSW specific: Added icons to the Notepad control
 + There is no need to restart application after the changing of the color mode

* Fixed non-MSW build

* Updated color for SavePresetDialog
+ Added wrapper to wxMessageBox for mom-MSW platforms
2021-06-29 16:23:45 +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
076fdc90c0 Tech ENABLE_SEAMS_VISUALIZATION -> 1st installment of seams visualization in preview 2021-04-27 09:45:15 +02:00
YuSanka
671efb02c9 Fix of #6110 - Preview: View Menu/List placement incorrect
Use wxComboBox with wxCB_READONLY flag instead of wxChoice
2021-02-23 10:04:43 +01:00
enricoturri1966
aec39aaba6 Tech ENABLE_PREVIEW_TYPE_CHANGE set as default 2021-02-18 11:52:14 +01:00
enricoturri1966
7c3e3272aa Tech ENABLE_ARROW_KEYS_WITH_SLIDERS set as default 2021-02-17 17:21:06 +01:00
YuSanka
79b7ccbb79 OSX specific, related to the wxWidgets 3.1.4: Fixed wrong UI-scaling
(wxWidgets 3.1.4 can binding of wxEVT_DPI_CHANGED now, so it was called msw_rescale() for most of the controls redundantly)

+ Fixed update of the DoubleSlider after changing of the system color
2021-01-22 21:44:15 +01:00
enricoturri1966
f77475e501 Tech ENABLE_SHOW_WIPE_MOVES set as default 2020-12-07 10:29:50 +01:00
enricoturri1966
26982b16c7 #5080 - Reworked logic for automatic selection of current view type in preview 2020-12-04 12:31:50 +01:00
Vojtech Bubnik
89ff8eef10 Preview class refactoring: Moved initialization of member variables
to header.
2020-12-02 11:38:10 +01:00
enricoturri1966
6ae1a10614 #5333 - Reworked navigation of preview's sliders using the keyboard 2020-12-01 08:33:06 +01:00
enricoturri1966
0e6acbc0e2 Preview - Visualization of wipe mones 2020-11-21 10:36:10 +01:00
enricoturri1966
ef9cea76c2 ENABLE_GCODE_VIEWER set as default in:
GLCanvas3D hpp/cpp

GUI_Preview hpp/cpp
2020-11-19 12:29:19 +01:00
YuSanka
ea5fdcd7b1 Removed cog icon from the horizontal slider.
+ Shortcut "Shift+G" works from the Preview canvas now (not just from the focused slider as before)
2020-11-04 07:30:33 -08:00
enricoturri1966
2ecd78b0d5 Fixed crash when moving horizontal slider thumb in preview with no toolpath active 2020-10-07 13:38:21 +02:00
enricoturri1966
88457bf412 Tech ENABLE_GCODE_VIEWER_AS_STANDALONE_APPLICATION set as default 2020-09-10 08:49:50 +02:00
enricoturri1966
ab556a398b GCode viewer using the proper layout when started as a standalone application 2020-09-08 11:40:06 +02:00
enricoturri1966
e32930aa6c Code cleanup 2020-09-01 09:28:02 +02:00
enricoturri1966
eca4f0a4cd GCodeViewer -> Changed layout of sliders in preview 2020-08-19 12:59:50 +02:00
enricoturri1966
8fc5be7e4f Refactoring to allow to quickly build the various options to show the estimated printing time in gcode viewer scene 2020-08-05 15:43:46 +02:00
enricoturri1966
73b885fc37 GCodeViewer -> Added imgui dialog for estimated printing times 2020-07-08 13:33:50 +02:00
enricoturri1966
289f7a14a0 Follow-up of dc6f97a6ad -> Fixed toolpaths visualization when new slicing is required 2020-06-22 14:06:41 +02:00
enricoturri1966
2eb4b2caed Fixed conflicts after merge with master 2020-05-27 10:32:02 +02:00
Lukas Matena
cc5fe02cde Include cleanup: GUI_ObjectManipulation.hpp, GUI, GUI_Preview 2020-05-26 13:45:36 +02:00
Lukas Matena
fb9d8b2025 Include cleanup: do not include Model.hpp from 3DScene.hpp 2020-05-26 13:45:36 +02:00
enricoturri1966
053f509437 GCodeViewer -> Fixed visibility of bottom toolbar 2020-05-19 10:04:14 +02:00
enricoturri1966
163fbec8c8 GCodeViewer -> Completed implementation of slider for sequential view 2020-05-18 13:24:07 +02:00
enricoturri1966
a68eefbe4a Tech ENABLE_GCODE_VIEWER -> Refactoring and code cleanup 2020-05-15 12:25:38 +02:00
enricoturri1966
5be901547e GCodeViewer -> Imgui slider for sequential view replaced by DoubleSlider::Control (wip) 2020-05-15 09:22:51 +02:00
enricoturri1966
5c6a56ca29 GCodeAnalyzer and GCodePreviewData removed from tech ENABLE_GCODE_VIEWER 2020-05-07 10:49:12 +02:00
enricoturri1966
aa49575e0f Fixed conflicts after merge with master 2020-05-06 12:48:00 +02:00
enricoturri1966
0bb56736a1 Tech ENABLE_NON_STATIC_CANVAS_MANAGER set as default 2020-05-06 12:19:34 +02:00
enricoturri1966
2a4d011817 GCodeViewer -> Toggle extrusion role visibility by clicking on legend 2020-04-28 08:50:52 +02:00
enricoturri1966
d8091b7ad7 ENABLE_GCODE_VIEWER -> Preview toolbar checkboxes moved into a new combo 2020-04-24 16:12:38 +02:00
enricoturri1966
66964c44c1 GCodeViewer -> Refactoring and code cleanup 2020-04-23 15:12:40 +02:00
enricoturri1966
7a0df4bcb4 GCodeViewer -> Extrusion toolpaths colored by color print (wip) + visualization of tool changes, color changes, pause prints, custom gcodes + refactoring 2020-04-22 16:29:07 +02:00
enricoturri1966
29cbfa7c9e Fixed conflicts after merge with master 2020-03-30 09:36:37 +02:00
Enrico Turri
3b6d334d7b ENABLE_GCODE_VIEWER - Basic framework for new gcode viewer 2020-03-02 15:13:23 +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
YuSanka
5ff8ae955b Implemented editing for extruder of existing ToolChangeCode tick
+ Code refactoring: DoubleSlider is extracted from wxExtensions
2020-01-23 16:11:21 +01:00
YuSanka
1ed313ab79 Synchronized mode of color_print data to/from 3mf/amf
+ Code refactoring " CustomGCode extracted to separate namespace and file
2020-01-23 16:11:21 +01:00
YuSanka
02b2e20628 Context menus improvements. Disabling unused extruders for color_change 2020-01-10 16:49:07 +01:00
Enrico Turri
a4ad0a0925 Fixed unresponsive 3Dconnexion device when switching to preview 2020-01-03 11:41:29 +01:00
YuSanka
322c0230c3 Code cleaning - deleted extruder selector 2019-11-27 16:03:16 +01:00
YuSanka
901a20b3b1 Code cleaning 2019-11-27 15:27:44 +01:00
YuSanka
2a5cf689a4 Preview mode: Implemented a show of the part printed by selected extruder 2019-10-24 08:43:27 +02:00
YuSanka
33ba6fe4c6 Implemented possibility to set extruder sequence for whole print 2019-10-18 12:35:35 +02:00