1 package org.opentrafficsim.road.network.animation;
2
3 import java.awt.Color;
4 import java.awt.Graphics2D;
5 import java.awt.image.ImageObserver;
6 import java.io.Serializable;
7 import java.rmi.RemoteException;
8
9 import javax.naming.NamingException;
10
11 import nl.tudelft.simulation.dsol.animation.D2.Renderable2D;
12 import nl.tudelft.simulation.language.d3.DirectedPoint;
13
14 import org.opentrafficsim.core.dsol.OTSSimulatorInterface;
15 import org.opentrafficsim.core.network.animation.PaintPolygons;
16 import org.opentrafficsim.road.network.lane.object.LaneBlock;
17
18
19
20
21
22
23
24
25
26
27
28
29 public class LaneBlockAnimation extends Renderable2D implements Serializable
30 {
31
32 private static final long serialVersionUID = 20160400L;
33
34
35 private Color fillColor;
36
37
38 private static final DirectedPoint POINT_000 = new DirectedPoint();
39
40
41
42
43
44
45
46
47
48 public LaneBlockAnimation(final LaneBlock source, final OTSSimulatorInterface simulator, final Color fillColor)
49 throws NamingException, RemoteException
50 {
51 super(source, simulator);
52 setFillColor(fillColor);
53 setTranslate(false);
54 setRotate(false);
55 }
56
57
58 @Override
59 public final void paint(final Graphics2D graphics, final ImageObserver observer)
60 {
61 graphics.setColor(this.fillColor);
62 PaintPolygons.paintMultiPolygon(graphics, this.fillColor, POINT_000, ((LaneBlock) this.source).getGeometry(),
63 true);
64 }
65
66
67
68
69 public final Color getFillColor()
70 {
71 return this.fillColor;
72 }
73
74
75
76
77 public final void setFillColor(final Color fillColor)
78 {
79 this.fillColor = fillColor;
80 }
81
82
83 @Override
84 public final String toString()
85 {
86 return "CSEBlockAnimation [getSource()=" + this.getSource() + "]";
87 }
88
89 }