29 Commits

Author SHA1 Message Date
Filip Sykala
c718700629 Merge branch 'master' into fs_align_supports
# Conflicts:
#	src/libslic3r/CMakeLists.txt
#	src/libslic3r/Geometry.hpp
#	tests/sla_print/CMakeLists.txt
#	tests/sla_print/sla_print_tests.cpp
2022-02-23 18:57:08 +01:00
Vojtech Bubnik
cf7b6fb19a Extracted MedialAxis code from Geometry.cpp/hpp, moved to its own
files to Geometry/
Moved other Voronoi files to Geometry/
2021-10-27 16:03:04 +02:00
Filip Sykala
61a30f2b64 Fix: change .value() connected with optional to dereferece by *
Os X do NOT support std::optional::value()
PrusaSlicer_OsX_Mojave:
../src/libslic3r/SLA/SupportIslands/ExpandNeighbor.cpp:23:50: error: 'value' is unavailable: introduced in macOS 10.14
2021-04-26 16:26:08 +02:00
Filip Sykala
8b1fe2281a Fix: Linux Warnings 2021-04-23 12:45:23 +02:00
Filip Sykala
30e5b54834 Fix: Add necessary include 2021-04-22 10:30:24 +02:00
Filip Sykala
be42c506fb No necessary changes return back 2021-04-21 19:17:28 +02:00
Filip Sykala
650ef92f60 visualization inside of test with macro 2021-04-21 17:31:36 +02:00
Filip Sykala
0bc6815175 Merge branch 'master' into fs_CenterSupportForIsland
# Conflicts:
#	src/libslic3r/Geometry.hpp
#	tests/libslic3r/test_voronoi.cpp
2021-04-21 10:23:49 +02:00
Lukáš Hejl
dd4b26ba25 Fix of 7bd412a2cabaf1068b21dee87ce37b67dcd3a912 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
Filip Sykala
bdbc909d9e Support island points are generated as unique ptr for option to move with them
+ add fix for cell 2 polygon transformation
2021-03-26 16:57:03 +01:00
Filip Sykala
4a4670eb20 Clean up voronoi test 2021-02-25 16:14:18 +01:00
Filip Sykala
f11cf29416 separate Voronoi graf and searching longest path into own files 2021-02-25 16:10:17 +01:00
Filip Sykala
068ab2cf1b Merge branch 'master' into fs_CenterSupportForIsland 2021-02-24 13:23:02 +01:00
Filip Sykala
179115eb75 Recursive function with data stored on heap 2021-02-24 13:22:50 +01:00
Filip Sykala
5c2e368f7c Convert recursion function into stack calls 2021-02-23 18:20:27 +01:00
Filip Sykala
4baac072df side branches are stored inside priority_queue 2021-02-23 09:45:48 +01:00
Filip Sykala
3ea090d75b Longest path in multi circles searching 2021-02-22 18:17:30 +01:00
Filip Sykala
3d5d6e3cb7 Optimize speed of recursion function 2021-02-19 14:52:50 +01:00
Filip Sykala
a9113aa1b9 Longest path is working(but not on multi circle)
Problem with Stack overFlow
2021-02-17 17:36:29 +01:00
Filip Sykala
41b14fd890 Add Test - Sanoke small isnalds
by voronoi diagram
  test cases for: square, triangle, sharp_triangle, rect, rect_with_hole
2021-02-12 17:46:50 +01:00
Vojtech Bubnik
5449e6c549 Fixing some compiler warnings on Linux 2021-02-08 11:58:03 +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
Vojtech Bubnik
3cfccf1a5a Fixed unit tests broken with 3502f256fac0d0793f8314a7ab4a2788e93d74f8 2020-10-29 12:39:03 +01:00
Vojtech Bubnik
851ebc7991 fix of previous commit, missing include 2020-06-16 14:00:25 +02:00
Vojtech Bubnik
b101a8e266 Fixes of the offset curves from Voronoi diagram.
The offset curve extractor is already quite usable,
though singular cases are still not covered yet
when the offset curve intersects or nearly intersects
a Voronoi vertex.

Removal of the PRINTF_ZU "%zu" Visual Studio printf compatibility macro.
Fixes of a contours self intersection test for collinear segments.
SVG exporter now exports white background, so that the GNOME Eye viewer is usable.
2020-06-16 13:15:48 +02:00
Vojtech Bubnik
1c95ceaeaa Reworked algorithm for Voronoi Offset curve extraction.
Now the algorithm is very different from the OpenVoronoi implementation
and hopefully it is now correct (save numerical issues, which will be
a big PITA).
2020-06-11 16:11:02 +02:00
Vojtech Bubnik
6f4d24ab95 WIP: Generating offset curves with properly rounded corners from
a Voronoi diagram. Curve extraction is based on the OpenVoronoi implementation.
2020-06-04 13:50:09 +02:00
Vojtech Bubnik
6f92538c20 BoundingBox support for Lines,
BoundingBox constructor will no more throw for empty vector of points.

GMP allowed for Vojtech's fork of boost::polygon Voronoi implementation.

Added libslic3r tests for boost::polygon Voronoi. All Voronoi issues
ever reported on the Internet are captured by the tests. Two issues
reported (the two test cases) are real issues which may influence
PrusaSlicer negatively, namely

https://github.com/boostorg/polygon/issues/43
2020-05-28 15:53:53 +02:00