static private IEnumerable <Bitmap> DrawSolution(ISolution solution, IOptimizationAlgorithm optimizer) { yield return((solution as VehicleRoutingSolution)?.Draw()); yield return((solution as TspSolution)?.Draw()); yield return((solution as FloorplanSolution)?.Draw()); yield return(DrawCostDiagram.Draw(optimizer, new BitmapStyle())); }
private void DrawVehicleRoutingCostAsync() { if (vehicleRoutingOptimizer?.CurrentSolution?.IsFinal ?? false) { vehicleRoutingCostDrawTask.Wait(); } if (vehicleRoutingCostDrawTask?.IsCompleted ?? true) { vehicleRoutingCostDrawTask = Task.Factory.StartNew(() => { rightCostImage = DrawCostDiagram.Draw(vehicleRoutingOptimizer, costStyle, 30000); Invalidate(); }); } }
private void DrawTspCostAsync() { if (tspOptimizer?.CurrentSolution?.IsFinal ?? false) { tspCostDrawTask.Wait(); } if (tspCostDrawTask?.IsCompleted ?? true) { tspCostDrawTask = Task.Factory.StartNew(() => { leftCostImage = DrawCostDiagram.Draw(tspOptimizer, costStyle, 30000); Invalidate(); }); } }