Vojtech Bubnik
09a1eebaf8
Avoid crossing perimeters max detour could newly be specified
...
in percentage of the direct path.
2020-12-14 12:45:49 +01:00
Lukáš Hejl
9cfd9d4cbe
External paths avoid crossing perimeters of holes
2020-12-03 09:43:21 +01:00
Lukáš Hejl
1d4934b076
Fixed compiler warnings
2020-11-29 17:29:11 +01:00
Lukáš Hejl
358ad84acd
Fixed case when lslices in Layer is empty
2020-11-29 17:26:02 +01:00
Lukáš Hejl
0d4f8b20c4
Revamp of implementation of the avoid crossing perimeters algorithm.
...
The strategy for the avoid crossing perimeters algorithm has been redesigned. But external travels (travel between objects or supports) have not been solved yet. For these travels is used a direct path between two points.
Much of the code has been reworked, which leads to significant speedup compared to the previous implementation.
Also, several potential bugs have been fixed.
2020-11-29 13:58:36 +01:00
Vojtech Bubnik
5f8d4e988e
Little more refactoring.
2020-11-20 11:56:40 +01:00
Vojtech Bubnik
73d3ce2080
Avoid crossing perimeters: Further refactoring for clarity, code review.
2020-11-17 15:34:50 +01:00
Vojtech Bubnik
09aea4437d
AvoidCrossingPerimeters: Refactored for better encapsulation.
2020-11-17 10:42:27 +01:00
Vojtech Bubnik
5ead86bdea
Removed the old motion planner.
2020-11-17 09:33:30 +01:00
Lukáš Hejl
8649a8fd44
Enable previous heuristics which was disabled by mistake
2020-11-16 14:37:42 +01:00
Lukáš Hejl
7470fcbc64
Add heuristics for removing unnecessary detours
2020-11-16 14:22:32 +01:00
Lukáš Hejl
90d58fecee
Add missing includes
2020-11-16 14:22:32 +01:00
Lukáš Hejl
1179146d3f
Fix another compiler warning
2020-11-16 14:22:32 +01:00
Lukáš Hejl
deb096c609
Fix compiler warnings
2020-11-16 14:22:32 +01:00
Lukáš Hejl
f1a104c701
Rework of outer borders to reduce unnecessary detours along the border.
...
The resulting path now contains all intersection with borders, which allows eliminating more unnecessary detours and more simplify the path.
2020-11-16 14:22:32 +01:00
Lukáš Hejl
e14fb6c18a
Disabling wipe for avoid crossing perimeters
2020-11-16 14:22:32 +01:00
Lukáš Hejl
61d4992338
Fixed perimeters crossing when supports are printed.
2020-11-16 14:22:32 +01:00
Lukáš Hejl
5a200c2d21
Fixed division by zero when the layer is empty
2020-11-16 14:22:32 +01:00
Lukáš Hejl
e648ca12ef
Fixed avoiding of other printed objects, again
...
Calling std::move on itself causes that the first polygon is empty, which results in disabling this feature on Linux.
This was fixed before, but I accidentally reverted it when AvoidCrossingPerimeters was moved to separate file.
2020-11-16 14:22:32 +01:00
Lukáš Hejl
2b2e9a8ce2
Moved AvoidCrossingPerimeters to separate file
2020-11-16 14:22:32 +01:00