391 Commits

Author SHA1 Message Date
Martin Šach
21116995d7 Refactor CMake and improve #includes.
* 1. Remove all global include_directories.
* 2. Move 3d party dependencies from src to budled deps if possible.
* Unify and enforce one way of including headers:
    e.g. #include "libslic3r/GCode.hpp" vs #include "GCode.hpp"
    (always use the "libslic3r/GCode.hpp" option).
* Make all dependencies (also header only) a cmake target.
2024-07-08 15:36:46 +02:00
Lukáš Hejl
669c931b77 SPE-2298: Fix crash caused by a numerical issue during testing if a Voronoi vertex is inside a corner of a polygon. 2024-06-18 07:50:04 +02:00
Lukáš Hejl
c44ffed475 SPE-2298: Add detection of Voronoi diagram with parabolic edge without a focus point. 2024-06-18 07:50:04 +02:00
Lukáš Hejl
4de0fdebda Enable most of the Voronoi diagram test cases because most of them are correctly detected and handled. 2024-06-18 07:50:03 +02:00
Lukáš Hejl
2de1f3aa45 SPE-2256: Fix the issue that we used the old Voronoi graph during the detection of invalid Voronoi diagrams.
This happens because we didn't set a modified flag that is required to be set before we use the new Voronoi graph.
Possibly related to #12385
2024-04-30 12:48:46 +02:00
Martin Šach
78cd2f9e68 Move IndexRange.hpp to LayerRegion.hpp and fix warnings 2024-03-05 14:35:41 +01:00
Martin Šach
555424ffbb Fix test of layer region expansion - angle can be N * pi, not just 0. 2024-03-05 14:35:41 +01:00
Martin Šach
bb2186cbcf Refactor: expand_merge_surfaces now uses expansion_zones.
This enables addition of other expansion zones in the future.
For example to make sure bridges are anchored properly even
if there is top fill next to them.
2024-03-05 14:35:41 +01:00
Martin Šach
4d0bae1d3f Refactor: Move bridge expansion to separate function.
This will enable using it in the other expansion calls.
2024-03-05 14:35:41 +01:00
Martin Šach
81d9724436 Refactor: Allow any number of expansion zones in expand_bridges.
Split the function expand_bridges_detect_orientations into
multiple functions. And allow any number of expansion zones
by using a vector instead of explicitly listing the
parameters.
2024-03-05 14:35:41 +01:00
Martin Šach
9797110a96 Refactor: Move "LayerRegion" to separate header and add a test.
Move declarations associated with LayerRegion to a separate header file.
Add test for bridge surface expansion to enable further refactoring.
2024-03-05 14:35:40 +01:00
Lukáš Hejl
8784ca0ecf SPE-1729: Try to compute the Voronoi diagram again on modified ExPolygon when an invalid Voronoi diagram is produced during the calculation of the medial axis.
There are several ExPolygons with very thin lines and holes formed by very close (1-5nm) vertices that are on the edge of our resolution. Those thin lines and holes are both unprintable and cause the Voronoi diagram to be invalid.
So, we filtered out such thin lines and holes and tried to compute the Voronoi diagram again.
2024-02-08 15:40:20 +01:00
Lukáš Hejl
fb84f3113a Introduce wrapper class around boost::polygon::voronoi_diagram. 2024-02-08 15:40:02 +01:00
Martin Šach
6b0dcc658d Fix narrowing conversion and memory leak in tests 2024-01-08 10:27:38 +01:00
Martin Šach
6b01ae30db Rewrite xs/t/15_config.t to c++. 2024-01-08 10:27:38 +01:00
Martin Šach
9164dd55e6 Rewrite xs/t/09_polyline.t to c++ 2024-01-08 10:27:38 +01:00
Martin Šach
37a707b05f Rewrite xs/t/03_point.t to c++ 2024-01-08 10:27:38 +01:00
Martin Šach
f78ab3e788 Rewrite xs/t/10_line.t to c++ 2024-01-08 10:27:38 +01:00
Lukáš Hejl
da88c2affc Silence the warning about the unused total_extrusion_length in Arachne tests. 2024-01-04 10:22:27 +01:00
Lukáš Hejl
a27aea4598 Remove the unused variable new_radius in Arc Welder tests. 2024-01-04 10:22:27 +01:00
Martin Šach
e8064cdb14 Refactor: SupportSpotsGenerator integrals implementation improvements.
Split Integrals constructor to accept polygon and polygons.
Add operator+(Integrals, Integrals).
Make sure extrusion extraction for integral calculation throws in invalid case.
2023-12-01 09:28:21 +01:00
Martin Šach
782fa47791 Remove usage of polygons_covered_by_width.
In SupportSpotsGenerator there is a need to compute integral over
extrusions.
The mentioned function is slow for this use case. As it solves a harder
problem.
It is better to iterate the extrusion lines directly.
2023-12-01 09:28:21 +01:00
Filip Sykala - NTB T15p
894e88a503 Set svg file data as optional in emboss shape (text do not contain it) 2023-11-01 18:23:28 +01:00
Lukáš Hejl
6df4891e6c SPE-1837: Fixed issue when perimeters weren't generated with Arachne. 2023-10-31 10:03:17 +01:00
Martin Šach
b45e9d2830 Fix: Give more space for a rounding error to a supports spots generator test.
There was a test that relied on randomness and also checked the result
with very hight precision. That led to a failed test once upon a time.
Now the checking is more benevolent (it should be, as the code is
not expected to be precise) and also the randomness is removed.
2023-10-20 10:27:28 +02:00
Filip Sykala - NTB T15p
2316abd109 ../tests/libslic3r/test_emboss.cpp:202:34: error: ‘intersection_points’ was not declared in this scope; did you mean ‘intersections_prev’? 2023-10-17 11:21:25 +02:00
Filip Sykala - NTB T15p
70460ae790 Fix Healing of SVG shape for overlapped contour points in thin "bay".
SVG from @LukasMatena
2023-10-11 15:01:29 +02:00
Filip Sykala - NTB T15p
76c23fd9ff Merge branch 'master' into fs_svg_SPE-1517
# Conflicts:
#	src/slic3r/GUI/GUI_Factories.cpp
2023-10-03 15:32:11 +02:00
Lukas Matena
af7230e496 Rename 'NetFabb' to 'Windows repair algorithm' (related to #11199) 2023-10-03 15:14:14 +02:00
Filip Sykala - NTB T15p
af520bc787 Merge branch 'master' into fs_svg_SPE-1517 2023-10-02 16:16:37 +02:00
tamasmeszaros
f83abb09dc Merge branch 'tm_fix_static_map_build' 2023-10-02 12:48:50 +02:00
tamasmeszaros
4025a55c4f Fix build on Mac 2023-10-02 12:48:23 +02:00
Vojtech Bubnik
5fede09c13 Fixing compilation on GCC 2023-10-02 10:32:48 +02:00
Vojtech Bubnik
a0441dac14 ArcWelder:
Reducing the chance of creating segments shorter than G-code quantization
distance.
Improving fitting by non-linear least squares.
2023-10-02 09:59:06 +02:00
tamasmeszaros
11893ed0c1 Don't build static map tests as they fail on multiple platforms 2023-10-02 09:43:24 +02:00
tamasmeszaros
82a7ff7f4e Re-enable static map tests 2023-10-02 08:47:59 +02:00
tamasmeszaros
23b041e222 Add StaticSet and StaticMap to allow global constant dictionaries 2023-09-29 11:58:05 +02:00
Filip Sykala - NTB T15p
4ea9a250ba Merge branch 'master' into fs_svg_SPE-1517 2023-09-27 10:08:33 +02:00
Martin Šach
003232dfb6 Add tests for SupportSpotsGenerator::ObjectPart construction.
Ensuring that ObjectParts in SupportSpotsGenerator are properly
generated from slice is crucial for any further computations.
2023-09-26 16:11:19 +02:00
Martin Šach
13579fff45 Move definitons to header in the SupportSpotsGenerator.
Moving the definitions to a header file will enable testing the
functions involved.
2023-09-26 16:11:19 +02:00
Filip Sykala - NTB T15p
2aafec0576 Merge branch 'master' into fs_svg_SPE-1517 2023-09-26 15:06:56 +02:00
Lukas Matena
11273b29ac Fixed compiler warnings 2023-09-26 14:24:23 +02:00
Filip Sykala - NTB T15p
5da14c491e Merge branch 'master' into fs_svg_SPE-1517 2023-09-26 13:34:28 +02:00
Martin Šach
6164051d60 Use proper formula for second moment of area.
SupportSpotsGenerator originally used a heuristic formula. Current
formula is properly derived using known properties of
second moment of area. Several tests of this formula are added.
2023-09-22 13:30:05 +02:00
Filip Sykala - NTB T15p
1b62121c97 Fix of Point coord overflow(double scaled int) in test
Should fix MAC build
2023-09-15 09:46:19 +02:00
Filip Sykala - NTB T15p
255081e342 Merge branch 'master' into fs_svg_SPE-1517 2023-09-13 21:53:59 +02:00
Filip Sykala - NTB T15p
3421a9298a Remove depricated variable
+ read old staff in separate 3mf function
2023-09-13 11:56:37 +02:00
Filip Sykala - NTB T15p
e40b798ef6 Fix scale in test 2023-09-05 14:32:09 +02:00
Filip Sykala - NTB T15p
96618d684f Emboss Stroke(contour of paths from svg)
Do not support yet:
 - Markers(start sybol, end symbol, middle symbols)
 - Dashes
2023-08-31 16:41:21 +02:00
Vojtech Bubnik
3cfe2f4a3a Merge branch 'vb_arc_welder' into master_262 2023-08-28 15:50:00 +02:00