7b08194cfe
Fix build on gcc8
2021-07-16 16:40:59 +02:00
e2969291bb
Our friendly GCC does not consider std::pair<int, int> trivially
...
copiable either, while everybody else does. Shame on GCC.
2021-07-09 14:05:30 +02:00
eeaab9f73b
GCC does not consider std::pair<std::pair<...>, ...> to be trivially
...
copiable, thus fixing the unit tests with a custom trivially
copyable type.
2021-07-09 13:58:54 +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
2d646bddf1
Updated the Catch2 framework from v2.13.3 to v2.13.6.
...
Fixes Fix build error with non-const MINSIGSTKSZ. #6518
2021-07-08 16:55:59 +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
04331beb33
Add new (winner) neighbor index based on measurements
2021-06-08 10:34:32 +02:00
2227d0f1ad
Added measuring sandbox for neighbors index creation
2021-06-08 10:34:32 +02:00
1ee724e7ed
Corrected mesh split implementation
2021-06-08 10:28:23 +02:00
0ecba516a3
Get rid of Contour3D
2021-06-08 10:28:23 +02:00
c451fc94ba
Refactored hollowing backend to use indexed_triangle_mesh
2021-06-08 10:28:23 +02:00
997c446a05
SLA backend refactored, except Hollowing
2021-06-08 10:27:35 +02:00
c4f422bbd9
Fixed tests and windows build
2021-05-24 12:20:29 +02:00
0cdd866199
Code cleanup
2021-05-24 10:03:48 +02:00
a59811736a
3rd attempt to fix unit test for 2D convex hull of sinking object on RasperryPi
2021-05-24 08:54:08 +02:00
4acd20de9d
Another attempt to fix unit test for 2D convex hull of sinking object on RasperryPi
2021-05-21 15:37:25 +02:00
57189517f4
Added debug output to help fixing unit test for 2D convex hull of sinking object on RasperryPi
2021-05-21 11:56:10 +02:00
83bbf5b56f
Attempt to fix unit test for 2D convex hull of sinking object on RasperryPi
2021-05-21 10:14:13 +02:00
38115f181a
Added unit test for calculation of 2D convex hull of sinking object
2021-05-20 12:53:47 +02:00
94abebdfb0
Fixed missing include
2021-05-18 16:15:54 +02:00
39e17fd6b9
TriangleMeshSlicer: Got rid of admesh!
2021-05-18 15:05:30 +02:00
499d8405e9
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
be3068564b
Fixed Polygon::centroid()
...
Ported Polygon unit tests from Perl to C++.
2021-05-07 11:42:21 +02:00
23b9a66197
Removing offset2 from Perl bindings and other minor cleanup.
2021-05-06 14:29:20 +02:00
9314856372
Fixing unit tests.
2021-05-05 13:19:01 +02:00
f191b4611d
Further rework of ClipperUtils: Replaced many to_polygons() /
...
to_expolygons() calls with templated ClipperUtils variants to avoid
memory allocation and copying.
2021-05-03 11:39:53 +02:00
7a3ddb3de5
Merge branch 'tm_vb_clipper_eigen'
2021-04-23 11:44:25 +02:00
e912da36eb
Convincing ClipperLib to use Slic3r's own Point type internally.
2021-04-21 20:15:49 +02:00
8af3bd96a3
Fix integer overflows in libnest2d tests
2021-04-21 16:08:38 +02:00
f3af547441
New custom backend for libnest2d using libslic3r types
...
Adapted to new clipper->eigen mod
2021-04-21 16:02:25 +02:00
17a63f974e
Fixing unit tests
2021-04-21 15:31:06 +02:00
96c1193156
Fixed unit tests.
2021-04-21 13:30:32 +02:00
6007f7ee49
Replacing ClipperLib::IntPoint with Eigen point as a first step to
...
make the ClipperLib paths and polygons compatible with Slic3r paths
and polygons without conversions and memory allocations.
2021-04-14 09:22:51 +02:00
847cdcb7cb
Fix integer overflows in libnest2d tests
2021-04-14 08:51:54 +02:00
f21e0ae0ff
Least supports optimization revived.
...
Fix missing include on Win32
Cleanup benchmarking code
2021-04-07 12:51:02 +02:00
a7851618c8
Extend execution framework with convenience functions
2021-04-07 12:51:02 +02:00
7045fe9555
Fix of 7bd412a2ca
2021-04-05 20:32:41 +02:00
dee6b11167
A few test cases for Voronoi diagrams.
...
A few test cases collected from multi-material segmentation. All new test cases are suppressed not to fail a building process.
2021-04-05 16:47:00 +02:00
08fbd4272c
Back-porting improvements for libnest2d
2021-03-31 09:36:54 +02:00
85a5a2925f
Fixing some compilation warnings
2021-03-15 10:36:03 +01:00
f7bb54e037
Fixed unit tests.
2021-03-15 09:55:56 +01:00
d46942b11a
Fixing unit tests.
2021-03-15 09:55:56 +01:00
784e3c45b5
WIP: Refactored bridging flow from normal flow, new config value
...
'thick_bridges' to switch between the Slic3r vs. S3D/Cura/Ideamaker
way of printing 1st object layer over supports.
Simplified the PresetHints.
2021-03-15 09:55:56 +01:00
2afca521be
Clean up hollowing test
...
Needs rethinking anyway
2021-03-08 17:38:10 +01:00
f827e15f81
Group hollowing result (including grid) into one struct
2021-03-08 17:38:10 +01:00
006a84e995
Follow-up to 5276bd98d7:
...
WIP: MutablePolygon - linked list based polygon implementation
allowing rapid insertion and removal of points.
WIP: porting smooth_outward() from Cura.
2021-03-03 15:04:26 +01:00
02702e6122
WIP: MutablePolygon - linked list based polygon implementation
...
allowing rapid insertion and removal of points.
WIP: porting smooth_outward() from Cura.
2021-03-01 18:41:46 +01:00
d62aace663
Reduction on compiler warnings, mainly on MSVC.
...
Fix of the new gap_fill_enable flag: Take it into account when comparing
regions.
2021-02-10 17:29:07 +01:00
831f47f4f8
Fixing some compiler warnings on Linux
2021-02-08 11:58:03 +01:00
3f2b57b1d4
Squash merge of lh_brim_rework,
...
brim separated to Brim.cpp,hpp
Refactored accessors to PrintObjectPtrs, PrintRegionPtrs, LayerPtrs,
SupportLayerPtrs for const correctness.
2021-02-03 15:12:53 +01:00