View Javadoc
1   package org.opentrafficsim.animation.data;
2   
3   import org.djutils.draw.bounds.Bounds2d;
4   import org.djutils.draw.line.Polygon2d;
5   import org.djutils.draw.point.OrientedPoint2d;
6   import org.opentrafficsim.draw.road.TrafficLightDetectorAnimation.TrafficLightDetectorData;
7   import org.opentrafficsim.road.network.lane.object.detector.TrafficLightDetector;
8   
9   /**
10   * Animation data of a TrafficLightDetector.
11   * <p>
12   * Copyright (c) 2023-2024 Delft University of Technology, PO Box 5, 2600 AA, Delft, the Netherlands. All rights reserved. <br>
13   * BSD-style license. See <a href="https://opentrafficsim.org/docs/license.html">OpenTrafficSim License</a>.
14   * </p>
15   * @author <a href="https://github.com/wjschakel">Wouter Schakel</a>
16   */
17  public class AnimationTrafficLightDetectorData implements TrafficLightDetectorData
18  {
19  
20      /** Traffic light detector. */
21      private final TrafficLightDetector trafficLigthDetector;
22  
23      /**
24       * Constructor.
25       * @param trafficLigthDetector traffic light detector.
26       */
27      public AnimationTrafficLightDetectorData(final TrafficLightDetector trafficLigthDetector)
28      {
29          this.trafficLigthDetector = trafficLigthDetector;
30      }
31  
32      @Override
33      public OrientedPoint2d getLocation()
34      {
35          return this.trafficLigthDetector.getLocation();
36      }
37  
38      @Override
39      public Bounds2d getBounds()
40      {
41          return this.trafficLigthDetector.getBounds();
42      }
43  
44      @Override
45      public Polygon2d getContour()
46      {
47          return this.trafficLigthDetector.getContour();
48      }
49  
50      @Override
51      public boolean getOccupancy()
52      {
53          return this.trafficLigthDetector.getOccupancy();
54      }
55  
56      @Override
57      public String getId()
58      {
59          return this.trafficLigthDetector.getId();
60      }
61  
62      /**
63       * Returns the traffic light detector.
64       * @return traffic light detector.
65       */
66      public TrafficLightDetector getTrafficLightDetector()
67      {
68          return this.trafficLigthDetector;
69      }
70  
71      @Override
72      public String toString()
73      {
74          return "Traffic light detector " + this.trafficLigthDetector.getId();
75      }
76  
77  }