package org.opentrafficsim.demo.ntm.animation; import java.awt.BasicStroke; import java.awt.Color; import java.awt.Graphics2D; import java.awt.Stroke; import java.awt.geom.Path2D; import java.awt.image.ImageObserver; import java.rmi.RemoteException; import javax.naming.NamingException; import org.opentrafficsim.demo.ntm.NTMLink; import nl.tudelft.simulation.dsol.animation.D2.Renderable2D; import nl.tudelft.simulation.dsol.simulators.SimulatorInterface; /** *
* Copyright (c) 2013-2017 Delft University of Technology, PO Box 5, 2600 AA, Delft, the Netherlands. All rights reserved.
* BSD-style license. See OpenTrafficSim License.
*
* $LastChangedDate$, @version $Revision$, by $Author$,
* initial version Sep 13, 2014
* @author Alexander Verbraeck
*/
public class ShpLinkAnimation extends Renderable2D
{
/** */
private float width;
/** */
private Color color;
/**
* @param source NTMLink;
* @param simulator SimulatorInterface.TimeDoubleUnit;
* @throws NamingException
* @throws RemoteException
*/
public ShpLinkAnimation(NTMLink source, SimulatorInterface.TimeDoubleUnit simulator, final float width, Color color)
throws NamingException, RemoteException
{
super(source, simulator);
this.width = width;
this.color = color;
}
/** {@inheritDoc} */
@Override
public void paint(Graphics2D graphics, ImageObserver observer) throws RemoteException
{
graphics.setColor(Color.RED);
for (Path2D line : ((NTMLink) getSource()).getLines())
{
Stroke oldStroke = graphics.getStroke();
graphics.setStroke(new BasicStroke(this.width));
graphics.setColor(this.color);
graphics.draw(line);
graphics.setStroke(oldStroke);
}
}
}