26038 Commits

Author SHA1 Message Date
Filip Sykala - NTB T15p
e9011e100d Add support for peninsulas 2025-02-25 16:41:16 +01:00
Filip Sykala - NTB T15p
fdc9985e50 Add detection and creation of peninsula
with anotation of outline.
2025-02-25 16:41:16 +01:00
Filip Sykala - NTB T15p
08ee5524d5 Modify GUI for searching support generator configuration
Rename config params.
2025-02-25 16:41:16 +01:00
Filip Sykala - NTB T15p
fc6b8a4b65 Transfer Copy constructor of KDTreeIndirect into copy function
Reason: During Linux testing "fff_print_tests" it Fails from time to time.
ASAN version cause issue inside SeamPerimeters.hpp but I am not sure why.
2025-02-25 16:41:16 +01:00
Filip Sykala - NTB T15p
7c2132bdc8 Comment changes which could lead to crash of tests in build enviroment 2025-02-25 16:41:16 +01:00
Filip Sykala - NTB T15p
cd4d75fa7d Fix duplicit point after alignment
+ fix detection if first_neighbor exist in process queue
2025-02-25 16:41:16 +01:00
Filip Sykala - NTB T15p
15f7b23966 Check for loop only when it is not start edge of thin part 2025-02-25 16:41:16 +01:00
Filip Sykala - NTB T15p
3daed2f02d Continue cleaning code
After thin&thic must be at least 2 support points
2025-02-25 16:41:16 +01:00
Filip Sykala - NTB T15p
b84eb1bc66 Rename to UniformSupportIsland 2025-02-25 16:41:16 +01:00
Filip Sykala - NTB T15p
60f15810eb Clean up from unused code 2025-02-25 16:41:16 +01:00
Filip Sykala - NTB T15p
8f51702416 Add sampling of thick part of island with fixes found during debugging test cases. 2025-02-25 16:41:16 +01:00
Filip Sykala - NTB T15p
b49236435b Generate support points on thin part.
Need to fix some tips
2025-02-25 16:41:16 +01:00
Filip Sykala - NTB T15p
e664dd802c Searching for center thin part as start point for sampling 2025-02-25 16:41:16 +01:00
Filip Sykala - NTB T15p
fcd7462403 Add separation of thin and thick part of island 2025-02-25 16:41:16 +01:00
Filip Sykala - NTB T15p
4b1c928129 Field sampling is idependent on translation and rotation of island 2025-02-25 16:41:16 +01:00
Filip Sykala - NTB T15p
3df99c16be Fix warnings:
⚠️ ../src/libslic3r/SLA/SupportIslands/SampleIslandUtils.cpp:1495:68: warning: lambda capture 'tiny_done' is not used [-Wunused-lambda-capture]
⚠️ ../src/libslic3r/SLA/SupportIslands/SampleIslandUtils.cpp:1830:23: warning: unused variable 'line' [-Wunused-variable]
⚠️ ../src/libslic3r/SLA/SupportIslands/SampleIslandUtils.cpp:624:6: warning: unused function 'is_points_in_distance' [-Wunused-function]
⚠️ ../src/libslic3r/SLA/SupportIslands/VoronoiDiagramCGAL.cpp:37:7: warning: unused function 'to_point_d' [-Wunused-function]
⚠️ ../src/libslic3r/SLA/SupportPointGenerator.cpp:359:6: warning: unused function 'exist_same_points' [-Wunused-function]
⚠️ ../src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:813:27: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
⚠️ ../src/slic3r/GUI/Gizmos/GLGizmoSlaSupports.cpp:892:146: warning: format specifies type 'int' but the argument has type 'size_t' (aka 'unsigned long') [-Wformat]
2025-02-25 16:41:16 +01:00
Filip Sykala - NTB T15p
5e0b351f71 Fix for island 40 from "Uniform sample test islands"
Last outline of Fieald is change back into first line
2025-02-25 16:41:16 +01:00
Filip Sykala - NTB T15p
688c614e47 Fix for sampling and enhance visualization. 2025-02-25 16:41:16 +01:00
Filip Sykala - NTB T15p
73f8583e18 Advanced visualization to store island 2025-02-25 16:41:16 +01:00
Filip Sykala - NTB T15p
35948c0361 Fix:
/run/build/PrusaSlicer/src/libslic3r/SLA/SupportIslands/VectorUtils.hpp:34:13: error: ‘iota’ was not declared in this scope
   34 |         iota(idx.begin(), idx.end(), 0);
      |         ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
2025-02-25 16:41:16 +01:00
Filip Sykala - NTB T15p
8794099682 Add option to store islands (some could make an issue this is tool to collect problematic islands) 2025-02-25 16:41:16 +01:00
Filip Sykala - NTB T15p
d3d32c6d7d Fix tests 2025-02-25 16:41:16 +01:00
Filip Sykala - NTB T15p
74db5d1ed2 Add support settings into GUI 2025-02-25 16:41:16 +01:00
Filip Sykala - NTB T15p
02ca74cced Speed up support alignment 2025-02-25 16:41:16 +01:00
Filip Sykala - NTB T15p
ed3178f1c1 Reduce points laying on the outline outline but still more often than field inside for initila sampling
Fix field endings
add check on inner
2025-02-25 16:41:15 +01:00
Filip Sykala - NTB T15p
537c5da543 Add crop line and fix crop ray 2025-02-25 16:41:15 +01:00
Filip Sykala - NTB T15p
f9bc03fb6e Use CGAL voronoi to calculate aligne of support point on the island 2025-02-25 16:41:15 +01:00
Filip Sykala - NTB T15p
5a38e9b4b3 Fix sampling selfconnected thiny part of island sampled on voronoi skelet 2025-02-25 16:41:15 +01:00
LAPTOP-R2AR8CRT\filip
54bc516da6 Fixes of bad merges during rebase
Add missing includes into CMakeLists
IndexMesh change to AABBMesh
construct_voronoi become class function
2025-02-25 16:41:15 +01:00
Filip Sykala - NTB T15p
7216e819b3 Chenge is_last_neighbor to end_in_distance 2025-02-25 16:41:15 +01:00
Filip Sykala - NTB T15p
d26f0358fe Bug Fix 2025-02-25 16:41:15 +01:00
Filip Sykala
ee91e1af31 Fix configuration 2025-02-25 16:41:15 +01:00
Filip Sykala
209bebc82e Fix build 2025-02-25 16:41:15 +01:00
Filip Sykala
5d2b3cfc1e Add outline angle rule to decide when support centre line 2025-02-25 16:41:15 +01:00
Filip Sykala
fe5f9ac382 FIX crop parallel line with y 2025-02-25 16:41:15 +01:00
Filip Sykala
a3d17119f6 Fix aligning
- function belong
- Calculation of move distance on outline

Separate utils tests
2025-02-25 16:41:15 +01:00
Filip Sykala
12b320624b Add filter for end center line support instead of minimal distance. 2025-02-25 16:41:15 +01:00
Filip Sykala
0c9dedcffa Add allignable inner support island point 2025-02-25 16:41:15 +01:00
Filip Sykala
10c05ca01e Align outline points 2025-02-25 16:41:15 +01:00
Filip Sykala
3c4f68fa3f 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
2025-02-25 16:41:15 +01:00
Filip Sykala
cda80cdd0b Fix: Mac os build
../src/libslic3r/SLA/SupportIslands/ExpandNeighbor.cpp:23:63: error: 'value' is unavailable: introduced in macOS 10.14
2025-02-25 16:41:15 +01:00
Filip Sykala
d36e16c9f1 FIX: Add convert Slic3r::Point to Voronoi::point_type
../src/libslic3r/SLA/SupportIslands/ParabolaUtils.cpp:92:22: error: no viable conversion from 'const Slic3r::Point' to 'VD::point_type' (aka 'point_data<double>')
    VD::point_type   source_point = parabola.focus;
                     ^              ~~~~~~~~~~~~~~
../src/libslic3r/SLA/SupportIslands/ParabolaUtils.cpp:39:33: error: no matching constructor for initialization of 'std::vector<VD::point_type>' (aka 'vector<point_data<double> >')
../src/libslic3r/SLA/SupportIslands/ParabolaUtils.cpp:85:33: error: no matching constructor for initialization of 'std::vector<VD::point_type>' (aka 'vector<point_data<double> >')
2025-02-25 16:41:15 +01:00
Filip Sykala
257c285c73 FIX: remove warnings
../src/libslic3r/SLA/SupportIslands/PolygonUtils.cpp:12:10: warning: variable 'is_in_limits' set but not used [-Wunused-but-set-variable]
../src/libslic3r/SLA/SupportIslands/VoronoiGraphUtils.cpp:294:45: warning: unused variable 'success' [-Wunused-variable]
2025-02-25 16:41:15 +01:00
Filip Sykala
49de8d2869 Fix: Anotate unused variable to remove warnings 2025-02-25 16:41:15 +01:00
Filip Sykala
26ec836c12 remove magic enum 2025-02-25 16:41:15 +01:00
Filip Sykala
74ab00eff5 FIX: Slicer point now cast to boost point type by full constructor in parabola utils 2025-02-25 16:41:15 +01:00
Filip Sykala
9c8681f452 Fix: data type for OsX
../src/libslic3r/SLA/SupportIslands/ParabolaUtils.cpp:38:48: error: no matching constructor for initialization of 'std::vector<Voronoi::Internal::point_type>' (aka 'vector<point_data<double> >')
    std::vector<Voronoi::Internal::point_type> parabola_samples(
2025-02-25 16:41:15 +01:00
Filip Sykala
72f0a6e4a7 Fix: revert typedef
PrusaSlicer_With_Asan_Linux/248:
../src/libslic3r/SLA/SupportIslands/VectorUtils.hpp:76:25: error: need 'typename' before 'std::iterator_traits<_II>::value_type' because 'std::iterator_traits<_II>' is a dependent scope
../src/libslic3r/SLA/SupportIslands/VectorUtils.hpp:77:25: error: need 'typename' before 'std::iterator_traits<_Iter>::value_type' because 'std::iterator_traits<_Iter>' is a dependent scope
../src/libslic3r/SLA/SupportIslands/VectorUtils.hpp:78:24: error: need 'typename' before 'std::iterator_traits<_Iter>::difference_type' because 'std::iterator_traits<_Iter>' is a dependent scope
...
2025-02-25 16:41:15 +01:00
Filip Sykala
381c9d8fb4 Fix: Linux Warnings 2025-02-25 16:41:15 +01:00
Filip Sykala
2362532675 Fix: include from parent directory (linux build) 2025-02-25 16:41:15 +01:00