## Uses of Class
aim4.im.IntersectionManager

- Packages that use IntersectionManager
  Package | Description
  --- | ---
  aim4.driver | This packages contains the driver model.
  aim4.driver.navigator | This package contains the implementation of the navigator, one of the three agents in the driver agent.
  aim4.im | This package contains the implementation of the intersection manager.
  aim4.im.v2i | This package contains the implementation of the V2I intersection manager.
  aim4.map | This package contains the implementations of the map in the AIM4 simulator.
  aim4.map.lane | This package contains the implementations of the lane objects in the map.
  aim4.vehicle | This package contains the vehicle model in the simulator.

- - ### Uses of IntersectionManager in aim4.driver

    Methods in aim4.driver that return IntersectionManager
    Modifier and Type | Method and Description
    --- | ---
    `IntersectionManager` | AutoDriverPilotView.`getCurrentIM()` Get the IntersectionManager with which the agent is currently interacting.
    `IntersectionManager` | AutoDriverCoordinatorView.`getCurrentIM()` Get the IntersectionManager with which the agent is currently interacting.
    `IntersectionManager` | AutoDriver.`getCurrentIM()` Get the IntersectionManager with which the agent is currently interacting.
    `protected IntersectionManager` | Driver.`nextIntersectionManager()` Find the next IntersectionManager that the Vehicle will need to interact with, in this Lane.
    `IntersectionManager` | AutoDriverCoordinatorView.`nextIntersectionManager()` Find the next IntersectionManager that the Vehicle will need to interact with, in this Lane.
    `IntersectionManager` | AutoDriver.`nextIntersectionManager()` Find the next IntersectionManager that the Vehicle will need to interact with, in this Lane.

  - ### Uses of IntersectionManager in aim4.driver.navigator

    Methods in aim4.driver.navigator with parameters of type IntersectionManager
    Modifier and Type | Method and Description
    --- | ---
    `Road` | Navigator.`navigate(Road current, IntersectionManager im, Road destination)` Given the current Road, the IntersectionManager being approached, and a destination Road, find a road that leave the IntersectionManager that will lead to the destination Road.
    `Road` | BasicNavigator.`navigate(Road current, IntersectionManager im, Road destination)` Given the current Road, the IntersectionManager being approached, and a destination Road, find a road that leave the IntersectionManager that will lead to the destination Road.

  - ### Uses of IntersectionManager in aim4.im

    Subclasses of IntersectionManager in aim4.im
    Modifier and Type | Class and Description
    --- | ---
    `class` | `DummyManager` An dummy interaction manager

    Constructor parameters in aim4.im with type arguments of type IntersectionManager
    Constructor and Description
    `DummyManager(Intersection intersection, TrackModel trajectoryModel, double currentTime, Registry<IntersectionManager> registry)` Create a dummy manager.
    `IntersectionManager(Intersection intersection, TrackModel trackModel, double currentTime, Registry<IntersectionManager> imRegistry)` Create an intersection manager.

  - ### Uses of IntersectionManager in aim4.im.v2i

    Subclasses of IntersectionManager in aim4.im.v2i
    Modifier and Type | Class and Description
    --- | ---
    `class` | `V2IManager` An intersection manager that takes requests from vehicles and coordinates their traversals of the intersection to ensure that there are no collisions.

    Constructor parameters in aim4.im.v2i with type arguments of type IntersectionManager
    Constructor and Description
    `V2IManager(Intersection intersection, TrackModel trackModel, double currentTime, ReservationGridManager.Config config, Registry<IntersectionManager> registry)` Construct a new V2IManager given the structure of Lanes in the intersection.

  - ### Uses of IntersectionManager in aim4.map

    Methods in aim4.map that return IntersectionManager
    Modifier and Type | Method and Description
    --- | ---
    `IntersectionManager` | GridMap.`getManager(int column, int row)` Get the intersection manager of a particular intersection.

    Methods in aim4.map that return types with arguments of type IntersectionManager
    Modifier and Type | Method and Description
    --- | ---
    `Registry<IntersectionManager>` | GridMap.`getImRegistry()` Get the intersection manager registry.
    `Registry<IntersectionManager>` | BasicMap.`getImRegistry()` Get the intersection manager registry.
    `List<IntersectionManager>` | GridMap.`getIntersectionManagers()` Get the IntersectionManagers that are part of this Layout.
    `List<IntersectionManager>` | BasicMap.`getIntersectionManagers()` Get the IntersectionManagers that are part of this Layout.

    Methods in aim4.map with parameters of type IntersectionManager
    Modifier and Type | Method and Description
    --- | ---
    `void` | GridMap.`setManager(int column, int row, IntersectionManager im)` Set the intersection manager of a particular intersection.
    `void` | BasicMap.`setManager(int column, int row, IntersectionManager im)` Set the intersection manager of a particular intersection.

  - ### Uses of IntersectionManager in aim4.map.lane

    Methods in aim4.map.lane that return IntersectionManager
    Modifier and Type | Method and Description
    --- | ---
    `IntersectionManager` | LaneIM.`firstIntersectionManager()` Get the first IntersectionManager that this Lane, or any Lane it leads into enters.
    `IntersectionManager` | LaneIM.`lastIntersectionManager()` Get the last IntersectionManager that this Lane, or any Lane that leads into it enters.
    `IntersectionManager` | LaneIM.`nextIntersectionManager(IntersectionManager im)` Get the IntersectionManager that this Lane, or any Lane it leads into enters, after the given IntersectionManager.
    `IntersectionManager` | LaneIM.`nextIntersectionManager(Point2D p)` Find the next IntersectionManager a vehicle at the given position will encounter.

    Methods in aim4.map.lane with parameters of type IntersectionManager
    Modifier and Type | Method and Description
    --- | ---
    `double` | LaneIM.`distanceToNextIntersectionManager(IntersectionManager im)` Get the distance from the given IntersectionManager to the next one that that this Lane, or any Lane it leads into enters.
    `IntersectionManager` | LaneIM.`nextIntersectionManager(IntersectionManager im)` Get the IntersectionManager that this Lane, or any Lane it leads into enters, after the given IntersectionManager.
    `void` | LaneIM.`registerIntersectionManager(IntersectionManager im)` Register an `IntersectionManager` with this Lane.
    `double` | LaneIM.`timeToNextIntersectionManager(IntersectionManager im, double maxVelocity)` Get the approximate time from the given IntersectionManager to the next one that that this Lane, or any Lane it leads into enters, based on distances and speed limits.

  - ### Uses of IntersectionManager in aim4.vehicle

    Methods in aim4.vehicle with parameters of type IntersectionManager
    Modifier and Type | Method and Description
    --- | ---
    `static double` | VehicleUtil.`maxTurnVelocity(VehicleSpec spec, Lane arrivalLane, Lane departureLane, IntersectionManager im)` Get the maximum velocity that this Vehicle should make the turn between lanes through an intersection.

Copyright © 2013. All rights reserved.