38 lines
940 B
Java
38 lines
940 B
Java
package org.insa.algo.weakconnectivity;
|
|
|
|
import java.awt.Color;
|
|
import java.util.ArrayList;
|
|
|
|
import org.insa.drawing.Drawing;
|
|
import org.insa.graph.Node;
|
|
|
|
public class WeaklyConnectedComponentGraphicObserver implements WeaklyConnectedComponentObserver {
|
|
|
|
private static final Color[] COLORS = { Color.BLUE, Color.ORANGE, Color.GREEN, Color.YELLOW, Color.RED };
|
|
|
|
// Drawing + Graph drawing
|
|
private Drawing drawing;
|
|
|
|
// Current index color
|
|
private int cindex = -1;
|
|
|
|
public WeaklyConnectedComponentGraphicObserver(Drawing drawing) {
|
|
this.drawing = drawing;
|
|
}
|
|
|
|
@Override
|
|
public void notifyStartComponent(Node curNode) {
|
|
cindex = (cindex + 1) % COLORS.length;
|
|
}
|
|
|
|
@Override
|
|
public void notifyNewNodeInComponent(Node node) {
|
|
this.drawing.drawPoint(node.getPoint(), 1, COLORS[cindex]);
|
|
}
|
|
|
|
@Override
|
|
public void notifyEndComponent(ArrayList<Node> nodes) {
|
|
}
|
|
|
|
}
|