Commit Graph

3351 Commits

Author SHA1 Message Date
3de1f26760 Merge branch 'master' into fs_QuadricEdgeCollapse 2021-07-20 12:05:58 +02:00
22cf01f449 Tech ENABLE_SEQUENTIAL_LIMITS set as default 2021-07-20 12:05:15 +02:00
441c9ea0d0 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
22c7f22268 GCodeViewer -> Fixed loading of machine limits data from config contained into gcode files 2021-07-20 09:38:35 +02:00
dc6291c434 Merge branch 'master' into fs_QuadricEdgeCollapse 2021-07-20 08:22:06 +02:00
68fe5c3630 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
125918a606 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
e9bd4b8f0f Fixed a crash in the multi-material gizmo when bucket fill is selected. 2021-07-19 11:30:35 +02:00
0d06ec956d Fix status function 2021-07-19 10:12:19 +02:00
babc34af01 Merge branch 'master' into fs_QuadricEdgeCollapse 2021-07-19 09:18:55 +02:00
635622c039 Disable reload from disk for built-in objects 2021-07-16 12:30:47 +02:00
2724e0930d 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
4648bbd3cb 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
ae1f18f7ba Speed-up of painted seams 2021-07-15 09:49:36 +02:00
14e1293ade GalleryDialog: Changes the paths to the system and custom galleries 2021-07-14 17:41:37 +02:00
e15c0682b0 Correctly convert legacy bool 'draft_shield' to enum 2021-07-14 16:02:04 +02:00
439088c349 Draft shield option is now an enum (Disabled/Limited/Enabled) 2021-07-14 16:02:04 +02:00
0ad7fb9208 Skirt is now generated around brims, unless 'draft shield' is checked 2021-07-14 16:02:04 +02:00
bbca47355d Merged psSkirt and psBrim 2021-07-14 16:02:04 +02:00
bfdaeae376 Delayed rendering of transparent volumes 2021-07-14 13:20:57 +02:00
df4545e99a Fix crash when all the holes fail to drill 2021-07-13 16:02:58 +02:00
90c2528772 Fixed R-Pi build 2021-07-13 14:08:44 +02:00
ce92075590 MMU segmentation: Implemented filtering of unprintable regions in
top/bottom propagation.
2021-07-13 14:00:21 +02:00
e4f3458bbc Tracing MMU top / bottom segmentation open lines at "trace" level. 2021-07-13 11:19:20 +02:00
1a72c78934 Merge branch 'vb_mmu_top_bottom' 2021-07-13 11:08:52 +02:00
dc1f8e4b5d Fixed slab slicing for special cases (slicing plane intersects object
plane).
2021-07-13 11:06:59 +02:00
f1d92cdf9c FIX: Mutable priority queue 2021-07-12 16:36:08 +02:00
080807eda5 Modifiers Gallery (#6703)
* Added GalleryDialog

* GalleryDialog improvements:
* Added DnD functionality
* Added "Delete custom shapes" function
2021-07-12 15:20:50 +02:00
e2603b1652 Removed unnecessary backward compatibility with old multi-material painted 3MF from the early stage of development. 2021-07-12 13:37:33 +02:00
e80ef16a5b Added a missing locale switch needed for custom gcode validation when switching tabs 2021-07-12 09:38:32 +02:00
94111f5d85 Merge branch 'master' into fs_QuadricEdgeCollapse 2021-07-09 13:40:58 +02:00
a3e507a9b9 MutablePriorityQueue: Added is_trivially_copyable test for queue value
types, added [] accessors.
2021-07-09 13:25:41 +02:00
0f9b2e20bf 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
e9cb528198 FIX Simplify test 2021-07-09 10:31:05 +02:00
c5890b9b67 Add throw_on_cancel and statusfn into QEC 2021-07-09 09:09:52 +02:00
d78f5d877b 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
0b9f9f0062 Merge branch 'master' into fs_QuadricEdgeCollapse 2021-07-07 16:52:10 +02:00
85b0c0c5b2 Slightly improved 'no first layer extrusions' error message 2021-07-02 17:05:31 +02:00
cea3fff0df 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
a7e1797746 Fixed locales switching on macOS 2021-06-30 10:02:51 +02:00
f944596e62 Renamed the "marlinfirmware" firmware flavor to "marlin2". 2021-06-29 17:55:26 +02:00
c90c350526 Fix crash after SL1 import 2021-06-29 11:40:50 +02:00
5161cfdace 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
309dc55456 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
2f2d9b034e Replaced boost::rtree in multi-material segmentation with much faster ClosestPointInRadiusLookup. 2021-06-28 08:09:06 +02:00
ae27f0d853 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
dc005a2933 Fixing some compiler warnings. 2021-06-27 17:45:41 +02:00
05ccafeeb5 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
c5304750d9 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
d0a1416599 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