public void writePolygonsByOptimizer(Polygons polygons, GCodePathConfig config) { PathOrderOptimizer orderOptimizer = new PathOrderOptimizer(lastPosition); orderOptimizer.AddPolygons(polygons); orderOptimizer.Optimize(config); for (int i = 0; i < orderOptimizer.bestPolygonOrderIndex.Count; i++) { int polygonIndex = orderOptimizer.bestPolygonOrderIndex[i]; writePolygon(polygons[polygonIndex], orderOptimizer.startIndexInPolygon[polygonIndex], config); } }
public void QueuePolygonsByOptimizer(Polygons polygons, GCodePathConfig config) { if (polygons.Count == 0) { return; } PathOrderOptimizer orderOptimizer = new PathOrderOptimizer(LastPosition); orderOptimizer.AddPolygons(polygons); orderOptimizer.Optimize(config); for (int i = 0; i < orderOptimizer.bestIslandOrderIndex.Count; i++) { int polygonIndex = orderOptimizer.bestIslandOrderIndex[i]; QueuePolygon(polygons[polygonIndex], orderOptimizer.startIndexInPolygon[polygonIndex], config); } }
public bool QueuePolygonsByOptimizer(Polygons polygons, PathFinder pathFinder, GCodePathConfig config, int layerIndex) { if (polygons.Count == 0) { return(false); } PathOrderOptimizer orderOptimizer = new PathOrderOptimizer(LastPosition); orderOptimizer.AddPolygons(polygons); orderOptimizer.Optimize(pathFinder, layerIndex, config); for (int i = 0; i < orderOptimizer.bestIslandOrderIndex.Count; i++) { int polygonIndex = orderOptimizer.bestIslandOrderIndex[i]; QueuePolygon(polygons[polygonIndex], orderOptimizer.startIndexInPolygon[polygonIndex], config); } return(true); }
public void QueuePolygonsByOptimizer(Polygons polygons, GCodePathConfig config) { PathOrderOptimizer orderOptimizer = new PathOrderOptimizer(LastPosition); orderOptimizer.AddPolygons(polygons); orderOptimizer.Optimize(config); for (int i = 0; i < orderOptimizer.bestIslandOrderIndex.Count; i++) { int polygonIndex = orderOptimizer.bestIslandOrderIndex[i]; QueuePolygon(polygons[polygonIndex], orderOptimizer.startIndexInPolygon[polygonIndex], config); } }