public SolutionDrawing(InstanceDrawing pinstanceDrawing, PMedian pPMedian) { instanceDrawing = pinstanceDrawing; pMedian = pPMedian; pen = new Pen(ColorProgression.getColor(OBJECT_COLOR.ARROW_LINK)); this.graphics = new Graphics[this.pMedian.getInstanceGenerator().getInstanceConfig().time_periods]; this.image = new Image[this.pMedian.getInstanceGenerator().getInstanceConfig().time_periods]; for (int t = 0; t < pMedian.getInstanceGenerator().getInstanceConfig().time_periods; t++) { //this.image[t] = new Bitmap((int)(pMedian.getInstanceGenerator().getInstanceConfig().x_dim * instanceDrawing.getDrawingSettings().board_radius_factor), (int)(pMedian.getInstanceGenerator().getInstanceConfig().y_dim * instanceDrawing.getDrawingSettings().board_radius_factor)); this.image[t] = (Image)this.instanceDrawing.getImage().Clone(); this.graphics[t] = Graphics.FromImage(this.image[t]); } }
private void draw_node_designations() { for (int t = 0; t < pMedian.getInstanceGenerator().getInstanceConfig().time_periods; t++) { for (int j = 0; j < pMedian.getInstanceGenerator().getInstanceConfig().n_depots; j++) { Point dnode_point = new Point(pMedian.getInstanceGenerator().depot_node[j].x, pMedian.getInstanceGenerator().depot_node[j].y); for (int i = 0; i < pMedian.getInstanceGenerator().getInstanceConfig().n_nodes; i++) { if (pMedian.getVariableGenerator().customer_depot_designation[i, j, t].X > 0.5) { this.graphics[t].DrawLine(this.pen, new Point(pMedian.getInstanceGenerator().customer_node[i].x, pMedian.getInstanceGenerator().customer_node[i].y), dnode_point); this.graphics[t].DrawString(pMedian.getInstanceGenerator().customer_node[i].group.ToString()[0].ToString(), new Font(FontFamily.GenericSansSerif, 10), new SolidBrush((Color)ColorProgression.getColor(pMedian.getInstanceGenerator().customer_node[i].group)), pMedian.getInstanceGenerator().customer_node[i].x, pMedian.getInstanceGenerator().customer_node[i].y); } } } } }