Package de.tudresden.sumo.cmd

## Class Trafficlight

- java.lang.Object
- - de.tudresden.sumo.cmd.Trafficlight

-     public class Trafficlight
      extends Object

  The Class Trafficlight.
  Author:
    Mario Krumnow, Evamarie Wiessner

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `Trafficlight()` |

  - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `static SumoCommand` | `getCompleteRedYellowGreenDefinition​(String tlsID)` | Returns the complete traffic light program.
    `static SumoCommand` | `getControlledJunctions​(String tlsID)` | Returns the junctions controlled by the traffic light.
    `static SumoCommand` | `getControlledLanes​(String tlsID)` | Returns the list of lanes which are controlled by the named traffic light.
    `static SumoCommand` | `getControlledLinks​(String tlsID)` | Returns the links controlled by the traffic light, sorted by the signal index and described by giving the incoming, outgoing, and via lane.
    `static SumoCommand` | `getExternalState​(String tlsID)` | Returns the external state.
    `static SumoCommand` | `getIDCount()` | Returns the number of all traffic lights in the network.
    `static SumoCommand` | `getIDList()` | Returns a list of IDs of all traffic lights within the scenario.
    `static SumoCommand` | `getNextSwitch​(String tlsID)` | Returns the assumed time (in ms) at which the TLS changes the phase.
    `static SumoCommand` | `getParameter​(String tlsID, String param)` | Returns the chosen parameter.
    `static SumoCommand` | `getPhase​(String tlsID)` | Returns the index of the current phase in the current program.
    `static SumoCommand` | `getPhaseDuration​(String tlsID)` | getPhaseDuration.
    `static SumoCommand` | `getPhaseName​(String tlsID)` | Returns the name of the current phase in the current program.
    `static SumoCommand` | `getProgram​(String tlsID)` | Returns the id of the current program.
    `static SumoCommand` | `getRedYellowGreenState​(String tlsID)` | Returns the named tl's state as a tuple of light definitions from rRgGyYoO, for red, green, yellow, off, where lower case letters mean that the stream has to decelerate.
    `static SumoCommand` | `setCompleteRedYellowGreenDefinition​(String tlsID, SumoTLSProgram tls)` | Set the complete traffic light program.
    `static SumoCommand` | `setParameter​(String tlsID, String param, String value)` | Sets the chosen parameter.
    `static SumoCommand` | `setPhase​(String tlsID, int index)` | Set the index of the current phase in the current program.
    `static SumoCommand` | `setPhaseDuration​(String tlsID, double phaseDuration)` | Set the duration of the currently active phase (in s?).
    `static SumoCommand` | `setPhaseName​(String tlsID, String name)` | Set the name of the current phase in the current program.
    `static SumoCommand` | `setProgram​(String tlsID, String programID)` | Set the id of the current program.
    `static SumoCommand` | `setRedYellowGreenState​(String tlsID, String state)` | Set the named tl's state as a tuple of light definitions.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### Trafficlight

          public Trafficlight()

  - ### Method Detail

    - #### getCompleteRedYellowGreenDefinition

          public static SumoCommand getCompleteRedYellowGreenDefinition​(String tlsID)

      Returns the complete traffic light program.
      Parameters:
        `tlsID` - a string identifying the traffic light
      Returns:
        program definition

    - #### getIDCount

          public static SumoCommand getIDCount()

      Returns the number of all traffic lights in the network.
      Returns:
        number of traffic lights

    - #### getPhaseDuration

          public static SumoCommand getPhaseDuration​(String tlsID)

      getPhaseDuration.
      Parameters:
        `tlsID` - a string identifying the traffic light
      Returns:
        phase duration

    - #### getControlledLanes

          public static SumoCommand getControlledLanes​(String tlsID)

      Returns the list of lanes which are controlled by the named traffic light.
      Parameters:
        `tlsID` - a string identifying the traffic light
      Returns:
        list of controlled lanes

    - #### getControlledLinks

          public static SumoCommand getControlledLinks​(String tlsID)

      Returns the links controlled by the traffic light, sorted by the signal index and described by giving the incoming, outgoing, and via lane.
      Parameters:
        `tlsID` - a string identifying the traffic light
      Returns:
        list of controlled links

    - #### getControlledJunctions

          public static SumoCommand getControlledJunctions​(String tlsID)

      Returns the junctions controlled by the traffic light.
      Parameters:
        `tlsID` - a string identifying the traffic light
      Returns:
        list of controlled junctions

    - #### getExternalState

          public static SumoCommand getExternalState​(String tlsID)

      Returns the external state.
      Parameters:
        `tlsID` - a string identifying the traffic light
      Returns:
        compound of the external state

    - #### getIDList

          public static SumoCommand getIDList()

      Returns a list of IDs of all traffic lights within the scenario.
      Returns:
        a list of IDs of all TLS

    - #### getNextSwitch

          public static SumoCommand getNextSwitch​(String tlsID)

      Returns the assumed time (in ms) at which the TLS changes the phase.
      Parameters:
        `tlsID` - a string identifying the traffic light
      Returns:
        absolute time, counting from simulation start, at which TLS may change

    - #### getParameter

          public static SumoCommand getParameter​(String tlsID,
                                                 String param)

      Returns the chosen parameter.
      Parameters:
        `tlsID` - a string identifying the traffic light
        `param` - a string identifying the parameter
      Returns:
        the specific parameter

    - #### setParameter

          public static SumoCommand setParameter​(String tlsID,
                                                 String param,
                                                 String value)

      Sets the chosen parameter.
      Parameters:
        `tlsID` - the tls ID
        `param` - a string identifying the parameter
        `value` - a string identifying the new value
      Returns:
        SumoCommand

    - #### getPhase

          public static SumoCommand getPhase​(String tlsID)

      Returns the index of the current phase in the current program.
      Parameters:
        `tlsID` - a string identifying the traffic light
      Returns:
        index of the current phase

    - #### getPhaseName

          public static SumoCommand getPhaseName​(String tlsID)

      Returns the name of the current phase in the current program.
      Parameters:
        `tlsID` - a string identifying the traffic light
      Returns:
        name of the current phase

    - #### getProgram

          public static SumoCommand getProgram​(String tlsID)

      Returns the id of the current program.
      Parameters:
        `tlsID` - a string identifying the traffic light
      Returns:
        index of the current program

    - #### getRedYellowGreenState

          public static SumoCommand getRedYellowGreenState​(String tlsID)

      Returns the named tl's state as a tuple of light definitions from rRgGyYoO, for red, green, yellow, off, where lower case letters mean that the stream has to decelerate.
      Parameters:
        `tlsID` - a string identifying the traffic light
      Returns:
        SumoCommand

    - #### setCompleteRedYellowGreenDefinition

          public static SumoCommand setCompleteRedYellowGreenDefinition​(String tlsID,
                                                                        SumoTLSProgram tls)

      Set the complete traffic light program.
      Parameters:
        `tlsID` - a string identifying the traffic light
        `tls` - complete program definition
      Returns:
        SumoCommand

    - #### setPhase

          public static SumoCommand setPhase​(String tlsID,
                                             int index)

      Set the index of the current phase in the current program.
      Parameters:
        `tlsID` - a string identifying the traffic light
        `index` - an integer identifying the phase (it must be between 0 and the number of phases known to the current program of the tls - 1)
      Returns:
        SumoCommand

    - #### setPhaseName

          public static SumoCommand setPhaseName​(String tlsID,
                                                 String name)

      Set the name of the current phase in the current program.
      Parameters:
        `tlsID` - a string identifying the traffic light
        `name` - a string with the phase name
      Returns:
        SumoCommand

    - #### setPhaseDuration

          public static SumoCommand setPhaseDuration​(String tlsID,
                                                     double phaseDuration)

      Set the duration of the currently active phase (in s?).
      Parameters:
        `tlsID` - a string identifying the traffic light
        `phaseDuration` - remaining duration of the current phase
      Returns:
        SumoCommand

    - #### setProgram

          public static SumoCommand setProgram​(String tlsID,
                                               String programID)

      Set the id of the current program.
      Parameters:
        `tlsID` - a string identifying the traffic light
        `programID` - a string identifying the program
      Returns:
        SumoCommand

    - #### setRedYellowGreenState

          public static SumoCommand setRedYellowGreenState​(String tlsID,
                                                           String state)

      Set the named tl's state as a tuple of light definitions.
      Parameters:
        `tlsID` - a string identifying the traffic light
        `state` - as a tuple of light definitions from rRgGyYoO, for red, green, yellow, off, where lower case letters mean that the stream has to decelerate
      Returns:
        SumoCommand