AnimationTrafficLightData.java

  1. package org.opentrafficsim.animation.data;

  2. import java.awt.Color;

  3. import org.opentrafficsim.draw.road.TrafficLightAnimation.TrafficLightData;
  4. import org.opentrafficsim.road.network.lane.object.trafficlight.TrafficLight;

  5. /**
  6.  * Animation data of a TrafficLight.
  7.  * <p>
  8.  * Copyright (c) 2023-2024 Delft University of Technology, PO Box 5, 2600 AA, Delft, the Netherlands. All rights reserved. <br>
  9.  * BSD-style license. See <a href="https://opentrafficsim.org/docs/license.html">OpenTrafficSim License</a>.
  10.  * </p>
  11.  * @author <a href="https://github.com/wjschakel">Wouter Schakel</a>
  12.  */
  13. public class AnimationTrafficLightData extends AnimationLaneBasedObjectData<TrafficLight> implements TrafficLightData
  14. {

  15.     /**
  16.      * Constructor.
  17.      * @param trafficLight traffic light.
  18.      */
  19.     public AnimationTrafficLightData(final TrafficLight trafficLight)
  20.     {
  21.         super(trafficLight);
  22.     }

  23.     @Override
  24.     public Color getColor()
  25.     {
  26.         switch (getObject().getTrafficLightColor())
  27.         {
  28.             case RED:
  29.             {
  30.                 return Color.RED;
  31.             }
  32.             case GREEN:
  33.             case PREGREEN:
  34.             {
  35.                 return Color.GREEN;
  36.             }
  37.             case YELLOW:
  38.             {
  39.                 return Color.YELLOW;
  40.             }
  41.             default:
  42.             {
  43.                 return Color.BLACK;
  44.             }
  45.         }
  46.     }

  47.     @Override
  48.     public String toString()
  49.     {
  50.         return "Traffic light " + getObject().getFullId();
  51.     }

  52. }