Commit Graph

8 Commits

Author SHA1 Message Date
bubnikv
156c7cdfaf Fixing C++ issues, that the Visual Studio compiler did not report. 2019-09-27 19:18:35 +02:00
bubnikv
4c9a31236b Merge branch 'master' of https://github.com/Prusa3d/PrusaSlicer 2019-09-27 18:23:36 +02:00
bubnikv
ce217b6222 Rest of the path chaining has been replaced with the new algorithm.
PolylineCollection.cpp/hpp was removed, use Polylines instead.
Various first_point() / last_point() now return references, not copies.
2019-09-27 18:17:21 +02:00
Lukas Matena
d0016b9c1f Several fixes of previous commits related to KDTreeIndirect.hpp and ShortestPath.cpp/.hpp 2019-09-27 13:30:07 +02:00
bubnikv
f5d48d90a7 Fix of G-code path planning: Infill lines were incorrectly ordered
for islands with another islands in their holes.

Improvement of chaining of infill lines for 3D honeycomb, Gyroid and
Honeycomb infill: New TSP chaining algorithm is used.
2019-09-27 09:51:07 +02:00
bubnikv
5e0e360e07 WIP: Consolidation of shortest path calculations,
various chaining algorithms are replaced with the improved TSP
algorithm.
2019-09-26 17:30:03 +02:00
bubnikv
702c06d4b6 Reworked Traveling Salesman Problem code for simplicity and robustness.
The TSP algorithm is newly used for planning of the printing order
of objects AND their instances.
2019-09-26 16:39:50 +02:00
bubnikv
8a8894e172 Introduction of a greedy Traveling Salesman Problem algorithm,
producing better shortest path estimate than the "closest next neighbor"
heuristics. The new greedy algorithm utilizes KD tree for closest
end point search, and builds a graph to detect loops.

PerimeterGenerator newly uses the optimized TSP algorithm.

ExtrusionEntity has been refactored / simplified.
2019-09-26 09:44:38 +02:00