be-graphes/src/main/org/insa/graphics/drawing/BasicGraphPalette.java
2018-03-01 13:35:11 +01:00

103 lines
2.3 KiB
Java

package org.insa.graphics.drawing;
import java.awt.Color;
import org.insa.graph.Arc;
import org.insa.graph.RoadInformation.RoadType;
public class BasicGraphPalette implements GraphPalette {
// Color types for arc.
static final Color motorway = Color.RED;
static final Color bigroad = new Color(255, 105, 0);
static final Color smallroad = new Color(255, 234, 0);
static final Color coastline = Color.BLUE;
// Default point width
static final int DEFAULT_POINT_WIDTH = 1;
/**
*
*/
public BasicGraphPalette() {
}
@Override
public int getDefaultPointWidth() {
return 2;
}
@Override
public Color getDefaultPointColor() {
return Color.GREEN;
}
@Override
public Color getColorForArc(Arc arc) {
RoadType type = arc.getRoadInformation().getType();
Color color = Color.BLACK;
switch (type) {
case MOTORWAY:
color = motorway;
break;
case TRUNK:
case PRIMARY:
case SECONDARY:
case MOTORWAY_LINK:
case TRUNK_LINK:
case PRIMARY_LINK:
color = bigroad;
break;
case SECONDARY_LINK:
case TERTIARY:
case RESIDENTIAL:
case UNCLASSIFIED:
case ROAD:
case LIVING_STREET:
case SERVICE:
case ROUNDABOUT:
color = smallroad;
break;
case COASTLINE:
color = coastline;
break;
}
return color;
}
@Override
public int getWidthForArc(Arc arc) {
RoadType type = arc.getRoadInformation().getType();
int width = 1;
switch (type) {
case MOTORWAY:
width = 2;
break;
case TRUNK:
case PRIMARY:
case SECONDARY:
case MOTORWAY_LINK:
case TRUNK_LINK:
case PRIMARY_LINK:
width = 1;
break;
case SECONDARY_LINK:
case TERTIARY:
case RESIDENTIAL:
case UNCLASSIFIED:
case ROAD:
case LIVING_STREET:
case SERVICE:
case ROUNDABOUT:
width = 1;
break;
case COASTLINE:
width = 4;
break;
}
return width;
}
}