package org.lucci.madhoc.gui.aircraft;
import java.awt.BasicStroke;
import java.awt.Color;
import java.util.Iterator;
import org.lucci.madhoc.network.Station;
import org.lucci.madhoc.network.net.Location;
import org.lucci.madhoc.network.net.NetworkInterface;
import org.lucci.up.data.DataElement;
import org.lucci.up.data.rendering.point.CirclePointRenderer;
import org.lucci.up.system.Space;
public class CircleSignalRenderer extends CirclePointRenderer
{
boolean fill = false;
public CircleSignalRenderer()
{
setStroke(new BasicStroke(0.1f));
}
public void drawImpl(DataElement object, Space space)
{
Location point = (Location) object;
Station node = point.getComputer();
Iterator networkInterfaceIterator = node.getNetworkingUnit().getNetworkInterfaces().iterator();
while (networkInterfaceIterator.hasNext())
{
NetworkInterface networkAdapter = (NetworkInterface) networkInterfaceIterator.next();
int pixelRadius = (int) (networkAdapter.getCoverageRadius() / space.getXDimension().getLogicalIntervalRepresentedByOnePixel());
if (pixelRadius > 0)
{
setRadius(pixelRadius);
Color nc = networkAdapter.getNetworkingTechnology().getColor();
Color c = new Color(nc.getRed(), nc.getGreen(), nc.getBlue(), 20);
setColor(c);
if (isFill())
{
setFillColor(getColor());
}
else
{
setFillColor(null);
}
super.drawImpl(object, space);
}
}
}
public String toString()
{
return "circle";
}
public boolean isFill()
{
return fill;
}
public void setFill(boolean fill)
{
this.fill = fill;
}
}