52 lines
1.1 KiB
Java
52 lines
1.1 KiB
Java
package org.insa.drawing.graph;
|
|
|
|
import java.awt.Color;
|
|
|
|
import org.insa.drawing.Drawing;
|
|
import org.insa.graph.Arc;
|
|
import org.insa.graph.Path;
|
|
|
|
public class PathDrawing {
|
|
|
|
// Default color
|
|
public static final Color DEFAULT_PATH_COLOR = new Color(255, 0, 255);
|
|
|
|
// Drawing
|
|
private Drawing drawing;
|
|
private GraphDrawing graphDrawing;
|
|
|
|
/**
|
|
* @param drawing
|
|
*/
|
|
public PathDrawing(Drawing drawing) {
|
|
this.drawing = drawing;
|
|
this.graphDrawing = new GraphDrawing(drawing);
|
|
}
|
|
|
|
/**
|
|
* Draw the given path with the given color.
|
|
*
|
|
* @param path
|
|
* @param color
|
|
*/
|
|
public void drawPath(Path path, Color color) {
|
|
this.graphDrawing.drawPoint(path.getFirstNode().getPoint(), 4, color);
|
|
this.drawing.setColor(color);
|
|
this.drawing.setWidth(2);
|
|
for (Arc arc: path.getArcs()) {
|
|
this.graphDrawing.drawArc(arc, false);
|
|
}
|
|
this.graphDrawing.drawPoint(path.getLastNode().getPoint(), 4, color);
|
|
}
|
|
|
|
/**
|
|
* Draw the given path with default color.
|
|
*
|
|
* @param path
|
|
*/
|
|
public void drawPath(Path path) {
|
|
drawPath(path, DEFAULT_PATH_COLOR);
|
|
drawing.repaint();
|
|
}
|
|
|
|
}
|