Commit Graph

8649 Commits

Author SHA1 Message Date
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
tamasmeszaros
976dd72b8b Catching of sigsegv and sigfpe with structured exceptions on win 2021-06-17 15:17:21 +02:00
tamasmeszaros
a5529aff1e Implement custom integer->string conversion for hashing
Converts to hexadecimal, reversed order which is faster.
2021-06-17 15:40:22 +02:00
enricoturri1966
72df789077 Fixed the following crash:
1) Start PrusaSlicer

2) Add a box to the plater

3) Open Seam Painting or Paint - on supports gizmo

4) Save project

->crash
2021-06-17 08:16:54 +02:00
YuSanka
c5cb94d92c Follow up 0b5ea8f429
- Un-select random sequence by default
- Added a check for interval height. It have to be bigger then print layer height
2021-06-16 18:20:26 +02:00
Lukáš Hejl
2e54648b97 Fixed a multi-material painting gizmo crash when extruders colors aren't initialized, which happens when switching between SLA and FDM printer. 2021-06-16 17:05:24 +02:00
Lukáš Hejl
b32202e597 Fixed incorrectly displayed custom supports and seams in the support and seam gizmos after 7377fc34ac. 2021-06-16 13:41:35 +02:00
Vojtech Bubnik
d0411223be TriangleSelector:
1) Fixing yesterday's regression in deserialization of older painted 3MFs
   (order of triangle children is now reversed, thus the serialization
    / deserialization has to take it into account).
2) WIP extraction into facets to triangulate T-joints.
2021-06-16 10:52:00 +02:00
Lukáš Hejl
6ddd88e596 Fixed an issue where the color of the first extruder always replaced the default color after painting in a multi-material gizmo.
multi_material_segmentation_by_painting is now returning only the painted region. Regions with default colors that aren't painted by multi-material gizmo aren't returned.
2021-06-16 06:06:37 +02:00
Lukáš Hejl
ae1a799cf4 Fixed an issue for multi-volume objects where the seed fill visualization in the multi-material gizmo didn't disappear after the mouse was moved to another volume. 2021-06-16 06:06:34 +02:00
Lukáš Hejl
c59cf5de40 Fixed layers with the wrong color after multi-material segmentation on objects with multiple objects. 2021-06-16 06:06:34 +02:00
Lukáš Hejl
21b38db488 Added using the move operator in some parts of multi-material segmentation. 2021-06-16 06:06:34 +02:00
Lukáš Hejl
a06e42d01f Moved debug prints out of parallel cycles, and more debug prints were added for multi-material segmentation. 2021-06-16 06:06:34 +02:00
Lukáš Hejl
15a1b51339 Refactoring and cleanup of painting gizmos. 2021-06-16 06:06:34 +02:00
Lukáš Hejl
8a77fa38f0 Modified MMU painting gizmo behavior so that all triangles aren't painted by default by the first extruder, which was causing several problems.
This commit also fixed the following issues:
1) After loading a 3MF with painted triangles using the MMU painting gizmo, the painted triangles might not be displayed correctly in the MMU painting gizmo.
2) The MMU segmentation was unnecessarily executed for all layers and not just for the painted layers.
3) Object's base color wasn't changed when the assigned extruder for that object was changed while the MMU paint gizmo was opened.
4) Changing the base color of an object was only possible by removing all painted triangles.
2021-06-16 06:06:34 +02:00
Lukáš Hejl
b2677f513c Fixed a possible crash when closing the MMU painting gizmo cause by a non-virtual destructor. 2021-06-16 06:06:33 +02:00
Lukáš Hejl
7377fc34ac Fixed cracks in MMU painting gizmo. All triangles, even not painted triangles, are now rendered inside MMU painting gizmo.
The cracks were caused by using glPolygonOffset to resolve Z-fighting. All triangles of the object were firstly rendered entirely with a base color. And then paint triangles were drawn over these already rendered triangles.
2021-06-16 06:06:33 +02:00
Lukáš Hejl
de9ed9ee3e Follow-up of 39fd8065a1: Apply changes also for MMU painting gizmo, so shader->start_using() is called only once. 2021-06-16 06:06:33 +02:00
Lukáš Hejl
c751f2d638 Show info about multi-material segmentation in ObjectList. 2021-06-16 06:06:33 +02:00
Vojtech Bubnik
154e552006 TriangleSelector optimizations:
1) When splitting a triangle, vertices are now properly shared with
   the neighbor triangles, if these are already split.
   Please note that the splitting may not be regular if the splitting
   thershold is changed between splitting calls. Still the new code
   shares the vertices accross shared edges properly.
2) Triangles resp. vertices are newly reused after deleted using
   linked lists of released triangles resp. vertices.
   This mechanism replaces the old mechanism of reusing already split
   triangles.
2021-06-15 14:43:46 +02:00
YuSanka
0b5ea8f429 Random extruder sequence for MMU.
Related to https://github.com/prusa3d/PrusaSlicer/issues/1866
2021-06-15 12:38:05 +02:00
enricoturri1966
a2788f3a73 GCode Viewer -> Fixed used filament for gcode files produced by other slicers 2021-06-15 09:39:33 +02:00
Vojtech Bubnik
2f8190e6d0 Workaround of boost::filesystem::copy_file() incompatibility
on some file systems (eCrypt ...)
Should fix #4716 #6588
2021-06-14 12:19:13 +02:00
Lukáš Hejl
bfd83f925d Fixed build on MacOS.
Based on information in https://stackoverflow.com/a/46115028, structured bindings in C++17 don't name variables, and because of that, it is impossible to capture these variables in lambda functions.
2021-06-13 16:22:44 +02:00
Vojtech Bubnik
e17b57d6bd Fixing previous TriangleSelector refactoring. 2021-06-11 17:59:33 +02:00
Vojtech Bubnik
403bb926c8 Fixed regression bug after PrintRegions refactoring:
Fixed crash if an object is outside the print bed, its modifier inside
the print bed and the modifier gets deleted.
2021-06-11 17:29:16 +02:00
Vojtech Bubnik
6bade1b24a TriangleSelector - some memory optimization.
Don't store traingle normal, but reference the source triangle,
which stores its normal.
2021-06-11 12:27:58 +02:00
Vojtech Bubnik
74ab3e108e TriangleSelector refactoring for readability and a bit of performance,
added some comments, improved encapsulation through private attributes,
removed recursive call through std::function etc.
2021-06-11 11:02:47 +02:00
YuSanka
87a996d0d5 Code refactoring to avoid a call of update_ui_from_settings() every time when switching between "3D-View" and "Preview" 2021-06-11 10:34:13 +02:00
enricoturri1966
841f8c6715 Added missing assignment into ModelObject::assign_copy() 2021-06-10 13:32:53 +02:00
Vojtech Bubnik
4ada2ed093 TriangleSelector::get_facets() refactoring to share vertices.
TriangleSelector::valid refactored to m_valid and valid()
and bool members moved next to each other to shrink data structure
size due to memory alignment.
2021-06-10 12:43:31 +02:00
Vojtech Bubnik
95f4690e25 Support / seam / MMU painting serialization / deserialization:
Changed the serialization structure
	std::map<int, std::vector<bool>>
to a significantly more compact
	std::pair<std::vector<std::pair<int, int>>, std::vector<bool>>
Such change shall significantly improve efficiency of Undo / Redo stack.
2021-06-10 09:26:30 +02:00
YuSanka
b59ff2c294 Fixed a bug in update of the ObjectList when switching between 3d-View and Preview
Steps to repro:
1. start PrusaSlicer
2. add a box
-> watch the object list: only one item is shown in the list
3. switch to preview
-> the item in the object list gets a child
2021-06-09 17:21:39 +02:00
enricoturri1966
5631b2cb7c Follow-up of 2d9953069a 2021-06-08 15:10:01 +02:00
tamasmeszaros
cd19756a1d Merge branch 'tm_its_refactor_3' 2021-06-08 12:22:28 +02:00
tamasmeszaros
b5771a5787 try to fix build on windows 2021-06-08 11:53:38 +02:00
enricoturri1966
5bbc68df7b Do not close application when user select 'Cancel' in the save dirty project dialog 2021-06-08 11:51:41 +02:00
tamasmeszaros
904387520e Fix the build 2021-06-08 11:02:29 +02:00
tamasmeszaros
0ca17b0798 Make new split always default if feasible 2021-06-08 10:34:32 +02:00
tamasmeszaros
97529ff6b7 Add parallel version of neighbors index creation, make it default 2021-06-08 10:34:32 +02:00
tamasmeszaros
b4d540ec4c Improve its_split for large number of parts 2021-06-08 10:34:32 +02:00
tamasmeszaros
c4507842a0 Add new (winner) neighbor index based on measurements 2021-06-08 10:34:32 +02:00
tamasmeszaros
b14b000c73 Add triangle mesh split to perf comparison 2021-06-08 10:34:32 +02:00
tamasmeszaros
c8be2cdceb Added measuring sandbox for neighbors index creation 2021-06-08 10:34:32 +02:00
tamasmeszaros
c542e6e14b Corrected mesh split implementation 2021-06-08 10:28:23 +02:00
tamasmeszaros
8fdb0fddc0 Get rid of Contour3D 2021-06-08 10:28:23 +02:00
tamasmeszaros
e6f97358bc Refactored hollowing backend to use indexed_triangle_mesh 2021-06-08 10:28:23 +02:00
tamasmeszaros
f12187b53d wip on hollowing refactor 2021-06-08 10:27:35 +02:00
tamasmeszaros
1009f78862 SLA backend refactored, except Hollowing 2021-06-08 10:27:35 +02:00
enricoturri1966
1c35dfe591 Tech ENABLE_ALLOW_NEGATIVE_Z -> Added threshold to detect if an object is sinking 2021-06-08 10:07:47 +02:00
Lukas Matena
1f29a2593b Fixed two more locales-related issues
One warning was also fixed
2021-06-07 12:31:41 +02:00
enricoturri1966
8e75919948 #6587 - Fixed temporary .gcode file locked by gcode window visualizator while exporting to gcode 2021-06-07 11:54:16 +02:00
Lukas Matena
d2874f2e34 Fixed a memory leak during locales switching on macOS and
removed frequent locales switching during gcode processing
2021-06-05 07:09:23 +02:00
enricoturri1966
d8ac2ceaf6 Remove const_cast<> introduced with 0e3090fb28 2021-06-04 16:53:05 +02:00
enricoturri1966
90edccf772 Remove const_cast<> introduced with 4da8de5f49 2021-06-04 10:23:31 +02:00
Lukas Matena
39fd8065a1 Fixed clipping plane when used with painter gizmos (follow-up of 94877a0) 2021-06-04 09:34:55 +02:00
Vojtech Bubnik
8d325008d1 Small MMU segmentation optimization 2021-06-04 08:46:02 +02:00
Lukáš Hejl
cc913d52ef Added name for items in undo/redo stack inside multi-material gizmo. 2021-06-03 18:11:48 +02:00
Lukáš Hejl
94877a0ec0 Fixed the wrong transformation matrix for "Clipping of view" when is used a printer with multiple extruders. 2021-06-03 08:00:46 +02:00
Vojtech Bubnik
9efe58e6c7 Merge remote-tracking branch 'remotes/origin/master' into vb_print_regions 2021-06-02 18:25:11 +02:00
YuSanka
4b5e568f14 Follow-up 7eebd56b5f - fixed a typo
+ added add_negative.svg for dark mode
2021-06-02 14:36:49 +02:00
YuSanka
7eebd56b5f Fixed DnD for "Model part" volumes inside the object
Fixed volumes order inside the object
2021-06-02 12:54:56 +02:00
Vojtech Bubnik
2d9953069a Removed unnecessary const_cast calls inside Camera. 2021-06-02 12:19:55 +02:00
Vojtech Bubnik
a1283277d3 Fixing a regression crash in Preset Hints. 2021-06-02 11:28:55 +02:00
Lukáš Hejl
edf8d22aba Fixed an issue when the option "Inner brim only" doesn't generate brim inside the object in some cases, and issue that top-level brim was ignoring an offset around the object without a brim.
Also, some possible warnings were fixed.
2021-06-02 10:33:16 +02:00
Yuri D'Elia
35195dc593
Add <cfloat> for missing DBL_MAX declaration (#6582)
Fixes build on linux/gcc10.
2021-06-01 19:54:53 +02:00
Vojtech Bubnik
0bfc53f5a5 VertexFaceIndex: vertex index to incident face indices built for
indexed_triangle_set.
2021-06-01 19:30:26 +02:00
David Kocik
2d60c90ff5 Remove unused include_directory in cmake 2021-06-01 13:52:02 +02:00
Vojtech Bubnik
49c2fc160d Merge remote-tracking branch 'remotes/origin/master' into vb_print_regions 2021-06-01 12:46:37 +02:00
Vojtech Bubnik
9aa520baf3 Fix of previous commit: Mixed up ClipperLib::pftPositive and pftNonZero 2021-06-01 12:33:14 +02:00
enricoturri1966
6b7bd30da3 Show sequential print clearance regions when Move/Rotate/Scale gizmos are active 2021-06-01 11:36:12 +02:00
Vojtech Bubnik
73e0099c55 Merge remote-tracking branch 'remotes/origin/master' into vb_print_regions 2021-06-01 11:19:53 +02:00
Vojtech Bubnik
7681eb8496 PrintRegion refactoring: Fixed a crash when an object is moved from outside
the print bed inside and it becomes printable.
2021-06-01 11:12:55 +02:00
Vojtech Bubnik
20ba7c0a1f New parameter "Slicing Mode" for supporting 3DLabPrint airplane models.
S3D's strategy for merging self intersecting models is "Even / Odd"
which PrusaSlicer now supports as an alternative to "Positive" rule.
Also added a "Close Holes" option to fill in all internal structures.
3D-Labprint Models aren't sliceable (till years) #3062 #3708
2021-06-01 11:10:12 +02:00
enricoturri1966
1d4f7a8870 Changed logic to avoid saving a project while a gizmo is in editing mode 2021-06-01 08:32:58 +02:00
Lukas Matena
580dc890b8 Wipe tower: use normal retraction when moving to the tower, not toolchange retraction
This does not make sense, there is always an unretraction when the head arrives at the tower.
2021-05-31 21:23:03 +02:00
Lukas Matena
4657e0d670 Improvement related to 'separate z travel speed':
default to zero = use good old travel speed. This is to
ensure backwards compatibility with existing profiles
2021-05-31 21:21:53 +02:00
Martin Budden
bd6badf123 Added option to independently set z axis travel speed 2021-05-31 21:20:43 +02:00
Vojtech Bubnik
df87f1b929 Fixed some compiler warnings 2021-05-31 14:48:26 +02:00
Lukáš Hejl
660acede9e Sphere brush color in MMU painting gizmo is now the same as color used for painting. 2021-05-31 14:23:12 +02:00
Vojtech Bubnik
033d9f3a5e Merge remote-tracking branch 'remotes/origin/master' into vb_print_regions 2021-05-31 14:05:53 +02:00
Vojtech Bubnik
8c95212aae Bugfix of PrintRegion refactoring: Correct invalidation of regions
on object transformation.
2021-05-31 14:04:45 +02:00
enricoturri1966
54b69ea9e5 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_sequential_limits 2021-05-31 12:55:03 +02:00
enricoturri1966
f0354b43c1 Fixed conflicts after merge with master + fixed rendering of hovered gizmo grabbers 2021-05-31 12:54:48 +02:00
Lukas Matena
b30a6d5883 Unify Delete/Backspace behaviour in gizmos with the rest of slicer. Also,
backspace on macOS in SLA gizmo now deletes points and not the whole object,
which was quite unexpected.
2021-05-31 11:50:00 +02:00
Lukas Matena
0d721bfb07 Slightly reworded 'missing layers' warning, to reflect that it is no longer considered an error 2021-05-31 11:16:28 +02:00
Lukáš Hejl
2438e3a891 Fixed issue that the lower half of the object was shown darker than the upper half of the object after slicing with MMU segmentation. 2021-05-31 07:26:38 +02:00
Lukáš Hejl
02a0955a5f Fixed possible wrongly filled ZIP headers in case that pState->m_zip64 is sets to true. 2021-05-29 19:56:20 +02:00
Lukáš Hejl
7f29647d67 Added missing includes (GCC 11.1) 2021-05-29 19:55:20 +02:00
Lukáš Hejl
2cbf7728bb Fixed that seed fill left all triangles split instead of merging them. 2021-05-28 17:42:28 +02:00
Lukáš Hejl
726a48383f Cleaned up of 0a6490bab9 2021-05-28 17:36:56 +02:00
Lukas Matena
8c560522a3 Fixed rendering of gizmo grabbers 2021-05-28 16:44:13 +02:00
enricoturri1966
e1d5d0804b Added missing uniform calls for emission_factor 2021-05-28 16:44:13 +02:00
enricoturri1966
f69bd75464 Fixed rendering of gizmos' grabbers 2021-05-28 16:44:13 +02:00
enricoturri1966
9605d10caa Unified color definition 2021-05-28 16:44:13 +02:00
enricoturri1966
e648368934 Removed unneeded calls to GL_LIGHTING 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
846afdf7f3 Removed last GLU call, removed libGLU from CMakeLists 2021-05-28 16:44:13 +02:00
Lukas Matena
fd024eadcd Removed gluProject and gluUnProject calls 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
0c7095d807 Fixed crash when deleting last obejct from plater 2021-05-28 16:28:56 +02:00
Vojtech Bubnik
f5c7d14e85 Bugfix after refactoring of PrintRegions: Fixed handling of cached_volume_ids 2021-05-28 15:55:18 +02:00
Vojtech Bubnik
fe96a20b50 Fixed compilation on GCC 2021-05-28 15:22:00 +02:00
Vojtech Bubnik
7d3b2b5b6e Merge branch 'vb_print_regions' of https://github.com/Prusa3d/PrusaSlicer into vb_print_regions 2021-05-28 15:14:41 +02:00
Vojtech Bubnik
c02f95dfd6 Bugfixes after PrintRegion refactoring. 2021-05-28 15:14:34 +02:00
YuSanka
8e1cde43a6 Update extruder show/hide and default extruder color in respect to the volume type 2021-05-28 13:41:36 +02:00
Lukáš Hejl
0a6490bab9 Added cancellation to MMU segmentation. 2021-05-28 05:57:32 +02:00
Lukáš Hejl
281ac1f2f1 Added missing includes (GCC 9.3) 2021-05-27 16:47:31 +02:00
Vojtech Bubnik
3e28b4c967 Fix of previous commit 2021-05-27 16:14:54 +02:00
Vojtech Bubnik
99301f89f6 Merge remote-tracking branch 'remotes/origin/master' into vb_print_regions 2021-05-27 16:12:53 +02:00
Vojtech Bubnik
818cb703ed Refactored the ModelVolume bounding box to Eigen::AlignedBox<float>,
separated splitting of LayerRegions by MMU segmentation to its own
function.
2021-05-27 16:12:34 +02:00
Vojtech Bubnik
b5aa09e5ba WIP: Integration of MMU painting into the slicing back-end. 2021-05-27 14:29:51 +02:00
enricoturri1966
0b16ffaa07 Follow-up of b3ca8cb0af -> Fixed typo 2021-05-27 14:05:29 +02:00
enricoturri1966
b3ca8cb0af Fixed calculation of used filament for gcode viewer (take data from gcode file) 2021-05-27 12:25:59 +02:00
Vojtech Bubnik
9e4d483453 Merge branch 'vb_print_regions' of https://github.com/Prusa3d/PrusaSlicer into vb_print_regions 2021-05-26 16:15:01 +02:00
Vojtech Bubnik
409e1c5cc8 Some fixes after preceding merge. Moved mmu_segmented_region_max_width
from PrintConfig to PrintObjectConfig.
2021-05-26 16:14:52 +02:00
YuSanka
b7769856d1 Fixed DnD function for volumes inside the object in respect to the volume type 2021-05-26 15:36:48 +02:00
Vojtech Bubnik
980ca195f5 Merge remote-tracking branch 'remotes/origin/lh_multi_material_segmentation' into vb_print_regions 2021-05-26 15:23:35 +02:00
Vojtech Bubnik
0d081c90f0 Merge remote-tracking branch 'remotes/origin/master' into vb_print_regions 2021-05-26 14:38:34 +02:00
Vojtech Bubnik
7f1f0d29d0 Will gcc accept this? 2021-05-26 14:33:24 +02:00
Vojtech Bubnik
cba1950a4e Fixing compilation on gcc. 2021-05-26 14:30:25 +02:00
Vojtech Bubnik
e24026bfa5 Making the "Default" extruder transparent for modifier meshes and layer
range modifiers.
2021-05-26 14:25:33 +02:00
Vojtech Bubnik
b3195614cf WIP PrintRegion refactoring: Another round of bug fixing, negative volumes
seem to work.
2021-05-26 12:41:06 +02:00
Vojtech Bubnik
8ab6a615d0 Fixed another compiler warning 2021-05-25 21:17:07 +02:00
Vojtech Bubnik
dd79a2b832 Fixing some compiler warnings 2021-05-25 20:46:31 +02:00
Vojtech Bubnik
8a297be74e Fixing another clang complaint 2021-05-25 20:03:05 +02:00
Vojtech Bubnik
c3cd2c7f55 Fixing an OSX clang quirk. 2021-05-25 19:27:20 +02:00
Vojtech Bubnik
9b9354a2aa WIP: Rework of PrintRegions, bunch of bug fixes. 2021-05-25 18:12:38 +02:00
enricoturri1966
87815b0b16 Tech ENABLE_SEQUENTIAL_LIMITS -> Some refactoring 2021-05-25 15:55:37 +02:00
enricoturri1966
44e9693789 Tech ENABLE_SEQUENTIAL_LIMITS -> Fixed instance transformations 2021-05-25 13:34:51 +02:00
Lukáš Hejl
671c2ace17 Fixed a modification time for files appended using the streaming interface in the miniz library. 2021-05-25 10:38:29 +02:00
Vojtech Bubnik
701a0c9576 Two more bugs squished. 2021-05-24 18:07:12 +02:00
YuSanka
cf76b5c264 Added "Negative volume" type item to the ObjectList 2021-05-24 17:32:40 +02:00
Vojtech Bubnik
72d1faa03e WIP PrintRegion refactoring: Squashed some bugs. 2021-05-24 16:55:34 +02:00
Vojtech Bubnik
c8bdc62af4 Fixing compilation on Linux 2021-05-24 15:12:04 +02:00
Vojtech Bubnik
04014db136 Fixing compilation on Linux 2021-05-24 15:08:07 +02:00
Vojtech Bubnik
92b4f0542a Another compilation fix. 2021-05-24 15:00:08 +02:00
enricoturri1966
ec4bf90da3 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_sequential_limits 2021-05-24 14:43:21 +02:00
enricoturri1966
9d216104e0 Fixed warning 2021-05-24 14:42:57 +02:00
Vojtech Bubnik
fd97a49ccc Fixing the previous commit. 2021-05-24 14:36:27 +02:00
enricoturri1966
7a14005f5a Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_sequential_limits 2021-05-24 14:19:40 +02:00
enricoturri1966
9f6751586c Tech ENABLE_SEQUENTIAL_LIMITS -> Do not show sequential print clearance regions contours when there is only one instance on the plater 2021-05-24 14:18:52 +02:00
enricoturri1966
abbe7f7eea Tech ENABLE_SEQUENTIAL_LIMITS -> Reset sequential print clearance regions contours when clearing the plater 2021-05-24 14:11:09 +02:00
Vojtech Bubnik
e658fe0698 WIP: PrintRegion refactoring, it finally compiles!
Config/PrintConfig refactoring to support operator< for StaticPrintConfig
derived containers.
2021-05-24 14:10:04 +02:00
enricoturri1966
40b97c33c5 Tech ENABLE_SEQUENTIAL_LIMITS -> Another improvement in performance when showing sequential print clearance regions contours while dragging objects 2021-05-24 13:22:37 +02:00
Lukas Matena
afca744d37 Fixed a bug when reverting to an old value with comma-separated doubles 2021-05-24 12:23:44 +02:00
Lukas Matena
4960b125c5 Fixed incorrect locales handling in the UI (Field, ObjectManipulation, etc) 2021-05-24 12:23:39 +02:00
Lukas Matena
c05b8210f2 Fixed several locales issues on file import/export 2021-05-24 12:22:00 +02:00
Lukas Matena
4a7f078527 Fixed debug build 2021-05-24 12:20:29 +02:00
Lukas Matena
6b6b086948 Fixed tests and windows build 2021-05-24 12:20:29 +02:00
Lukas Matena
c5c6f51ae0 Fixed third batch of locale-dependent calls 2021-05-24 12:20:29 +02:00
Lukas Matena
fef385cd6b Fixed second batch of locale-dependent calls 2021-05-24 12:20:29 +02:00
Lukas Matena
9ee2fc8275 Fixed first batch of locale-dependent calls 2021-05-24 12:20:29 +02:00
Lukas Matena
5a1441f9b7 Created a RAII class to switch LC_NUMERIC to "C" and back 2021-05-24 12:20:29 +02:00
enricoturri1966
6192a3eaf7 Tech ENABLE_SEQUENTIAL_LIMITS -> Improved performance when showing sequential print clearance regions contours while dragging objects 2021-05-24 12:11:49 +02:00
Vojtech Bubnik
740773db85 WIP: Refactoring of PrintRegions. It nearly compiles! 2021-05-21 17:57:37 +02:00
enricoturri1966
77dfeb84bc Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_sequential_limits 2021-05-21 14:58:41 +02:00
enricoturri1966
d5c462f5a6 Tech ENABLE_SEQUENTIAL_LIMITS -> Show sequential print clearance regions contours while dragging objects 2021-05-21 14:57:03 +02:00
Lukáš Hejl
ed9c93f85a Added missing includes (GCC 9.3) 2021-05-21 07:42:37 +02:00
Lukáš Hejl
f50046b31b Modified streaming interface in miniz library to use ZIP64 extension only for files exciding the limits.
The modification is based on a preallocation space in the Extra field using a phony custom block in the Local file header. This space is eventually overwritten by the ZIP64 extension if the file exceeds 4GiB.
Also were fixed differences from PKZip specification in the streaming interface.
2021-05-20 19:44:12 +02:00
enricoturri1966
38657d7e4e Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_sequential_limits 2021-05-20 15:38:50 +02:00
enricoturri1966
d13c550968 Fixed conflicts after merge with master 2021-05-20 15:37:56 +02:00
enricoturri1966
6bb2982b98 Skip picking pass when plater is empty 2021-05-20 15:34:59 +02:00
enricoturri1966
2bd3e018b1 Follow-up of d54548367a -> Reintroduce GLCanvas3D::m_old_size to avoid unneeded calls to render() 2021-05-20 14:42:40 +02:00
Vojtech Bubnik
ef9004cee4 Fix of its_collect_mesh_projection_points_above()
Fix of perl integration tests after introduction of not using the mesh
below the print bed.
2021-05-20 13:58:27 +02:00
David Kocik
635bf8d9f1 Notifications: Calculating space left for hypertext with escaped text 2021-05-20 13:09:45 +02:00
Enrico Turri
eb431db7ed Test 2021-05-20 11:04:47 +02:00
enricoturri1966
33d489df30 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_sequential_limits 2021-05-20 10:47:51 +02:00
enricoturri1966
a218e0ef18 Tech ENABLE_ALLOW_NEGATIVE_Z -> New implementation for method ModelObject::convex_hull_2d() 2021-05-20 09:32:17 +02:00
enricoturri1966
8377b6ef4f Fixed typo in its_collect_mesh_projection_points_above() and method TriangleMesh::slice() set as const 2021-05-20 09:09:19 +02:00
Vojtech Bubnik
ff6623b0f4 Fixing 2021-05-19 16:51:25 +02:00
Vojtech Bubnik
116e2b2112 Fixing the slice_mesh() after recent refactoring. 2021-05-19 16:09:45 +02:00
Vojtech Bubnik
68b0d92183 Merge remote-tracking branch 'remotes/origin/master' into vb_print_regions 2021-05-19 14:00:21 +02:00
Vojtech Bubnik
31942e03db Optimization of its_collect_mesh_projection_points_above(): Reserve points. 2021-05-19 13:59:34 +02:00
Vojtech Bubnik
e952aded78 cut_mesh(): new parameter to optionally not triangulate the caps. 2021-05-19 13:52:47 +02:00
Vojtech Bubnik
66cf7ea9d3 Extracting its_collect_mesh_projection_points_above() out of
its_convex_hull_2d_above(), so that the projected points may get
collected over multiple volumes before applying Geometry::convex_hull()
2021-05-19 13:39:56 +02:00
Vojtech Bubnik
5644b98d3b Factored out convex hull calculation from ModelObject::convex_hull_2d()
to Geometry::convex_hull().
Update Geometry::convex_hull() to handle duplicate points.
2021-05-19 13:23:19 +02:00
Vojtech Bubnik
8db2d96c75 Point::ccw() optimization: Calculate with int64, not doubles. 2021-05-19 12:01:30 +02:00
enricoturri1966
0d8a1c3d2a Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_sequential_limits 2021-05-19 11:45:05 +02:00
Vojtech Bubnik
6b54f34ce1 New functions: its_convex_hull_2d_above() 2021-05-19 11:35:42 +02:00
tamasmeszaros
e892550cb0 Fix warning of ignored variable in structured binding 2021-05-19 10:08:41 +02:00
Vojtech Bubnik
682c405fc2 Merge remote-tracking branch 'remotes/origin/master' into vb_print_regions 2021-05-19 09:40:24 +02:00
Vojtech Bubnik
f5f912e6e9 WIP: Refactoring of PrintRegions 2021-05-19 09:38:51 +02:00
enricoturri1966
53397cee17 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_sequential_limits 2021-05-19 08:40:32 +02:00
enricoturri1966
4a134f5320 Follow-up of c37d18f046 -> Removed assert 2021-05-19 08:39:04 +02:00
enricoturri1966
d60893b990 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_sequential_limits 2021-05-19 08:27:27 +02:00
Vojtech Bubnik
c28cd957d5 New utility function its_merge_vertices().
Implemented contour simplification inside slice_mesh_ex().
2021-05-18 17:57:55 +02:00
YuSanka
dfc6d399f7 Fixed update of the ObjectManipulation when "autocenter" is on 2021-05-18 17:06:41 +02:00
Vojtech Bubnik
78c0199523 TriangleMeshSlicer: Optimized out unnecessary transformations. 2021-05-18 16:12:49 +02:00
Vojtech Bubnik
70b4915f9c TriangleMeshSlicer: Got rid of admesh! 2021-05-18 15:05:30 +02:00
YuSanka
1256aebd88 Fix of some warnings 2021-05-18 12:58:14 +02:00
enricoturri1966
e338eebade Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_sequential_limits 2021-05-18 12:50:01 +02:00
YuSanka
6c47b15834 Follow-up of a5d5ceb30d - Fixed run on Windows 2021-05-18 12:32:37 +02:00
enricoturri1966
221c054e4f Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_sequential_limits 2021-05-18 10:37:39 +02:00
YuSanka
a5d5ceb30d DoubleSlider: Fixed ruler for sequential print of the object with different heights 2021-05-17 21:12:19 +02:00
Vojtech Bubnik
308d6b7809 WIP: Reworked slicing
1) Slicing code moved to TriangleMeshSlicer.cpp,hpp from TriangleMesh.cpp,hpp
2) Refactored to use as little as possible of admesh.
2021-05-17 20:25:59 +02:00
tamasmeszaros
68d2427a34 Fix marching squares test crash in debug builds 2021-05-17 14:54:47 +02:00
enricoturri1966
40086784fe Small refactoring in GLCanvas3D 2021-05-17 13:14:19 +02:00
enricoturri1966
858ea16b95 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_sequential_limits 2021-05-17 13:05:09 +02:00
enricoturri1966
0605813e68 Faster ModelObject::convex_hull_2d() by using ModelVolume 3D convex hulls 2021-05-17 13:02:38 +02:00
enricoturri1966
c37d18f046 Follow-up of ca14ea4c33 -> Fixed arrange with sinking objects 2021-05-17 12:53:05 +02:00
enricoturri1966
a929b29a0b Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_sequential_limits 2021-05-14 15:06:44 +02:00
enricoturri1966
4aab49f591 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer 2021-05-14 15:03:51 +02:00
enricoturri1966
ca14ea4c33 Tech ENABLE_ALLOW_NEGATIVE_Z -> ModelObject::convex_hull_2d() and sequential_print_horizontal_clearance_valid() modified to take in account for sinking instances 2021-05-14 15:02:54 +02:00
Vojtech Bubnik
2b9e41e695 Fix of a special case in auto color print feature, which crashed with
single layer PrintObjects.
Fixes Segmentation fault (GLib-GObject null pointer) #6516
2021-05-14 14:57:41 +02:00
Vojtech Bubnik
221af991c2 Fixed update of PrintRegions after removing an object.
The bug has been introduced during recent PrintRegion refactoring.
2021-05-14 11:52:33 +02:00
enricoturri1966
b9011ca5f1 Tech ENABLE_SEQUENTIAL_LIMITS -> Do not show sequential print clearance regions while layers editing is enabled 2021-05-14 11:20:02 +02:00
enricoturri1966
b014e87ef7 Tech ENABLE_SEQUENTIAL_LIMITS -> Fixed z-fighting between sequential print clearance regions and objects 2021-05-14 11:13:46 +02:00
enricoturri1966
2cf5f83bb6 Tech ENABLE_SEQUENTIAL_LIMITS -> Do not show sequential print clearance regions while any gizmo is active 2021-05-14 10:52:18 +02:00
enricoturri1966
214f7bd092 Merge branch 'master' of https://github.com/prusa3d/PrusaSlicer into et_sequential_limits 2021-05-14 10:20:15 +02:00
enricoturri1966
e0dd7edb21 Removed obsolete method from GLVolumeCollection 2021-05-13 14:56:35 +02:00
enricoturri1966
6bddacee44 Fixed conflicts after merge with master 2021-05-13 14:10:42 +02:00
enricoturri1966
e330b66981 Small refactoring 2021-05-13 13:57:09 +02:00
enricoturri1966
d54548367a Fixed imgui out of synch with mouse after switching between preview and 3D view 2021-05-13 10:59:13 +02:00
YuSanka
044634d7d1 Fixed "Extruder sequence", when extruder changes are per mm 2021-05-13 09:50:09 +02:00
Lukas Matena
707ce9d3d4 Added a missing include (gcc) 2021-05-12 17:04:36 +02:00
YuSanka
4be1d62259 Fixed update of the "Supports" in frequently used parameters when Vase mode is selected 2021-05-12 15:54:20 +02:00
enricoturri1966
62772060f9 Tech ENABLE_SEQUENTIAL_LIMITS -> Do not show clearance regions while dragging an object 2021-05-12 14:56:14 +02:00
enricoturri1966
bc9fa18044 Tech ENABLE_SEQUENTIAL_LIMITS -> Fixed z-fighting between contours and fill 2021-05-12 14:35:57 +02:00
enricoturri1966
3006213d3b Removed obsolete member variable from Canvas3D::Slope 2021-05-12 14:25:13 +02:00
enricoturri1966
0d37f66f61 Tech ENABLE_SEQUENTIAL_LIMITS -> Improved rendering of clearance regions 2021-05-12 13:09:33 +02:00
YuSanka
82da1f8fc1 Code cleaning: Delete workaround code 2021-05-12 11:43:36 +02:00
enricoturri1966
ebe762f177 Add estimated printing time for first layer in legend 2021-05-12 11:21:18 +02:00
YuSanka
de1d36cc9a Probably fix for #6270 - Segfault during startup in prusa-slicer-git 2.3.0.r24.gd06aa6069-1 2021-05-11 18:03:57 +02:00
enricoturri1966
b875fd2755 Fixed project dirty state after changing language 2021-05-11 15:01:33 +02:00
enricoturri1966
75677ba810 Tech ENABLE_SEQUENTIAL_LIMITS -> 1st installment of visualization of objects clearance for sequential prints 2021-05-11 13:12:25 +02:00
Oleksandra Yushchenko
ab886e037b
Implementation for #6216
* Implementation for #6216 - Make number keys select extruder when object treeview has focus
+ deleted unused extruder_selection()
+ Fixed notification after splitting of the solid object

* Follow up 85a10268b9 - OSX implementation
+ Added shortcuts description to the "Keyboard Shortcuts" dialog

* Workaround to use "+/-" and numbers shortcuts on Linux
+ Fixed build on Linux

* OSX specific: fixed a work of keyboard accelerators from numbers on NumPad keyboard

* KBShortcutsDialog: fixed shortcuts for "Preferences" and "Show/Hide 3Dconnexion devices settings dialog, if enabled" under osx
and "Set Printable/Unprintable" and "Set extruder" under Linux
 + OSX specific: Added minimize of the application on "Cmd+M"

* Hot-fix for 6efeb9d6b4

* Removed Linux specific workaround
2021-05-11 11:02:12 +02:00
enricoturri1966
13b0757b8b Tech ENABLE_REDUCED_TOOLPATHS_SEGMENT_CAPS set as default 2021-05-11 10:28:04 +02:00
David Kocik
fabaee10a8 Additional controls in NotificationManager 2021-05-11 09:35:25 +02:00
David Kocik
d701b24bc0 Fix of crash when notification text + hypertext wont fit line length 2021-05-11 09:35:25 +02:00