Commit Graph

8579 Commits

Author SHA1 Message Date
Vojtech Bubnik
5dac5a2ca5 Fixed missing include 2021-08-13 13:35:06 +02:00
Vojtech Bubnik
856da036eb Fixed loading of system presets with incompatible system profile keys
before the "reconfigure" dialog is shown.

Replaced boost::filesystem::copy_file() with Slic3r::copy_file()
in config snapshot loading code.
2021-08-13 13:34:40 +02:00
YuSanka
1e60acde12 Substitutions : Implemented InfoDialog 2021-08-13 13:30:50 +02:00
Lukáš Hejl
731ac9287e Added a missing include (GCC 11.1) 2021-08-13 12:00:55 +02:00
YuSanka
88c8134f15 AutoColorChange detection: Small improvements - at least 25% (instead of 30%) of object's height have to be a solid 2021-08-13 11:00:30 +02:00
Vojtech Bubnik
8e28ca6f4a Fixed reading of configuration from 3MF broken
with e947a29fc8
2021-08-13 10:52:54 +02:00
David Kocik
117485c562 Notifications: MMU segmentation icon 2021-08-12 15:29:33 +02:00
Vojtech Bubnik
e947a29fc8 Follow-up to 7c01ddf996
1) Starting with this commit, configuration block exported into G-code
   is delimited by "; prusaslicer_config = begin" and "; prusaslicer_config = end".
   These delimiters look like any other key / value configuration pairs
   on purpose to be compatible with older PrusaSlicer config parsing from G-code.
2) Config parser from G-code newly searches for "; generated by ..."
   comment over the complete G-code, thus it is compatible with various
   post processing scripts extending the G-code at the start.
3) Config parser from G-code parses PrusaSlicer version from
   the "; generated by PrusaSlicer ...." header and if the G-code was
   generated by PrusaSlicer 2.4.0-alpha0 and newer, it expects that
   the G-code already contains the "; prusaslicer_config = begin / end"
   tags and it relies on these tags to extract configuration.
4) A new simple and robust parser was written for reading project configuration
   from 3MF / AMF, while a heuristic parser to read config from G-code located
   at the end of the G-code file was used before.
2021-08-12 15:27:46 +02:00
YuSanka
ac86c7c022 ObjectList: Update InfoItems after set some instance as a separate object 2021-08-12 15:23:31 +02:00
YuSanka
3ca2b2bc71 ObjectList: Added separate icons for InfoItems 2021-08-12 15:02:24 +02:00
Lukas Matena
2be10569e2 Add painting gizmos shortcuts into keyboard shortcuts dialog 2021-08-12 13:38:53 +02:00
Lukas Matena
c44715f9e0 Moved 'brim_offset' option into Advanced mode (same as EFC) 2021-08-12 13:38:53 +02:00
David Kocik
483684f702 Delete inline in some functions 2021-08-12 11:30:25 +02:00
YuSanka
66435887ea Revert of the 84c6199015
Note: When ProgressDialog has no-nullptr parent, then PrusaSlicer doesn't lose the focus at the end of model fixing,
but start to flickering during fixing of the big models.
2021-08-12 12:51:27 +02:00
YuSanka
37ba18a8c3 DoubleSlider: Init extruder sequence in respect to the extruders count 2021-08-12 12:40:14 +02:00
David Kocik
f3371a3b84 warning fix 2021-08-12 08:49:38 +02:00
David Kocik
23b1bc07a4 narrow mr. clippy logo 2021-08-12 08:46:59 +02:00
YuSanka
131d2ace50 Check min/max values for SpinCtrls in Settings Tabs
+ Set max value for "extruders_count" to 256
2021-08-12 10:20:52 +02:00
Lukas Matena
021688fe50 Fix place on bed and sinking instances:
all sinking objects were incorrectly shifted to bed when
'place on face' was applied to any object.
2021-08-12 10:17:59 +02:00
Lukas Matena
52718e96f5 Moved flatpak files from resources/data to src/platform/unix (#6774) 2021-08-12 08:49:24 +02:00
Lukas Matena
7f2ad140b6 Fix a crash recently introduced by b14faf6 (reported in #6794) 2021-08-11 22:03:26 +02:00
David Kocik
4df2c969a5 Hint notification
changes in hints.ini
Hint notification: Just one button in Help menu.
Hint notification: New naming - Tip of the day
Notifications: no scrolling.
Hint notification: fadeout colors.
2021-08-11 17:15:23 +02:00
Lukas Matena
fc1054c61d Restored info icon replaced by mistake 2021-08-11 16:17:28 +02:00
Lukas Matena
b14faf627b Do not show sinking contours when a gizmo hides some objects 2021-08-11 16:17:28 +02:00
YuSanka
83ab034f9a Fixed ENTER for ComboBoxes and TextCtrls in Settings Tabs (related to #6692)
+ Code cleaning : Deleted unused set_focus
2021-08-11 16:01:54 +02:00
YuSanka
3a2a9d8500 Follow up c0a00f4e70 - Check unsaved changes only if project wasn't saved 2021-08-11 15:40:57 +02:00
Lukas Matena
3605016696 Speed-up of clipping plane 2021-08-11 15:06:29 +02:00
Lukas Matena
9632e6fa6a New icons for mmu painting, fuzzy skin and object info items 2021-08-11 13:52:15 +02:00
Lukas Matena
7e0a2644e2 Fixup of previous commit 2021-08-11 13:38:28 +02:00
Lukas Matena
49ead341ba Follow-up of cf32b56 (postprocessing scripts):
- The optional output_name file might contain the .pp suffix.
- In case the file contains just filename, prepend it with the
  output dir. We don't want to save to current workdir.
2021-08-11 12:12:50 +02:00
Vojtech Bubnik
7a60e8cb3a Follow-up to 215ee293ae:
More robust CLI parser.
2021-08-11 09:49:23 +02:00
David Kocik
d735dbe147 Updated Items Info notification
Showing only when new object is added (typically loading projects).
All info in 1 notification.
2021-08-11 09:24:14 +02:00
Lukáš Hejl
18cff61bd2 Reworked visualization of selected triangles by seed fill and bucket fill inside the multi-material painting gizmo. Now is drawn boundary around a selected area, and also all triangles inside the selected area are drawn with a darker color. 2021-08-10 21:38:48 +02:00
Lukáš Hejl
e5ce748b10 Added missing includes (GCC 11.1) 2021-08-10 21:37:10 +02:00
David Kocik
0e6d77d25a Hints notifications: OS specific tags 2021-08-10 15:25:47 +02:00
Vojtech Bubnik
cf32b56454 Implemented extension of the G-code post-processor framework:
1) New environment variable SLIC3R_PP_HOST contains one of
   "File", "PrusaLink", "Repetier", "SL1Host", "OctoPrint", "FlashAir", "Duet", "AstroBox" ...
2) New environment variable SLIC3R_PP_OUTPUT_NAME contains the name
   of the G-code file including path (for SLIC3R_PP_HOST == "File")
   or a name of the file after upload to the host (PrusaLink, Octoprint ...)
3) The post-processing script may suggest a new output file name
   (likely based on SLIC3R_PP_OUTPUT_NAME) by saving it as a single line
   into a new "output name" temp file. The "output name" file name is
   created by suffixing the input G-code file name with ".output_name".

Please note that the G-code viewer visualizes G-code before post-processing.

Fixes Broken PostProcessing when script changes out-filename #6042
2021-08-10 15:22:01 +02:00
Lukas Matena
9e32a00efc Fix of incorrect volume scaling after fix by Netfabb,
see the comment in the code as to why it happened
2021-08-10 15:20:35 +02:00
YuSanka
ad60227449 MSW specific: Fixed a typo caused ignoring ENTER for TextControls in Settings Tabs
+ Added Info icon for MessageDialog
2021-08-10 15:10:37 +02:00
David Kocik
06d27bcb3c Hints notification
Hints notification: enabled / disabled tags 
Hints notification: suppress opening url due to preferences.
Hint notification: close after 5 minutes and button in Help menu
2021-08-10 14:48:23 +02:00
Oleksandra Yushchenko
ed25d5c53d
Fix for #6692 - Slice button not appearing after infill change 2021-08-10 12:32:00 +02:00
YuSanka
c0a00f4e70 Fix for - Profile save dialog should appear when application is closed and when don't save project is selected
Note: show UnsavedChangesDialog even if there is an object in the scene
2021-08-10 11:42:48 +02:00
Lukas Matena
a5ebd45d4d Renamed 'MMU segmentation; to 'Multimaterial painting' 2021-08-10 11:26:46 +02:00
Lukas Matena
1eebaa4576 Update info items in object list after repair by netfabb,
painted data are removed and the info line stays hanging
2021-08-10 11:22:19 +02:00
YuSanka
d88ef826cd Fixed Sinking not visible in right panel after project import 2021-08-10 10:36:36 +02:00
Lukáš Hejl
58f83b5e6a The offset is applied after the elephant food compensation. The value of the brim offset is now also measured from the object after the elephant foot compensation. Thus, the brim offset set to zero means that the brim will touch the object even if elephant foot compensation is enabled. 2021-08-10 09:44:39 +02:00
Vojtech Bubnik
04d6b17c57 Fix of Some FDM supports fail to generate due to wrongly-translated enforcer polygons. #6739
Thanks @n8bot for finding the bug.
Also removed some dead code in MM segmentation.
2021-08-10 09:41:28 +02:00
Vojtech Bubnik
9f9cbb46f9 Suppor of "No extrusion" firmware flavor by not emitting the E axis.
Fix of https://github.com/prusa3d/PrusaSlicer/issues/6023
The fix is partial: No extrusions are shown by the final G-code preview.
2021-08-09 17:37:35 +02:00
YuSanka
d6370a16fa DoubleSlider: Fix for #6756 - Cannot Color Change (M600) at height when MMU Painting
+ Fixed update for the ruler when "No sparce layer" option is enabled
2021-08-09 17:30:51 +02:00
David Kocik
b43f225ac8 Hint notification fixes and improvements
Hint notification bold (diff color) headline on multiple lines
Hint notification: Documentation link button.
Hints.ini header
hints logo - clippy 
disabled a preffered modes and techs for hints notifications
Empty hints array check. Fix of #6774.
2021-08-09 17:10:39 +02:00
YuSanka
4efce682e1 Fix for #6782 - Clicking On Another Modifier while Changing a Modifier Parameter crashes PrusaSlicer 2021-08-09 13:38:48 +02:00
YuSanka
1f131d130f DoubleSlider with MM-printer preset: When Object has "Paint-on segmentation", DoubleSlider has same behavior as with modifiers
+ MSW specific: Use BitmapComboBox instead of wxBitmapComboBox to DarkMode for extruder selectors
2021-08-09 13:38:48 +02:00
Lukas Matena
ef30cc8690 Fixup of previous commit: there are two more painting gizmos 2021-08-09 11:49:48 +02:00
Lukas Matena
13604469fd Painting gizmos and sinking objects:
1. Do not show what's below the bed when a gizmo is open
2. Triangulate the cut so people don't see inside
3. If regular clipping plane is used, the cuts are mutually clipped by one another
4. Painting itself ignores the hidden part of the object
2021-08-09 10:47:51 +02:00
Lukáš Hejl
b174dacc85 Added a missing include (GCC 11.1) 2021-08-07 08:29:32 +02:00
Lukas Matena
0ccc791750 Merge branch 'fs_QuadricEdgeCollapse' 2021-08-06 18:23:49 +02:00
Lukáš Hejl
dd55b55853 Swapped the position of seed fill and bucket fill inside the multi-material gizmo. Changed the default value for the seed fill angle. 2021-08-06 16:46:48 +02:00
Lukáš Hejl
56d4ba7a29 Fixed the issue when the object was selected by seed fill or bucket fill could stay selected when the painting tool was switched to brush. 2021-08-06 16:46:48 +02:00
Lukáš Hejl
666cdeecd9 Forced recomputation of seed fill selected areas when the seed fill angle is changed by ALT+mouse wheel. 2021-08-06 16:46:48 +02:00
Lukáš Hejl
cf2a7f4dfa Fixed the possibility of changing brush size in the multi-material gizmo by ALT+mouse wheel when brush for painting single triangles is selected. 2021-08-06 16:46:48 +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
Lukas Matena
85c7dea1a9 Finished concept of gizmos with no toolbar icon:
on_is_selectable and on_is_activable functions are now completely independent,
the former says if there shall be an icon in the left toolbar, the latter
says if the gizmo can be activated (by a shortcut or GLGizmoManager::open_gizmo)
2021-08-06 16:08:04 +02:00
Filip Sykala
ef5c94f90a Fix: prevent degeneration of model during simplification 2021-08-06 15:11:20 +02:00
YuSanka
b1330580b3 MessageDialog: Set html page size respecting to text size
+ Fixed layout of the unit in "Height ranges" panel
2021-08-06 15:08:11 +02:00
YuSanka
d543d2f29d Fixed "volume is splittable" detection 2021-08-06 15:04:23 +02:00
Lukas Matena
01f32e18d6 Fixed build on Linux, abs->std::abs 2021-08-06 13:03:30 +02:00
YuSanka
c09e7fb2e2 MSW-specific: Notebook control: Fixed layout of notebook tabs 2021-08-06 11:37:28 +02:00
Vojtech Bubnik
deda13ffc7 Fixed previous commit 2021-08-05 17:34:04 +02:00
Vojtech Bubnik
54897aeac0 Fixed previous commit 2021-08-05 17:33:41 +02:00
Vojtech Bubnik
ea5a90f08c Merge remote-tracking branch 'remotes/origin/master' into fs_QuadricEdgeCollapse 2021-08-05 17:17:18 +02:00
Vojtech Bubnik
49fdf3da7b follow-up to a86e7107a5:
Make is_converted_from_meters / is_converted_from_inches exclusive-or.
Maybe it would be better to make a single enum from the two booleans,
if they are exclusive-or?
2021-08-05 15:35:44 +02:00
Lukas Matena
413dc8d6ec Revert "Restoring custom supports/seams after reload from disk"
This reverts commit d001195ebd. It makes no sense,
reload from disk is used when the file has changed, which means the paint-on
data are possibly meaningless or even completely wrong (referencing
triangles that no longer exist)
2021-08-05 15:18:18 +02:00
enricoturri1966
34da899c66 Temporary tech ENABLE_SEAMS_USING_INSTANCED_MODELS -> WIP (still missing opengl calls) 2021-08-05 15:08:49 +02:00
Lukas Matena
215ee293ae CLI parsing: allow giving explicit values for bool options, improved error reporting:
It is now possible to use e.g. --ensure-on-bed=0 for bools (meaning the same as --no-ensure-on-bed).
Using --no- prefix on non-boolean is an error (--no-ensure-on-bed=1)
Providing a value for --no- prefixed bool is an error (--no-loglevel 5)
2021-08-05 13:45:16 +02:00
enricoturri1966
252935dde7 Techs ENABLE_SEAMS_USING_MODELS + ENABLE_GCODE_VIEWER_STATISTICS -> Added instances counter 2021-08-05 10:19:02 +02:00
enricoturri1966
73464c76b9 Techs ENABLE_SEAMS_USING_MODELS + ENABLE_GCODE_VIEWER_STATISTICS -> Fixed detection of used memory to store instances data 2021-08-05 09:35:12 +02:00
enricoturri1966
8c4e203e1d Tech ENABLE_SEAMS_USING_MODELS -> Use new options visualization only if OpenGL 3.1 or greater is detected 2021-08-05 09:09:07 +02:00
enricoturri1966
fd81041adb Fixed build warnings on non-Windows OS 2021-08-05 08:10:42 +02:00
Lukas Matena
e76b54b770 Follow-up of bc81c22e (renamed the new CLI option --dont-ensure-on-bed to avoid double negatives) 2021-08-04 15:44:35 +02:00
enricoturri1966
1b03eec234 Fixed build of tech ENABLE_SEAMS_USING_MODELS when tech ENABLE_GCODE_VIEWER_STATISTICS is disabled 2021-08-04 15:23:37 +02:00
enricoturri1966
55bac68603 Tech ENABLE_SEAMS_USING_MODELS - 1st installment 2021-08-04 15:13:43 +02:00
enricoturri1966
c4ec355f41 Added function to generated diamond shaped model 2021-08-04 13:58:44 +02:00
enricoturri1966
93db27f40c A bit of refactoring into GCodeViewer 2021-08-04 13:49:51 +02:00
enricoturri1966
329f9a77c2 Colors defined as std::array<float, 4> in GCodeViewer 2021-08-04 13:27:42 +02:00
enricoturri1966
077dc25bfd Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_seams_as_models 2021-08-04 12:48:21 +02:00
enricoturri1966
599a4d97e3 Removed constness from a few renderXXX() methods 2021-08-04 12:47:36 +02:00
YuSanka
7fd9a9cf6e ObjectList: Fixed a crash during a print technology change when InfoItem is selected
+ Add "Gallery" menu Item for Advanced mode too
2021-08-04 12:35:44 +02:00
Lukas Matena
bc81c22ea9 CLI: Ensure that objects are on bed by default, new CLI config option:
'dont-ensure-on-bed' (which allows to override). This was the original
behaviour in Slic3r and Sli3rPE, probably broken long ago when CLI
was ported from  Perl.
Also, --scale-to-fit should now work again (#5772)
2021-08-04 12:15:37 +02:00
enricoturri1966
66d43b882e Fixed calls set_uniform(emission_factor, xx) to use floats 2021-08-04 11:58:50 +02:00
Lukas Matena
d0d3c5ad16 Fix of variable layer height mode opening from ObjectList:
when the respective object info line was clicked, the variable
layer height mode was opened correctly, but closing it through
the toolbar deactivated most of the icons as if it was just opened.
2021-08-04 10:25:20 +02:00
Lukas Matena
7d9cce1298 Do not open 'Did you know' notifications in gcodeviewer,
they make no sense and make slicer crash sometimes
2021-08-04 10:21:01 +02:00
Lukáš Hejl
9e5fc2e713 XY size compensation is ignored when the object is also painted using the multi-material painting gizmo. A user is also notified about it. 2021-08-03 13:03:06 +02:00
Lukáš Hejl
742a373c1f Added invalidation of the sliced object when gap-fill enabled/disabled if the object is painted using the multi-material painting gizmo.
Filtering of unprintable regions in multi-material segmentation depends on if gap-fill is enabled or not. So sliced object is invalidated when gap-fill was enabled/disabled by option "gap_fill_enabled" or by changing "gap_fill_speed" to force recomputation of the multi-material segmentation.
2021-08-03 13:03:06 +02:00
Lukáš Hejl
b16aada962 Added clipping of finite Voronoi edges that have coordinates that don't fit inside type coord_t. 2021-08-03 13:03:06 +02:00
Lukáš Hejl
93b86da770 Fixed the wrong threshold in the multi-material segmentation. 2021-08-03 13:03:06 +02:00
Lukáš Hejl
d13c08837c Fixed an issue that some triangles weren't selected when bucket fill was used in the multi-material painting gizmo. 2021-08-03 13:03:06 +02:00
YuSanka
0092c448b8 OSX specific: GalleryDialog: Fixed scale of the default icon 2021-08-03 11:28:58 +02:00
Lukáš Hejl
5bd14cf83a Fixed the compiler warning. 2021-08-03 10:16:52 +02:00
YuSanka
1b49dd9869 PhysicalPrinterDialog: Remove all leading and trailing spaces from "print_host" input 2021-08-03 09:25:54 +02:00
YuSanka
4f1a092ae0 PrintHostQueueDialog: MSW specific in DarkMode: Fixed font color for the selected Item 2021-08-02 17:28:08 +02:00
YuSanka
a26e9c46b2 Fixed build 2021-08-02 15:08:54 +02:00
YuSanka
e8e3279511 Shapes Gallery :
- Suppress to create a PNG-files for system shapes
 - Allow to load the OBJ files
2021-08-02 15:00:41 +02:00
Lukáš Hejl
bad51cdb52 OSX specific: Fixed darker colors of objects inside multi-material gizmo on macOS running on Arm64 CPU.
For Apple's on Arm CPU computed triangle normals inside fragment shader using dFdx and dFdy has the opposite direction. Because of this, objects had darker colors inside the multi-material gizmo.
Based on https://stackoverflow.com/a/66206648, the similar behavior was also spotted on some other devices with Arm CPU.
2021-08-02 14:59:03 +02:00
enricoturri1966
ab9dfb7932 Added a few missing glsafe() 2021-08-02 14:40:13 +02:00
enricoturri1966
06b47d98fc Fixed build when tech ENABLE_GCODE_VIEWER_STATISTICS is enabled 2021-08-02 12:16:03 +02:00
Filip Sykala
fc4b18ebb1 Merge master 2021-08-02 10:46:47 +02:00
Filip Sykala
59d02aea0a Merge branch 'master' into fs_QuadricEdgeCollapse 2021-08-02 09:04:15 +02:00
Lukáš Hejl
5229acc693 Fixed compilation on Linux and macOS. 2021-07-31 12:10:38 +02:00
Vojtech Bubnik
2f6f1f0e55 WIN32 specific Blacklisted libraries check:
1) Polished up wording of the error messages.
2) Made some messages in the SysInfo dialog localized.
3) Renamed LibraryCheck.cpp/hpp to BlacklistedLibraryCheck.cpp/hpp
4) CPPized the BlacklistedLibraryCheck WIN32 C code.
2021-07-30 15:52:52 +02:00
YuSanka
64c8a6de8f Manipulation Panel in DarkMode: Fixed a text color, when we use different colors for the axes 2021-07-30 14:22:58 +02:00
enricoturri1966
d77013b5bf Fixed mirroring of sinking objects 2021-07-30 11:40:30 +02:00
enricoturri1966
0cb5590992 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer 2021-07-30 11:19:58 +02:00
enricoturri1966
a3a99567ad Changed logic to detect sinking objects while using scale gizmo 2021-07-30 11:19:50 +02:00
YuSanka
0bb5c2ef88 Auto color change: Fixed some cases:
* first layer is a little bit less than all another (like for elephant foot compensation)
* ignore small changes of the layer area
2021-07-30 11:16:30 +02:00
enricoturri1966
5aff44debe ENABLE_PROJECT_DIRTY_STATE set as default 2021-07-30 09:33:51 +02:00
enricoturri1966
a8552512cf Fixed sinking objects popping-up when deleting modifiers 2021-07-30 08:18:11 +02:00
David Kocik
aa17d54eda Update item info notification with icon 2021-07-29 16:52:08 +02:00
Vojtech Bubnik
654cd753e2 Changed the label of "Marlin Firmware" to "Marlin 2" 2021-07-29 16:21:09 +02:00
enricoturri1966
dc21fb1100 Changed detection of sinking objects into ObjectList::update_info_items() 2021-07-29 15:15:57 +02:00
Vojtech Bubnik
1659e4c77f Fixed splitting of triangle meshes, where the splitting function
may produce a single triangle, which is then removed by the repair function.
2021-07-29 15:02:50 +02:00
David Kocik
aebbafc75c Validate Error notification 2021-07-29 13:59:25 +02:00
Lukáš Hejl
9f0c6576f6 Added missing includes (GCC 11.1) 2021-07-29 13:38:10 +02:00
enricoturri1966
438439fd71 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer 2021-07-29 13:28:16 +02:00
enricoturri1966
86da45eb66 Horizontal slider in preview to show always (and only) gcode lines indices 2021-07-29 13:28:07 +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
YuSanka
7fd34e52c1 PhysicalPrinterDialog: Use transparent background for the Plus/Minus buttons 2021-07-29 13:13:48 +02:00
enricoturri1966
81f4df70dc Fixed conflict after merge with master 2021-07-29 12:25:28 +02:00
enricoturri1966
701286615f Follow-up of 1d4e7f5577 -> More robust fix 2021-07-29 12:14:51 +02:00
Lukáš Hejl
da3a0c6332 Fixed a crash in the multi-material segmentation when projected lines are outside of the BoundingBox used for EdgeGrid. 2021-07-29 11:45:02 +02:00
Lukáš Hejl
f577350f1f Reworked bucket fill so that all neighboring triangles are computed based on information about triangle neighbors. 2021-07-29 11:45:02 +02:00
Lukáš Hejl
6d0e5d3b9c Enabled to set "Maximum width of a segmented region" per object. 2021-07-29 11:45:02 +02:00
Lukáš Hejl
37f5f12f52 Replaced unnecessary double storing of edges in a graph for the multi-material segmentation by storing indices into a shared array of arcs. 2021-07-29 11:45:02 +02:00
Lukáš Hejl
216589fdb1 Get rid of unnecessary double storage of processed input polygons in the multi-material segmentation as ExPolygons and also as Polygons. All processed input polygons are now stored as ExPolygons. 2021-07-29 11:45:02 +02:00
Lukáš Hejl
38866b65b0 Get rid of unnecessary double calling of TriangleSelector::reset() in some cases when TriangleSelector::deserialize() is called. 2021-07-29 11:45:01 +02:00
Lukáš Hejl
2569da95d5 Parallelized the projection of painted regions in multi-material segmentation. 2021-07-29 11:45:01 +02:00
Lukáš Hejl
7a60f1793c Fixed a possible overflowing of a painted area to an unpainted area in multi-material segmentation.
It was reworked graph generation for multi-material segmentation. Now only oriented arcs in one direction are added to the graph for input polygons. This direction matches the direction of the lines in the input polygons.
2021-07-29 11:45:01 +02:00
enricoturri1966
1d4e7f5577 Fix of scaling modifiers for a sinking object 2021-07-29 09:37:40 +02:00
enricoturri1966
97de723146 Tech ENABLE_SINKING_CONTOURS -> Fix for showing sinking contours while dragging objects 2021-07-29 09:03:20 +02:00
enricoturri1966
14a67b0c9e Added sinking property item to objects list 2021-07-29 08:37:41 +02:00
enricoturri1966
1ea541767f Fixed compile warning 2021-07-28 15:40:55 +02:00
enricoturri1966
d821fcba2d Tech ENABLE_SINKING_CONTOURS -> Improved generation of sinking contours and color set to white 2021-07-28 14:27:57 +02:00
enricoturri1966
f1cd3e22c4 Tech ENABLE_SINKING_CONTOURS -> Cut gizmo: contours updated during render pass 2021-07-28 13:03:48 +02:00
Lukas Matena
a54f5fb41a Render statistics now shows actual SwapBuffers() calls per second 2021-07-28 12:50:01 +02:00
enricoturri1966
0146013b4e Tech ENABLE_SINKING_CONTOURS -> Sinking contours updated during render pass and shown also while dragging an object 2021-07-28 12:23:27 +02:00
enricoturri1966
d99ea7c20f Tech ENABLE_SINKING_CONTOURS -> Sinking contours rendered using triangles 2021-07-28 11:21:59 +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
YuSanka
3449550a7c MSW specific: Fixed strange layout after first switch between printer technology 2021-07-27 10:55:05 +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
enricoturri1966
90a23d73bc Hopefully final follow-up of 8ebb2e2 -> GCodeViewer: Ensure that the view is properly updated after automatic selection of view type when loading model using multiextruders prints 2021-07-27 08:47:40 +02:00
Vojtech Bubnik
eb6392dccd New slice_mesh() variant slicing with a single plane only, running
on a single thread only (not parallelized).
The new slice_mesh() is used to calculate contour of objects sunken
below the print bed.
2021-07-26 17:02:56 +02:00
YuSanka
84c6199015 Improvements for c5b7d4b2 fix 2021-07-26 16:17:21 +02:00
YuSanka
5f73724501 Search: Fixed a blinking for the first search 2021-07-26 15:06:18 +02:00
tamasmeszaros
0584b13167 Merge branch 'tm_flatpak_help_3' 2021-07-26 14:51:53 +02:00
tamasmeszaros
27b1174558 Increase minimum oversampling for grid conversion in hollowing
To avoid generation of broken meshes when the space for hollowing is tight
2021-07-26 14:51:22 +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
4a9602b073 Another follow-up of 8ebb2e2a29 -> GCodeViewer: Ensure that the view is properly updated after automatic selection of view type introduced with 06e2835f83 2021-07-26 13:59:36 +02:00
tamasmeszaros
088e34740e Fix messed up wx find procedure 2021-07-26 13:25:06 +02:00
tamasmeszaros
eca331ea35 Fix wx linkage to tiff and jpeg 2021-07-26 13:16:01 +02:00
tamasmeszaros
ca67d880ec Fix issues with finding new deps on win 2021-07-26 13:07:20 +02:00
tamasmeszaros
7ed0d6b886 Fix broken hole drilling 2021-07-26 12:28:57 +02:00
YuSanka
a113f227f5 Use default last directory when we try to save a project with objects from Gallery 2021-07-26 11:34:52 +02:00
enricoturri1966
06e2835f83 Follow-up of 8ebb2e2a29 -> GCodeViewer: automatically select view type in dependence of gcode content for first loaded gcode file 2021-07-26 11:01:37 +02:00
YuSanka
9154ebb165 ConfigWizard: Draw logo inside OnPaint instead of use of wxStaticBitmap 2021-07-23 16:03:17 +02:00
enricoturri1966
c9dffd0c89 Preview legend: title of estimated print time section dependent on results 2021-07-23 14:49:24 +02:00
YuSanka
4a5496e3de ObjectDataViewModel: Added function to add warning icon 2021-07-23 13:48:38 +02:00
enricoturri1966
c732deeb91 Set imgui scrollbars' grab color to orange 2021-07-23 13:36:43 +02:00
enricoturri1966
8df2525355 Fixed conflicts after merge with master 2021-07-23 11:40:07 +02:00
Lukas Matena
d3b1b1f3d5 Fix of clipping plane for SLA supports,
probably broken since 1009f78
2021-07-23 11:32:36 +02:00
enricoturri1966
8ebb2e2a29 Fixed import of color print view from gcode files into GCodeViewer 2021-07-23 11:27:07 +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
Filip Sykala
c0b73a92a3 Try fix warning icon 2021-07-22 15:17:23 +02:00
Lukas Matena
1f89b3638c FdmSupportsGizmo bugfix: reset highlighted slope after confirmation, otherwise
the highlight stays when it is confirmed and removed later
2021-07-22 14:12:06 +02:00
enricoturri1966
c9aa88db0d Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_sinking_contours 2021-07-22 13:00:47 +02:00
enricoturri1966
15b8e68c59 Tech ENABLE_SEAMS_VISUALIZATION set as default 2021-07-22 12:58:33 +02:00
enricoturri1966
59606a0ef6 Tech ENABLE_START_GCODE_VISUALIZATION set as default 2021-07-22 12:32:08 +02:00
enricoturri1966
d5ad47d0ca Tech ENABLE_SCROLLABLE_LEGEND set as default 2021-07-22 12:18:38 +02:00
enricoturri1966
2dd7091cc3 Tech ENABLE_MODIFIED_DOWNSCALE_ON_LOAD_OBJECTS_TOO_BIG set as default 2021-07-22 11:55:08 +02:00
enricoturri1966
5c6810d0bc Fixed conflicts after merge with master 2021-07-22 11:46:00 +02:00
enricoturri1966
65b3be92fe Techs DISABLE_ALLOW_NEGATIVE_Z_FOR_SLA and ENABLE_ALLOW_NEGATIVE_Z set as default 2021-07-22 11:26:31 +02:00
Lukas Matena
5bffed394b Fixed cursor size clamping in MMU segmentation gizmo 2021-07-22 11:03:09 +02:00
enricoturri1966
13c77990aa Follow-up of 1f3252dd78 -> Fixed rectangle selection 2021-07-22 10:27:37 +02:00
enricoturri1966
81c78d0ecc Tech ENABLE_EXTENDED_M73_LINES set as default 2021-07-22 09:55:39 +02:00
enricoturri1966
7817105abe Tech ENABLE_GCODE_WINDOW set as default 2021-07-22 09:37:02 +02:00
enricoturri1966
5faac3c105 Tech ENABLE_VALIDATE_CUSTOM_GCODE set as default 2021-07-22 09:13:12 +02:00
enricoturri1966
b80fb40fcd Tech ENABLE_GCODE_LINES_ID_IN_H_SLIDER set as default 2021-07-22 08:35:21 +02:00
YuSanka
232309a879 Don't save shapes directory to the "last_dir" 2021-07-21 16:13:40 +02:00
Filip Sykala
72d01d75e4 FIX schedule_extra_frame on end; 2021-07-21 15:48:10 +02:00
enricoturri1966
2d8f35561a Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_sinking_contours 2021-07-21 15:35:41 +02:00
enricoturri1966
22f04ca46e Tech ENABLE_SINKING_CONTOURS -> 1st installment 2021-07-21 15:30:57 +02:00
Filip Sykala
b225fadfde Allow skip edge with only one triangle during simplification 2021-07-21 15:23:48 +02:00
YuSanka
c7051c9005 Removed unnecessary conditions that interfere with the search. 2021-07-21 14:48:05 +02:00
Lukas Matena
7acaf58c15 Fix of asserting ImGui:
ImGui does not want the io flags to change in between NewFrame and EndFrame.
We did that - e.g. after a key down-key up combination with no render in between,
or when key down and mouse move event were processed with no render in between.
An assert was added in imgui to detect this between 1.75 and 1.83, which
made the issue visible.
Solution: only call the new_frame function in update_key_data/update_mouse_data
when imgui actually consumes the input. This forces immediate render so
EndFrame will be called.
2021-07-21 14:14:16 +02:00
enricoturri1966
9264b79be7 Tech ENABLE_RELOAD_FROM_DISK_FOR_3MF set as default 2021-07-21 14:10:05 +02:00
Lukáš Hejl
4d2bee36e5 Fixed some compiler warnings. 2021-07-21 12:54:28 +02:00
enricoturri1966
be9114c6c8 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer 2021-07-21 12:28:14 +02:00
enricoturri1966
4b312ae170 ENABLE_ALLOW_NEGATIVE_Z -> Fixed build when the tech is disabled 2021-07-21 12:28:03 +02:00
YuSanka
c5b7d4b213 FixThroughNetFabb: Fixed strange behavior after fixing of the model (PrusaSlicer loosed a focus) 2021-07-21 12:11:25 +02:00
Filip Sykala
0079091a8c Fix gui size 2021-07-21 11:58:01 +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
7cd402dcd0 GCodeViewer -> Fixed crash when importing gcode files generated by older versions of PrusaSlicer 2021-07-21 08:58:14 +02:00
enricoturri1966
7c01ddf996 #6730 - GCodeViewer -> Fixed crash when importing gcode files generated by PrusaSlicer and edited by user or 3rd part post processors by appending new lines after the config section. Show instead the same error dialog as when trying to import the config into PrusaSlicer from the same gcode file 2021-07-21 08:36:16 +02:00
Filip Sykala
6bcc576b5f truncate model name 2021-07-21 08:34:43 +02:00
Filip Sykala
87a6c8cb73 Merge branch 'master' into fs_QuadricEdgeCollapse 2021-07-21 07:52:57 +02:00
Filip Sykala
ca3fc06e36 GUI edits 2021-07-20 18:39:09 +02:00
enricoturri1966
368cfedbc7 Keep non-sinking volumes on top of the printbed while scaling 2021-07-20 15:32:24 +02:00
YuSanka
097afc6598 Follow-up bf981ae049 : Small improvements 2021-07-20 15:22:52 +02:00
Filip Sykala
b88629974d Change UI
Fix minimal triangle count
Fix progress rendering
2021-07-20 15:07:48 +02:00
YuSanka
44f1dac8c7 GalleryDialog: Added process of the "Close" button
SavePresetDialog: To correct "darkmodding" the wxRadioBox was changed to the wxStaticBoxSizer with radio buttons
+ Some code cleaning
2021-07-20 14:46:38 +02:00
enricoturri1966
bda128c166 Small refactoring in Selection 2021-07-20 13:26:12 +02:00
enricoturri1966
fd5cf8d0cc Refactoring in GLModel::render() to simplify client code 2021-07-20 12:36:56 +02:00
Filip Sykala
5ac2809426 Merge branch 'master' into fs_QuadricEdgeCollapse 2021-07-20 12:05:58 +02:00
Filip Sykala
6464a5b698 Fix Typo 2021-07-20 12:05:44 +02:00
enricoturri1966
c61785f775 Tech ENABLE_SEQUENTIAL_LIMITS set as default 2021-07-20 12:05:15 +02:00
YuSanka
e6c361ec5e Added "Modify Shapes Gallery" to the "Window" menu
+ Fixed a non-MSW build (added missed include)
2021-07-20 11:25:24 +02:00
enricoturri1966
b140709fa8 ENABLE_ALLOW_NEGATIVE_Z -> Fixed picking of sinking object 2021-07-20 11:02:04 +02:00
YuSanka
bf981ae049 Temporary workaround for compatibility with older Slicer:
To the "physical_printer" added "preset_name" option as a duplicate of the "preset_names" but like one string.
Note: It will works just for printer preset names without ";" (see #5503)
2021-07-20 10:18:59 +02:00
YuSanka
cc92757cdc Follow up 569200eb - fixed a typo witch was caused a bug "Impossible to revert the bed shape"
+ Added error message for exception when changing the config value
2021-07-20 09:41:29 +02:00
enricoturri1966
7d3e176a58 GCodeViewer -> Fixed loading of machine limits data from config contained into gcode files 2021-07-20 09:38:35 +02:00
Filip Sykala
2a2530924f FIX for build Asan_OsX_Mojave_Universal_ARM64/590
../src/slic3r/GUI/Gizmos/GLGizmoSimplify.cpp:72:81: error: cannot pass non-trivial object of type 'std::string' (aka 'basic_string<char, char_traits<char>, allocator<char> >') to variadic function; expected type from format string was 'char *' [-Wnon-pod-varargs]
../src/slic3r/GUI/Gizmos/GLGizmoSimplify.cpp:72:87: warning: format specifies type 'int' but the argument has type 'size_t' (aka 'unsigned long') [-Wformat]
2021-07-20 08:30:49 +02:00
Filip Sykala
bc3da9973b Merge branch 'master' into fs_QuadricEdgeCollapse 2021-07-20 08:22:06 +02:00
YuSanka
888a5e3084 Fixed of the warnings.
+ Some small bug-fixing related to the system colors change on MacOS ("Set..." buttons didn't respect to the system color change)
2021-07-19 15:46:50 +02:00
Filip Sykala
25a4887075 QEC: When collapsing edge flip normal than check other edges in triangle
Quadric is calculated with double precission of normal
Fix calculation of normal for changed triangles
2021-07-19 15:46:41 +02:00
YuSanka
d3ddb1cfa8 Fixed a bug with update of the warning icon for object after a deleting of the broken volume 2021-07-19 13:30:49 +02:00
YuSanka
4b5cf004bd MSW specific: Fixed rescaling for the BitmapComboBox control and Notebook tab buttons 2021-07-19 12:36:14 +02:00
enricoturri1966
558336f325 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer 2021-07-19 11:37:32 +02:00
enricoturri1966
75a2d7620b Removed striped shading for sinking objects 2021-07-19 11:37:18 +02:00
Lukáš Hejl
5405ab1986 Optimized seed fill and bucket fill selection to recompute selection only in case the cursor is pointing on a non-selected triangle. 2021-07-19 11:30:40 +02:00
Lukáš Hejl
5b67fafb75 Fixed a crash in the multi-material gizmo when bucket fill is selected. 2021-07-19 11:30:35 +02:00
enricoturri1966
ccf67793bd Fixed typo introduced with 2848ae9c4d 2021-07-19 11:21:26 +02:00
enricoturri1966
2848ae9c4d Colors in GLVolume defined as std::array<float, 4> 2021-07-19 11:11:49 +02:00
Filip Sykala
c444ef81bd Fix status function 2021-07-19 10:12:19 +02:00
Filip Sykala
709ea1283e FIX: new imgui change input float 2021-07-19 09:50:45 +02:00
Filip Sykala
86a3fd00a5 Merge branch 'master' into fs_QuadricEdgeCollapse 2021-07-19 09:18:55 +02:00
Filip Sykala
af526c54f4 Add simplification GUI 2021-07-19 09:17:50 +02:00
Justin Schuh
21abf8d88e
Fix bucket/seed fill tooltips (#6720) 2021-07-19 07:56:50 +02:00
enricoturri1966
bf7b554235 Disable reload from disk for built-in objects 2021-07-16 12:30:47 +02:00
Lukáš Hejl
b6b52fee73 Fixed an issue when the object in the multi-material gizmo had the wrong default color when the multi-material gizmo was first time opened after loading a painted 3MF file with different extruders colors than in the printer profile in Slicer. 2021-07-16 11:39:50 +02:00
enricoturri1966
beb60b5138 Follow-up of ef8ddacdfc -> Fixed rendering of modifiers after cleaning current selection 2021-07-16 10:56:29 +02:00
enricoturri1966
afa4776ead Follow-up of 1a64abac96 -> Keep modifiers original size and do not reposition them when using load command 2021-07-16 10:03:35 +02:00
Lukáš Hejl
51b94f4747 Added the bucket fill tool into the multi-material gizmo. Also, the multi-material gizmo was reworked to show only options applicable for a chosen painting tool. 2021-07-16 09:19:40 +02:00
YuSanka
977ffe556d ConfigWizard: Fixed a bug in update of the selected presets
(probably related to #6436 - Cannot add SLA materials)
2021-07-15 14:54:22 +02:00
Lukas Matena
433ae80d9c Updated our list of changes in imgui 2021-07-15 14:45:10 +02:00
Lukas Matena
b71d787f69 ImGui keyboard input fields are now locale-sensitive 2021-07-15 13:38:57 +02:00
Lukas Matena
b8c949ea71 Added a new source file from the new imgui 2021-07-15 13:28:01 +02:00
Lukas Matena
9244e2ae32 Changes forced by imgui upgrade, updated imgui readme and
updated ImGuiWrapper::selectable function (It was a copy of ImGui::Selectable
with slight changes. The function was changed a lot in ImGui 1.83, I copied
the new version and reapplied the changes.)
2021-07-15 13:17:48 +02:00
Lukas Matena
935675a35a Committed our own changes in ImGUI, see commits
042880ba2d
67c55c7490
a94c952b40
b3f8ae5ca7
2455df4017
3ca3a544a8
870aba8d15
62c2095fe8

This should contain exactly the same changes.
2021-07-15 13:17:48 +02:00
Lukas Matena
63dfb8f5f2 Upgraded to ImGUI 1.83 2021-07-15 13:17:48 +02:00
enricoturri1966
2f24971601 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer 2021-07-15 11:44:48 +02:00
enricoturri1966
1a64abac96 Changes in loading of modifiers from file and their positioning 2021-07-15 11:44:35 +02:00
YuSanka
f7dcc88831 Fixed a bug - Dependencies for Printer presets doesn't update after preset selection 2021-07-15 11:37:59 +02:00
YuSanka
b921c8b276 Added gallery to the default shapes
+ ObjectList (MSW specific): Don't change background color for Light color mode
2021-07-15 10:52:37 +02:00
Lukas Matena
8c23678fa0 Limited brim width to 200 mm (larger values make slicer hang or crash due to arithmetic overflow) 2021-07-15 09:55:25 +02:00
Lukas Matena
b5fea72618 Speed-up of painted seams 2021-07-15 09:49:36 +02:00
YuSanka
0220ae4ce5 Fixed a crash when "resources/shapes" directory doesn't exist.
+ Localization for the "Internal error: %1%" in generic_exception_handle()
2021-07-15 09:04:12 +02:00
Vojtech Bubnik
d7205c9461 Let's hope that the std::exception::what() returns either a 7-bit
string or an UTF-8 string. Let's convert it to wxString before
showing an error message box.
boost::system shall return UTF-8 localized error messages as long
as we set -DBOOST_SYSTEM_USE_UTF8 in the top most CMakeFiles.txt,
which we do.
2021-07-15 08:34:02 +02:00
YuSanka
4257ffddde GalleryDialog: Changes the paths to the system and custom galleries 2021-07-14 17:41:37 +02:00
YuSanka
8f5715b0d7 Follow-up fe7204379d - added missed include 2021-07-14 16:48:55 +02:00
YuSanka
fe7204379d GalleryDialog: Fixed sort of the filenames inside the list.
+ OSX Specific:
   * Fixed scale of the lock on the system file icons
   * Fixed buttons alignment for AboutDialog and SysInfoDialog
2021-07-14 16:45:34 +02:00
Lukas Matena
49ae885834 Correctly convert legacy bool 'draft_shield' to enum 2021-07-14 16:02:04 +02:00
Lukas Matena
b466f18326 Draft shield option is now an enum (Disabled/Limited/Enabled) 2021-07-14 16:02:04 +02:00
Lukas Matena
6eeedf2bc6 Skirt is now generated around brims, unless 'draft shield' is checked 2021-07-14 16:02:04 +02:00
Lukas Matena
63566a92b3 Merged psSkirt and psBrim 2021-07-14 16:02:04 +02:00
Lukas Matena
97d95e814f Added input validation in painting gizmo (some values led to a crash) 2021-07-14 15:57:22 +02:00
enricoturri1966
802d675784 Follow-up of 18c8003a0f -> Fixed bounding box of selected volumes 2021-07-14 15:32:09 +02:00
enricoturri1966
9aa129373c Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer 2021-07-14 13:21:17 +02:00
enricoturri1966
ef8ddacdfc Delayed rendering of transparent volumes 2021-07-14 13:20:57 +02:00
YuSanka
3d424c057c GalleryDialog: Added loaded files quality control
+ Code cleaning
2021-07-14 12:47:52 +02:00
enricoturri1966
18c8003a0f Fixes into Cut gizmo 2021-07-14 11:39:09 +02:00
YuSanka
062031a4c6 Replace with STL: Fixed update of the item name after replacing
+ OSX specific: Code refactoring for ObjectList:Rename() function
2021-07-14 09:22:03 +02:00
YuSanka
428362ec53 Fixed Windows DarkMode for some dialogues.
+ ProjectDropDialog: wxRadiloBox was changes to the wxStaticBox with wxRadioButtons because of dark mode colors update
+ Preferences: Fixed update of the text colors
2021-07-13 18:27:30 +02:00
tamasmeszaros
782e220890 Fix crash when all the holes fail to drill 2021-07-13 16:02:58 +02:00
Vojtech Bubnik
47f265f77f Fixed R-Pi build 2021-07-13 14:08:44 +02:00
Vojtech Bubnik
106d9f7ca0 MMU segmentation: Implemented filtering of unprintable regions in
top/bottom propagation.
2021-07-13 14:00:21 +02:00
Lukáš Hejl
389ccf6d92 Fixed compilation in debug mode by removing the forgotten assert. 2021-07-13 12:56:01 +02:00
enricoturri1966
56e2f47ba6 Fixed conflicts after pulling from master 2021-07-13 12:11:54 +02:00
enricoturri1966
44d31f9bf2 Follow-up of d6fdf2d5c2 -> Automatic generation of missing thumbnails 2021-07-13 11:57:19 +02:00
Lukáš Hejl
6194e67e68 Triangle normals and lighting are computed inside the fragment shader for the multi-material painting gizmo.
It results in a six-fold reduction of the amount of data transferred into GPU because there is no need to duplicate vertices for every triangle. Also, normals aren't needed to be transferred to GPU.
2021-07-13 11:23:36 +02:00
Lukáš Hejl
a467d0e30e Default object color is shown in the multi-material painting gizmo when the user switches to a printer with fewer extruders than the number of extruders used to paint the object. 2021-07-13 11:23:36 +02:00
Lukáš Hejl
c0092a7b0a Speed up the rendering of triangles in painting gizmos by only copying triangle data to the GPU when triangles were changed by painting. 2021-07-13 11:23:36 +02:00
Vojtech Bubnik
28219142c5 Tracing MMU top / bottom segmentation open lines at "trace" level. 2021-07-13 11:19:20 +02:00
Vojtech Bubnik
19e3998bd0 Merge branch 'vb_mmu_top_bottom' 2021-07-13 11:08:52 +02:00
Vojtech Bubnik
25fa3eddf0 Fixed slab slicing for special cases (slicing plane intersects object
plane).
2021-07-13 11:06:59 +02:00
Lukas Matena
f1ff59bafe Fixed build on Linux 2021-07-13 08:30:49 +02:00
YuSanka
0cdc54b710 GalleryDialog improvements:
* Added "Replace PNG" function
* Added locks instead of border for system shapes
2021-07-12 17:22:22 +02:00
Filip Sykala
756d2694eb FIX: Mutable priority queue 2021-07-12 16:36:08 +02:00
Oleksandra Yushchenko
d6fdf2d5c2
Modifiers Gallery (#6703)
* Added GalleryDialog

* GalleryDialog improvements:
* Added DnD functionality
* Added "Delete custom shapes" function
2021-07-12 15:20:50 +02:00
Lukáš Hejl
569b7d7dab Removed unnecessary backward compatibility with old multi-material painted 3MF from the early stage of development. 2021-07-12 13:37:33 +02:00
Lukáš Hejl
f78efa99fe Fixed an issue where seed fill selection stuck displayed when the mouse was moving inside multi-material gizmo when the gizmo was overlapping the model. 2021-07-12 13:21:10 +02:00
Vojtech Bubnik
d0a4161f47 Follow up (bugfix) of 0d70a2be69
GLIndexedVertexArray newly uses Eigen::AlignedBox<float, 3>
for efficiency instead of our double based BoundingBoxf3.
2021-07-12 10:53:09 +02:00
Lukas Matena
dca6db8635 Added a missing locale switch needed for custom gcode validation when switching tabs 2021-07-12 09:38:32 +02:00
Filip Sykala
b2238834fb Merge branch 'master' into fs_QuadricEdgeCollapse 2021-07-09 13:40:58 +02:00
Vojtech Bubnik
5bbe76003e MutablePriorityQueue: Added is_trivially_copyable test for queue value
types, added [] accessors.
2021-07-09 13:25:41 +02:00
Vojtech Bubnik
e4fd6a828f 1) Fixed a significant bug in MutablePriorityQueue when setting
the indices allowing rescheduling of values in the middle of the queue.
2) Implemented a cache friendly variant - MutableSkipHeapPriorityQueue
   based on
   https://playfulprogramming.blogspot.com/2015/08/cache-optimizing-priority-queue.html
   https://github.com/rollbear/prio_queue/blob/master/prio_queue.hpp
2021-07-09 12:53:29 +02:00
Filip Sykala
2c0b89e4a7 FIX Simplify test 2021-07-09 10:31:05 +02:00
Filip Sykala
8b4588d361 Merge branch 'simplification' into fs_QuadricEdgeCollapse 2021-07-09 09:21:07 +02:00
Filip Sykala
c53c958cdd Merge branch 'master' into fs_QuadricEdgeCollapse 2021-07-09 09:10:05 +02:00
YuSanka
6f9f4f78b7 Added SimplificationDialog 2021-07-09 09:10:03 +02:00
Filip Sykala
e26bffadd8 Add throw_on_cancel and statusfn into QEC 2021-07-09 09:09:52 +02:00
Filip Sykala
c00dca7810 Speed up QEC by move error directly into MutablePriorityQueue
Memory optimization: Change size_t to 32bit int
Lightweight Error structure for faster PriorityQueue
2021-07-08 18:08:27 +02:00
tamasmeszaros
6d258d04d8 Merge branch 'tm_arrange_notify' 2021-07-08 16:36:49 +02:00
jmd73
72ed2e3f86
Changed "temporary instaled" to "temporarily installed" (#6685) 2021-07-08 15:59:29 +02:00
tamasmeszaros
c30ac4b66f Add notification if some objects are ignored after arrange 2021-07-08 13:35:40 +02:00
Filip Sykala
ed9152d004 Merge branch 'master' into fs_QuadricEdgeCollapse 2021-07-07 16:52:10 +02:00
Lukas Matena
3fa78b52b2 Slightly improved 'no first layer extrusions' error message 2021-07-02 17:05:31 +02:00
David Kocik
029330d656 fix of infinite loop in notification lines calulating #6583 2021-07-02 15:13:03 +02:00
Lukas Matena
1d3b259c0a Fixed incorrect use of _NDEBUG instead of NDEBUG
Some debugging code was compiled even in release mode because of this
2021-06-30 11:59:16 +02:00
YuSanka
a0328772b9 Follow-up 4652733201 - Fixed Text alignment for Notebook tabs without bitmaps 2021-06-30 10:44:27 +02:00
Lukas Matena
ffc0e36570 Fixed locales switching on macOS 2021-06-30 10:02:51 +02:00
Lukáš Hejl
8da083b702 Fixed compilation on Linux 2021-06-30 08:56:35 +02:00
Vojtech Bubnik
f02821a82d Renamed the "marlinfirmware" firmware flavor to "marlin2". 2021-06-29 17:55:26 +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
tamasmeszaros
7fce368cca Fix crash after SL1 import 2021-06-29 11:40:50 +02:00
tamasmeszaros
92cf46773a Hotfix for arrange not working for objects with huge translation. 2021-06-28 14:55:15 +02:00
David Kocik
77e25c5022 fix of #6588 - using same copy function for updating presets as for exporting gcode 2021-06-28 13:21:07 +02:00
David Kocik
b14345012d PrusaLink - cherrypick pick from stable branch
Added to config enums, visible in Physical Printer Dialog and class derived from Octoprint
2021-06-28 12:36:01 +02:00
Lukáš Hejl
cb93c8ce99 Used function smooth_outward in multi-material segmentation to get rid of artifacts arisen after merging multi-volume objects. 2021-06-28 08:09:06 +02:00
Lukáš Hejl
a426093f12 Replaced boost::rtree in multi-material segmentation with much faster ClosestPointInRadiusLookup. 2021-06-28 08:09:06 +02:00
Lukáš Hejl
ce738102c6 Optimized the projection of painted triangles in multi-material segmentation. Added heuristics to skip most of the expensive calculations in cases where it is certain that performing these calculations would be useless. 2021-06-28 08:09:06 +02:00
Lukáš Hejl
48789e5ae1 Added a limitation on the number of usable extruders in the multi-material gizmo. If a printer has more extruders than this limit, a notification about it is shown. 2021-06-28 08:09:06 +02:00
Lukáš Hejl
23b26cb3f3 Fixed the issue where the object wasn't displayed after pressing the ESC key in the multi-material painting gizmo.
key in the multi-material painting gizmo.
Fixed also a similar issue in support and seam gizmos where an object was displayed with the wrong color after pressing the ESC key.
2021-06-28 08:09:06 +02:00
Vojtech Bubnik
e6295bbfe8 Fix of wxWidgets3.0 again wxGetApp not declared in this scope #6655 2021-06-28 07:45:13 +02:00
Vojtech Bubnik
211110ce53 Fixing some compiler warnings. 2021-06-27 17:45:41 +02:00
Vojtech Bubnik
e4e8c5df12 As an example of using the enum_bitmask infrastructure for type safe
sets of optional boolean parameters, the cut function "keep upper",
"keep lower" and "flip lower" boolean parameters were converted into
a single type safe enum_bitmask. Such a coding style is certainly
wordier than the original code, but much safer and more readable
than the error prone "boolean, boolean, boolean" function call
parameter list.
2021-06-27 17:36:25 +02:00
Vojtech Bubnik
0f3cabb5d9 Support for forward compatibility of configurations, user and system
config bundles, project files (3MFs, AMFs). When loading these files,
the caller may decide whether to substitute some of the configuration
values the current PrusaSlicer version does not understand with
some reasonable default value, and whether to report it. If substitution
is disabled, an exception is being thrown as before this commit.
If substitution is enabled, list of substitutions is returned by the
API to be presented to the user. This allows us to introduce for example
new firmware flavor key in PrusaSlicer 2.4 while letting PrusaSlicer
2.3.2 to fall back to some default and to report it to the user.

When slicing from command line, substutions are performed by default
and reported into the console, however substitutions may be either
disabled or made silent with the new "config-compatibility" command
line option.

Substitute enums and bools only.  Allow booleans to be parsed as
    true: "1", "enabled", "on" case insensitive
    false: "0", "disabled", "off" case insensitive
This will allow us in the future for example to switch the draft_shield
boolean to an enum with the following values: "disabled" / "enabled" / "limited".

Added "enum_bitmask.hpp" - support for type safe sets of options.
See for example PresetBundle::load_configbundle(...
LoadConfigBundleAttributes flags) for an example of intended usage.

WIP: GUI for reporting the list of config substitutions needs to be
implemented by @YuSanka.
2021-06-27 16:57:05 +02:00
Vojtech Bubnik
ad336e2cc0 Because of a crash in PrusaSlicer 2.3.0/2.3.1 when showing an update
notification with some locales, we don't want PrusaSlicer 2.3.0/2.3.1
to show this notification. On the other hand, we would like PrusaSlicer
2.3.2 to show an update notification of the upcoming PrusaSlicer 2.4.0.
Thus we will let PrusaSlicer 2.3.2 and couple of follow-up versions
to download the version number from an alternate file until
the PrusaSlicer 2.3.0/2.3.1 are phased out, then we will revert to
the original name.
2021-06-25 17:54:43 +02:00
Vojtech Bubnik
9b70efc46a Windows specific: Transactional saving of PrusaSlicer.ini to ensure
that configuration could be recovered in the case PrusaSlicer.ini
is corrupted during saving. The config is first written into a temp file
marked with a MD5 checksum. Once the file is saved, it is
copied to a backup file first, then moved to PrusaSlicer.ini.

When loading PrusaSlicer.ini fails, the backup file will be loaded
instead, however only if its MD5 checksum is valid.

The following "Fixes" comments are for github triggers. We implemented
a workaround, not a fix, we don't actually know how the data corruption
happens and why. Most likely the "Move file" Windows API is not atomic
and if PrusaSlicer crashes on another thread while moving the file,
PrusaSlicer.ini will only be partially saved, with the rest of the file
filled with nulls. We did not "fix" the issue, we just hope that our
workaround will help in majority of cases.

Fixes prusaslicer wont open 2.3 windows 10 #5812
Fixes Won't Open - Windows 10 #4915
Fixes PrusaSlicer Crashes upon opening with "'=' character not found in
line error" #2438
Fixes Fails to open on blank slic3r.ini %user%\AppData\Roaming\Slic3rPE
2021-06-25 16:44:06 +02:00
YuSanka
1378d2084a Fix of #6650 - show estimated print time on ruler is not working
+ Parent center of the MessageDialogs
2021-06-24 13:59:48 +02:00
Vojtech Bubnik
204ae62449 Slight improvement in cost of background slicing cancellation. 2021-06-23 16:37:18 +02:00
Vojtech Bubnik
3a5a0575ef Fixed after removing TBB deprecated APIs 2021-06-23 15:24:05 +02:00
Filip Sykala
38c83844a2 Merge branch 'master' into fs_QuadricEdgeCollapse 2021-06-23 13:59:03 +02:00
Filip Sykala
f8d759ad64 Assert check of new vertex can't be used general on All models(depends on scale)
Fix variable name in compare function
Remove second triangle from  MPQ
2021-06-23 12:16:22 +02:00
Roman Beránek
e13535f822
drop deprecated TBB components (#6590)
Quite some time ago, many of the TBB components were deprecated in favor
of their near-equivalents in the STL or, in the case of task_scheduler_init,
were broken up and reconstituted under a less ad-hoc logic. Every time a header
file marked deprecated gets included, a rather loud warning is emitted, which
leads to a complete TBB's domination over the stderr stream during build time,
making it harder to notice _legitimate_ warnings.

Instead of merely muting the output with TBB_SUPPRESS_DEPRECATED_MESSAGES,
perform a genuine migration away from the deprecated components with the added
benefit of achieving a source compatibility with oneTBB, the successor to TBB
which has dropped the deprecated API for good.

What got replaced for what?

| Deprecated				| Replacement					|
| ------------------------------------- | --------------------------------------------- |
| `tbb::atomic`				| `std::atomic`					|
| `tbb::mutex`				| `std::mutex`					|
| `tbb::mutex::scoped_lock`		| `std::scoped_lock<std::mutex>`		|
| `tbb::mutex::scoped_lock` (empty)	| `std::unique_lock<std::mutex>` (deferred)	|
| `tbb::task_scheduler_init`		| `tbb::global_control`				|
| `tbb::this_thread`			| `std::this_thread`				|

Signed-off-by: Roman Beranek <roman.beranek@prusa3d.com>
2021-06-23 11:48:48 +02:00
enricoturri1966
7a7108b2ad Fixed warning 2021-06-23 10:30:15 +02:00
Filip Sykala
1196fac551 Parallel QEC initialization 2021-06-23 09:50:27 +02:00
tamasmeszaros
2096a6dbbf Fix error reporting when cgal mesh boolean crashes.
Change error report when catching SEH on cgal mesh boolean.
2021-06-22 18:13:35 +02:00
tamasmeszaros
49c6ce76d0 Search for suitable rotation when arranging items larger than the bed 2021-06-22 11:23:32 +02:00
Vojtech Bubnik
d3233d66fb Fixing previous commit 2021-06-22 10:05:03 +02:00
Filip Sykala
892c246700 Fix Linux warnings
../src/libslic3r/QuadricEdgeCollapse.cpp:110:39: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
../src/libslic3r/QuadricEdgeCollapse.cpp:394:38: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
../src/libslic3r/QuadricEdgeCollapse.cpp:395:38: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
../src/libslic3r/QuadricEdgeCollapse.cpp:514:26: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
../src/libslic3r/QuadricEdgeCollapse.cpp:514:42: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
2021-06-22 10:01:14 +02:00
Vojtech Bubnik
c0715866ff Win32 specific: SEH handler on background thread. Catches Windows
structured exceptions (hard crashes, segmentation faults...),
converts them to Slic3r::HardCrash exceptions and displays the exception
using the usual PrusaSlicer way.
The SEH handler is installed on the main background slicing thread
as of now, therefore hard crashes in TBB worker threads are not handled.
2021-06-22 09:54:08 +02:00
Filip Sykala
7c13cfa1d9 Add test checking diference in volume before/after simplification
FIX warnings
..\src\libslic3r\QuadricEdgeCollapse.cpp(173): warning C4056: overflow in floating-point constant arithmetic
..\src\libslic3r\QuadricEdgeCollapse.cpp(232): warning C4056: overflow in floating-point constant arithmetic
2021-06-22 09:41:38 +02:00
Filip Sykala
e3cdeda673 Add quadric edge collapse 2021-06-22 09:21:16 +02:00
YuSanka
4e59fd504e DoubleSlider: Fixed out of range assert 2021-06-21 14:30:28 +02:00
Vojtech Bubnik
d291bb397b Fixed compiler warnings 2021-06-20 16:39:10 +02:00
Vojtech Bubnik
0d70a2be69 Renamed create_face_neighbors_index() to its_face_edge_ids().
Renamed its_create_neighbors_index() / its_create_neighbors_index_par() to its_face_neighbors() / its_face_neighbors_par().
New variant of its_face_edge_ids() to create edge IDs from face neighbors.
Fixed some incorrect use of _NDEBUG, it should be NDEBUG.
PrintObject::slice_support_volumes() returns newly Polygons, which are cheaper than ExPolygons.
Updated SeamPlacer and SupportMaterial to use regions defined as Polygons, not ExPolygons.
TriangleSelector::get_facets_strict() returning a patch with T-joints retriangulated.
New slice_mesh_slabs() - slicing projections of a triangle patch into top / bottom layers of slices, for MMU top / bottom segmentation.
TriangleMeshSlicer - use 64 mutexes instead of one when scattering sliced triangles into layers. This makes a big difference on modern many core desktop computers.
When applying MM segmented regions to input regions, the split regions are now re-merged with 10x higher positive offset epsilon to avoid creating gaps.
When testing for existence of paint-on supports or seam, use a more efficient has_facets() test, which does not deserialize into the expensive TriangleSelector tree structure.
GLIndexedVertexArray newly uses Eigen::AlignedBox<float, 3> for efficiency instead of our double based BoundingBoxf3.
Improved MMU painting refresh speed by optimizing generation of the vertex buffers.
Refactored MMU segmentation - projection of painted surfaces from top / bottom.
	1) Parallelized.
	2) Using the new slice_mesh_slabs() instead of projecting one triangle by the other and merging them with Clipper.
2021-06-20 15:21:12 +02:00
combolek
d08a70478e
Fixes Linux (and probably MacOS) build: wx/msw/registry.h is only available on Windows. (#6634) 2021-06-19 11:45:48 +02:00
YuSanka
5434a8980f Some code beautification for the last commit
+ Fix of the TabPresetComboBox layout for "light mode" + "tabs as a menu items" preferences
2021-06-18 21:54:20 +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
YuSanka
65f440c2ba Follow-up e3000c5305 - Fixed OSX build 2021-06-18 12:22:59 +02:00
tamasmeszaros
d3de14170a Fix build for unixes 2021-06-17 22:21:34 +02:00
YuSanka
e3000c5305 Implementation of the FR #3856 - Add option to replace stl in object list (right panel) 2021-06-17 21:29:18 +02:00
Lukáš Hejl
684b66125e Fixed an issue where multi-material segmentation ignored the last extruder. 2021-06-17 19:26:40 +02:00