Class TrafficLight
java.lang.Object
org.djutils.event.LocalEventProducer
org.opentrafficsim.core.object.StaticObject
org.opentrafficsim.road.network.lane.object.AbstractLaneBasedObject
org.opentrafficsim.road.network.lane.object.trafficlight.TrafficLight
- All Implemented Interfaces:
Serializable
,Remote
,Locatable
,org.djutils.event.EventProducer
,org.opentrafficsim.base.Identifiable
,Drawable
,LocatedObject
,LaneBasedObject
Standard implementation of a traffic light.
Copyright (c) 2013-2023 Delft University of Technology, PO Box 5, 2600 AA, Delft, the Netherlands. All rights reserved.
BSD-style license. See OpenTrafficSim License.
- Author:
- Alexander Verbraeck, Peter Knoppers
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Length
Default elevation of a traffic light (above zero; don't use this for lanes at non-zero elevation).static final org.djutils.event.EventType
The timed event type for pub/sub indicating the change of color of a traffic light.Fields inherited from interface org.djutils.event.EventProducer
FIRST_POSITION, LAST_POSITION
-
Constructor Summary
ConstructorsConstructorDescriptionTrafficLight
(String id, Lane lane, Length longitudinalPosition, OtsSimulatorInterface simulator) Construct an AbstractTrafficLight at default elevation (use only on roads at elevation 0).TrafficLight
(String id, Lane lane, Length longitudinalPosition, OtsSimulatorInterface simulator, Length height) Construct an AbstractTrafficLight with specified elevation. -
Method Summary
Modifier and TypeMethodDescriptionfinal TrafficLightColor
Get the current traffic light color.double
getZ()
final void
setTrafficLightColor
(TrafficLightColor trafficLightColor) Set the new traffic light color.toString()
Methods inherited from class org.opentrafficsim.road.network.lane.object.AbstractLaneBasedObject
getFullId, getLane, getLocation, getLongitudinalPosition, init
Methods inherited from class org.opentrafficsim.core.object.StaticObject
create, create, getBounds, getGeometry, getHeight, getId
Methods inherited from class org.djutils.event.LocalEventProducer
addListener, addListener, addListener, addListener, fireEvent, fireEvent, fireEvent, fireTimedEvent, fireTimedEvent, fireTimedEvent, fireUnverifiedEvent, fireUnverifiedEvent, fireUnverifiedTimedEvent, fireUnverifiedTimedEvent, getEventListenerMap, getEventTypesWithListeners, getListenerReferences, hasListeners, numberOfListeners, removeAllListeners, removeAllListeners, removeListener
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.djutils.event.EventProducer
addListener, addListener, addListener, addListener, fireEvent, fireEvent, fireEvent, fireTimedEvent, fireTimedEvent, fireTimedEvent, fireUnverifiedEvent, fireUnverifiedEvent, fireUnverifiedTimedEvent, fireUnverifiedTimedEvent, getEventListenerMap, getEventTypesWithListeners, getListenerReferences, hasListeners, numberOfListeners, removeAllListeners, removeAllListeners, removeListener
Methods inherited from interface org.opentrafficsim.base.Identifiable
getId
Methods inherited from interface org.opentrafficsim.road.network.lane.object.LaneBasedObject
getBounds
Methods inherited from interface org.opentrafficsim.core.object.LocatedObject
getGeometry, getHeight
-
Field Details
-
DEFAULT_TRAFFICLIGHT_ELEVATION
Default elevation of a traffic light (above zero; don't use this for lanes at non-zero elevation). -
TRAFFICLIGHT_CHANGE_EVENT
public static final org.djutils.event.EventType TRAFFICLIGHT_CHANGE_EVENTThe timed event type for pub/sub indicating the change of color of a traffic light.
Payload: Object[] {String trafficLightId, TrafficLight trafficLight, TrafficLightColor newColor}
-
-
Constructor Details
-
TrafficLight
public TrafficLight(String id, Lane lane, Length longitudinalPosition, OtsSimulatorInterface simulator, Length height) throws NetworkException Construct an AbstractTrafficLight with specified elevation.- Parameters:
id
- String; traffic light idlane
- Lane; lane where the traffic light is locatedlongitudinalPosition
- Length; position of the traffic light on the lane, in the design directionsimulator
- OtsSimulatorInterface; the simulator for animation and timed eventsheight
- Length; the elevation of the traffic light- Throws:
NetworkException
- on failure to place the object
-
TrafficLight
public TrafficLight(String id, Lane lane, Length longitudinalPosition, OtsSimulatorInterface simulator) throws NetworkException Construct an AbstractTrafficLight at default elevation (use only on roads at elevation 0).- Parameters:
id
- String; traffic light idlane
- Lane; lane where the traffic light is locatedlongitudinalPosition
- Length; position of the traffic light on the lane, in the design directionsimulator
- OtsSimulatorInterface; the simulator for animation and timed events- Throws:
NetworkException
- on failure to place the object
-
-
Method Details
-
getTrafficLightColor
Get the current traffic light color.- Returns:
- TrafficLightColor; current traffic light color.
-
setTrafficLightColor
Set the new traffic light color.- Parameters:
trafficLightColor
- TrafficLightColor; set the trafficLightColor
-
getZ
- Throws:
RemoteException
-
toString
- Overrides:
toString
in classAbstractLaneBasedObject
-