Lukáš Hejl
98055de28c
External paths avoid crossing perimeters of holes
2020-12-03 09:43:21 +01:00
Lukáš Hejl
f917b83706
Fixed compiler warnings
2020-11-29 17:29:11 +01:00
Lukáš Hejl
dd97eaa812
Fixed case when lslices in Layer is empty
2020-11-29 17:26:02 +01:00
Lukáš Hejl
55c282d85d
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
060f1d48c1
Little more refactoring.
2020-11-20 11:56:40 +01:00
Vojtech Bubnik
f206b743fd
Avoid crossing perimeters: Further refactoring for clarity, code review.
2020-11-17 15:34:50 +01:00
Vojtech Bubnik
62ab17bf6e
AvoidCrossingPerimeters: Refactored for better encapsulation.
2020-11-17 10:42:27 +01:00
Vojtech Bubnik
04c2fde671
Removed the old motion planner.
2020-11-17 09:33:30 +01:00
Lukáš Hejl
49ce613be7
Enable previous heuristics which was disabled by mistake
2020-11-16 14:37:42 +01:00
Lukáš Hejl
c702b3b71d
Add heuristics for removing unnecessary detours
2020-11-16 14:22:32 +01:00
Lukáš Hejl
9936b8e34e
Add missing includes
2020-11-16 14:22:32 +01:00
Lukáš Hejl
3db66af716
Fix another compiler warning
2020-11-16 14:22:32 +01:00
Lukáš Hejl
266e6dee5d
Fix compiler warnings
2020-11-16 14:22:32 +01:00
Lukáš Hejl
c00c7eaed3
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
ef9de07740
Disabling wipe for avoid crossing perimeters
2020-11-16 14:22:32 +01:00
Lukáš Hejl
7f94e9fa59
Fixed perimeters crossing when supports are printed.
2020-11-16 14:22:32 +01:00
Lukáš Hejl
2afeea5b6f
Fixed division by zero when the layer is empty
2020-11-16 14:22:32 +01:00
Lukáš Hejl
3e98e2a4bd
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
8adf02a289
Moved AvoidCrossingPerimeters to separate file
2020-11-16 14:22:32 +01:00