8 Commits

Author SHA1 Message Date
Jan Bařtipán
2b01d14f7b Catch2 updated to v3.8, all tests migrated 2025-02-06 15:55:09 +01:00
Martin Šach
a91a7d6b0e Better detection of bridge orientation.
Before, partial bridges were calculated. For each of these an angle
has been choosen and after that all the bridges have been merged.
Becouse of the merge a single angle had to be picked.
The first angle that the algorithm has stumbled upon has been picked,
resulting in sub-optimal bridging directions.

Now the partial bridges are calcualted, then merged and then
the angle is decided over the whole merged bridge.
This approach at least ensures that the orientation is the best possible
for the merged bridge.
2024-07-17 14:14:45 +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