Commit Graph

9 Commits

Author SHA1 Message Date
Lukas Matena
b1145df566 Fixed incorrect filtering of extrusions during gcode generation
The behaviour resulted in duplicate extrusions in some cases
Fix of #3665
2020-02-18 09:52:34 +01:00
bubnikv
9038dc21e8 Fixing regression issue after G-code export refactoring. 2020-01-10 15:51:35 +01:00
bubnikv
de70adca9c Optimization of G-code export: Don't make copies of ExtrusionEntities
when sorting them into Extruders / Islands / Regions.
2020-01-09 10:00:48 +01:00
bubnikv
98a71a557b Ported test_support_material.cpp from upstream slic3r.
Ported extension of ExtrusionEntityCollection::flatten() to disable
flattening of no_sort() collections.
2019-10-17 19:09:24 +02:00
bubnikv
331c187b39 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
bubnikv
41495a932a 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
bubnikv
83b6b82188 Refactored ExtrusionEntityCollection::flatten() 2019-09-16 16:35:08 +02:00
bubnikv
15c8b579b2 Refactoring of ExtrusionEntity / ExtrusionEntityCollection:
Iterator loops replaced with C++11 loops.
Fixed clone() methods to return an ExtrusionEntity*.
PerimeterGenerator now uses move semantics on ExtrusionEntity a little
bit more.
2019-09-11 13:25:50 +02:00
bubnikv
0558b53493 WIP: Moved sources int src/, separated most of the source code from Perl.
The XS was left only for the unit / integration tests, and it links
libslic3r only. No wxWidgets are allowed to be used from Perl starting
from now.
2018-09-19 11:02:24 +02:00