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
tamasmeszaros
c4507842a0
Add new (winner) neighbor index based on measurements
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
1009f78862
SLA backend refactored, except Hollowing
2021-06-08 10:27:35 +02:00
Lukas Matena
6b6b086948
Fixed tests and windows build
2021-05-24 12:20:29 +02:00
enricoturri1966
9da87d8e0f
Code cleanup
2021-05-24 10:03:48 +02:00
enricoturri1966
ca9fad002c
3rd attempt to fix unit test for 2D convex hull of sinking object on RasperryPi
2021-05-24 08:54:08 +02:00
enricoturri1966
dfa85c2c37
Another attempt to fix unit test for 2D convex hull of sinking object on RasperryPi
2021-05-21 15:37:25 +02:00
enricoturri1966
49f29e8353
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
enricoturri1966
90be278d98
Attempt to fix unit test for 2D convex hull of sinking object on RasperryPi
2021-05-21 10:14:13 +02:00
enricoturri1966
f0ef5e409d
Added unit test for calculation of 2D convex hull of sinking object
2021-05-20 12:53:47 +02:00
Vojtech Bubnik
3481898d4d
Fixed missing include
2021-05-18 16:15:54 +02:00
Vojtech Bubnik
70b4915f9c
TriangleMeshSlicer: Got rid of admesh!
2021-05-18 15:05:30 +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
Vojtech Bubnik
52b3c655ff
Fixed Polygon::centroid()
...
Ported Polygon unit tests from Perl to C++.
2021-05-07 11:42:21 +02:00
Vojtech Bubnik
f16d4953be
Removing offset2 from Perl bindings and other minor cleanup.
2021-05-06 14:29:20 +02:00
Vojtech Bubnik
a2de09e11e
Fixing unit tests.
2021-05-05 13:19:01 +02:00
Vojtech Bubnik
09a80d954c
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
Vojtech Bubnik
9f4e9da5c6
Merge branch 'tm_vb_clipper_eigen'
2021-04-23 11:44:25 +02:00
Vojtech Bubnik
8d0950ce12
Convincing ClipperLib to use Slic3r's own Point type internally.
2021-04-21 20:15:49 +02:00
tamasmeszaros
949b0e63e8
Fix integer overflows in libnest2d tests
2021-04-21 16:08:38 +02:00
tamasmeszaros
ad19ab219d
New custom backend for libnest2d using libslic3r types
...
Adapted to new clipper->eigen mod
2021-04-21 16:02:25 +02:00
Vojtech Bubnik
542d95a593
Fixing unit tests
2021-04-21 15:31:06 +02:00
Vojtech Bubnik
ba94fa4867
Fixed unit tests.
2021-04-21 13:30:32 +02:00
Vojtech Bubnik
7112ac61b6
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
tamasmeszaros
41a0e270ac
Fix integer overflows in libnest2d tests
2021-04-14 08:51:54 +02:00
tamasmeszaros
f3e3aabec7
Least supports optimization revived.
...
Fix missing include on Win32
Cleanup benchmarking code
2021-04-07 12:51:02 +02:00
tamasmeszaros
4eb13a407f
Extend execution framework with convenience functions
2021-04-07 12:51:02 +02:00
Lukáš Hejl
dd4b26ba25
Fix of 7bd412a2ca
2021-04-05 20:32:41 +02:00
Lukáš Hejl
7bd412a2ca
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
tamasmeszaros
f117d02750
Back-porting improvements for libnest2d
2021-03-31 09:36:54 +02:00
Vojtech Bubnik
ba5e8860cb
Fixing some compilation warnings
2021-03-15 10:36:03 +01:00
Vojtech Bubnik
adcbe4347c
Fixed unit tests.
2021-03-15 09:55:56 +01:00
Vojtech Bubnik
8e27e355c2
Fixing unit tests.
2021-03-15 09:55:56 +01:00
Vojtech Bubnik
ceea9de8b8
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
tamasmeszaros
33d6655f26
Clean up hollowing test
...
Needs rethinking anyway
2021-03-08 17:38:10 +01:00
tamasmeszaros
82954ba715
Group hollowing result (including grid) into one struct
2021-03-08 17:38:10 +01:00
Vojtech Bubnik
5f5de1c812
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
Vojtech Bubnik
5276bd98d7
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
Vojtech Bubnik
db2d78ff21
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
Vojtech Bubnik
5449e6c549
Fixing some compiler warnings on Linux
2021-02-08 11:58:03 +01:00
Vojtech Bubnik
73c9f939e0
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
Vojtech Bubnik
a116914fce
WIP VoronoiOffset: Squash merge of vb_voronoi_offset
...
Working contour offsetting,
skeleton_edges_rough() to detect "important" skeleton edges.
Radius of an inscribed circle along the "important" skeleton edges
changes slowly, therefore these "important" skeleton edges signify
oblong regions possibly needing a gap fill.
2021-01-29 16:34:22 +01:00
Lukas Matena
dc4bdad84a
Fixed some more GCC warnings
2021-01-29 15:17:03 +01:00
Vojtech Bubnik
e78ad6ffa9
Fixing unit tests for supports. After "dont_support_bridges" was fixed
...
for perimeters, no support was rightfully generated for a preset
using a default "dont_support_bridges" = off.
2020-12-11 17:57:49 +01:00
Vojtech Bubnik
bd79036d13
Replaced all "long long" types with int64_t
...
Replaced all "unsigned long long" types with uint64_t.
These "new" types better communicate their meaning and they are
guaranteed to behave the same on all platforms & compilers.
2020-12-10 08:40:15 +01:00
Vojtech Bubnik
9f77335d8a
Updated Catch2 to v2.13.3 to support compilation on OSX11 / ARM
2020-12-01 16:48:59 +01:00