336 Commits

Author SHA1 Message Date
YuSanka
c29b7b1eef Cut WIP:
* Suppress to delete/add a SolidPart/NegativeVolume from/for objects which are marked as "is cut"
* Suppress to delete Instances which are marked as "is cut"
* Allow delete an object which is marked as "is cut", but show warning message about break of the "cut consistency".
  And if this deletion was performed, the all related objects will be unmarked.
* m_connectors_cnt is added into CutObjectBase class to correct synchronization of a connectors count between related objects
2022-04-13 13:11:41 +02:00
YuSanka
1b9f42d71b Cut improvements:
* Added new cut() function witch respects to the rotation of the cut plane
* Added revert buttons to the GizmoCutDialog
* Fixed GLGizmoCenterMove::bounding_box(). Pad and supports don't added to the bb now
2022-02-23 13:24:06 +01:00
YuSanka
7111da2dbf Merge remote-tracking branch 'origin/master' into dev 2022-01-24 08:37:51 +01:00
YuSanka
959804c80c Fixed a use of uninitialized variables reported by MemorySanitizer 2022-01-21 16:54:18 +01:00
enricoturri1966
c74ae1c513 Follow-up of dc75a591151592dbd7df424e689ccd9a017b5efa - Use a unique command and method to export to STL and OBJ - Added export to OBJ also for Export plater to STL commands 2022-01-19 14:23:03 +01:00
enricoturri1966
dc75a59115 Added command Export as OBJ 2022-01-19 12:39:04 +01:00
enricoturri1966
b9b702d550 Fixed conflicts after merge with branch dev 2022-01-14 09:55:13 +01:00
YuSanka
ced6d26917 Merge remote-tracking branch 'origin/master' into dev 2022-01-12 15:05:31 +01:00
enricoturri1966
0cb0f56a80 Tech ENABLE_ENHANCED_PRINT_VOLUME_FIT set as default 2022-01-12 14:12:13 +01:00
tamasmeszaros
b53ff75cf4 Rework UI jobs to make them more understandable and flexible. 2022-01-11 11:26:18 +01:00
enricoturri1966
b45d56b5b8 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_preview_layout 2021-12-08 08:15:51 +01:00
Vojtech Bubnik
bfce4f6901 Follow-up to 3622f06bed6175a337d2e20b5dc6ae9d770cb3cf
Work around 3D scene focus after de-activation of the main
window without having to resort to CallAfter(), which breaks
on Linux with some window managers that follow mouser cursor.
Fixes #5620 #6870 #6992

3622f06bed6175a337d2e20b5dc6ae9d770cb3cf was not a correct solution,
it broke focus for non-modal windows.
Fixes #7419

The actual issue seems to be caused by wxProgressDialog not playing
well with modal dialogs closed just before wxProgressDialog opens.
If wxProgressDialog parent was not a main frame, keyboard focus
was not restored correctly after the wxProgressDialog closed.
2021-12-05 09:09:34 +01:00
bubnikv
3622f06bed Trying to work around 3D scene focus after de-activation of the main
window without having to resort to CallAfter(), which breaks
on Linux with some window managers that follow mouser cursor.
May fix #5620 #6870 #6992
2021-12-03 16:20:01 +01:00
tamasmeszaros
86afffa692 Don't let UI jobs overlap. 2021-11-30 12:07:52 +01:00
enricoturri1966
353a9e61f5 Fixed conflicts after merge with master 2021-11-29 11:53:45 +01:00
enricoturri1966
fd509199da Tech ENABLE_ENHANCED_PRINT_VOLUME_FIT - 1st installment, Scale to print volume command for circular printbeds 2021-11-24 10:55:48 +01:00
YuSanka
7828964f8c Fix for #7328 - Filename containing chars not usable on FAT result in error and crash in gcode export 2021-11-23 13:53:58 +01:00
enricoturri1966
c242f31353 Fixed conflicts after merge with master 2021-11-23 08:48:11 +01:00
YuSanka
244b66649c Check unsaved preset changes only when presets have been changed in the project 2021-11-19 16:33:28 +01:00
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
dd484e42fc Fixed conflicts after merge with master 2021-11-12 08:08:54 +01:00
Lukas Matena
a01ab28e4c Fixed encoding of gizmo entering/leaving undo redo snapshots,
which was broken by adding an extra TakeSnapshot overload in 41dc265
2021-10-29 21:47:47 +02:00
enricoturri1966
0d922b04af Tech ENABLE_PREVIEW_LAYOUT - Added menu item View/Show legend 2021-10-14 11:30:27 +02:00
enricoturri1966
09150780c9 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_preview_layout 2021-09-30 15:08:54 +02:00
Vojtech Bubnik
1f3b272d77 Redo of the project state, implementation of Undo/Redo stack compression 2021-09-30 12:17:39 +02:00
enricoturri1966
33da203b18 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_preview_layout 2021-09-30 07:58:11 +02:00
Vojtech Bubnik
8f4f02f84c Merge remote-tracking branch 'remotes/origin/vb_project_state' 2021-09-27 14:36:22 +02:00
Vojtech Bubnik
41dc265a45 WIP Undo / Redo and project state: Marking Undo / Redo snapshots
with their purpose.
2021-09-27 14:10:53 +02:00
enricoturri1966
e12cf58c91 Tech ENABLE_PREVIEW_LAYOUT - Replace options combo in bottom toolbar with toolbar in legend 2021-09-24 09:22:50 +02:00
enricoturri1966
fee31084bd Fixed conflicts after merge with master 2021-09-23 12:06:18 +02:00
Oleksandra Yushchenko
8f064dd155
Check unsaved changes (#6991)
* Check Unsaved changes (partially related to #5903)
 + Allow create new project when Plater is empty, but some of presets are modified (related to #5903)
 + When creating new project allow Keep or Discard modification from previous project
 + Added check of changes:
    * before any load project (including DnD and "Load From Recent Projects")
    * before preset updater
    * when configuration is changing from the ConfigWizard
 + Dialog caption is added for each check

 + Create/Destroy ConfigWizard every time when it's called

* Check Unsaved changes: Next Improvements
 + For dialog "Save project changes" added a reason of saving and name of the current project (or "Untitled")
 + UnsavedChangesDialog: Headers are extended to better explain the reason
 + Preferences: Fixed tooltiops for "Always ask for unsaved changes when..."
 + Suppress "Remember my choice" checkbox for actions which are not frequently used

* Fixed behavior of the application when try to save changed project but "Cancel" button is selected in "Save file as..." dialog

* Check unsaved changes: Improvements for Config Wizard - Check all cases when presets should be updated
 + Fixed info line for Materials pages. Text of the info relates to the printer technology now

* Improved suggested name for a project when Application is closing

* Fixed Linux/OSX build warnings
2021-09-22 12:44:13 +02:00
tamasmeszaros
63647f594e Add dedicated subclass NotificationProgressIndicator
to replace ProgressStatusBar and revert changes from b9dab754, keep UI jobs untouched
2021-09-21 12:34:40 +02:00
enricoturri1966
f45f92476e Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_preview_layout 2021-09-20 12:05:52 +02:00
YuSanka
03a692cfd1 Implemented possibility to fix several objects at once 2021-09-16 10:07:00 +02:00
enricoturri1966
cddfc8b690 Tech ENABLE_PREVIEW_LAYOUT - A few fixes in the new legend layout 2021-09-14 10:32:17 +02:00
David Kocik
b9dab7540e Removes bottom status bar.
StatusBar class calls are commented out and replaced with notifications.
SlicicingProgress notification shows progress of slicing, ProgressIndicator notification handles other progress information, like arrange objects etc.
2021-09-10 14:35:13 +02:00
Vojtech Bubnik
32733b7db9 GCodeProcessor collects positions of line ends for GCodeViewer,
GCodeViewer no more parses G-code just to extract line end positions.
Removed start_mapping_gcode_window(), void stop_mapping_gcode_window(),
they are no more needed.
2021-09-07 15:42:56 +02:00
Lukas Matena
4cc729b312 Fixed encoding of undo/redo snapshot names created through
TakeSnapshot class (implicit std::string/wxString conversion)
2021-08-31 12:05:08 +02:00
YuSanka
3a2a9d8500 Follow up c0a00f4e7016685f4afd34aca3605125dff38c66 - Check unsaved changes only if project wasn't saved 2021-08-11 15:40:57 +02:00
Filip Sykala
59d02aea0a Merge branch 'master' into fs_QuadricEdgeCollapse 2021-08-02 09:04:15 +02:00
enricoturri1966
5aff44debe ENABLE_PROJECT_DIRTY_STATE set as default 2021-07-30 09:33:51 +02:00
David Kocik
0d74502aeb Hint notification
Reads data from hints.ini. Has hyperlinks to highlight settings, toolbars and gizmos.
2021-07-29 13:20:50 +02:00
enricoturri1966
81f4df70dc Fixed conflict after merge with master 2021-07-29 12:25:28 +02:00
Lukas Matena
a54f5fb41a Render statistics now shows actual SwapBuffers() calls per second 2021-07-28 12:50:01 +02:00
enricoturri1966
502906178f Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_sinking_contours 2021-07-27 09:04:52 +02:00
YuSanka
e79bcee739 Fixed update of the default menu after changing of the mode.
+ Added check for the output directory for the G-code extport.
2021-07-26 14:41:38 +02:00
enricoturri1966
5c6810d0bc Fixed conflicts after merge with master 2021-07-22 11:46:00 +02:00
enricoturri1966
7817105abe Tech ENABLE_GCODE_WINDOW set as default 2021-07-22 09:37:02 +02:00
enricoturri1966
22f04ca46e Tech ENABLE_SINKING_CONTOURS -> 1st installment 2021-07-21 15:30:57 +02:00
Filip Sykala
af526c54f4 Add simplification GUI 2021-07-19 09:17:50 +02:00