## Uses of Interface
aim4.map.lane.Lane

- Packages that use Lane
  Package | Description
  --- | ---
  aim4.driver | This packages contains the driver model.
  aim4.driver.coordinator | This package contains the implementation of the coordinator, one of the three agents in the driver agent.
  aim4.im | This package contains the implementation of the intersection manager.
  aim4.map | This package contains the implementations of the map in the AIM4 simulator.
  aim4.map.destination | This package contains the implementations of the destination selectors.
  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 Lane in aim4.driver

    Fields in aim4.driver declared as Lane
    Modifier and Type | Field and Description
    --- | ---
    `protected Lane` | Driver.`currentLane` The Lane that the driver is currently following.

    Fields in aim4.driver with type parameters of type Lane
    Modifier and Type | Field and Description
    --- | ---
    `protected Set<Lane>` | Driver.`currentlyOccupiedLanes` The set of Lanes that the vehicle is currently occupied

    Methods in aim4.driver that return Lane
    Modifier and Type | Method and Description
    --- | ---
    `Lane` | DriverSimView.`getCurrentLane()` Get the Lane the driver is currently following.
    `Lane` | Driver.`getCurrentLane()` Get the Lane the DriverAgent is currently following.
    `Lane` | AutoDriverPilotView.`getCurrentLane()` Get the Lane the DriverAgent is currently following.
    `Lane` | AutoDriverCoordinatorView.`getCurrentLane()` Get the Lane the DriverAgent is currently following.

    Methods in aim4.driver that return types with arguments of type Lane
    Modifier and Type | Method and Description
    --- | ---
    `Set<Lane>` | DriverSimView.`getCurrentlyOccupiedLanes()` Get the lanes the driver's vehicle currently occupies.
    `Set<Lane>` | Driver.`getCurrentlyOccupiedLanes()` Get the lanes the DriverAgent's vehicle currently occupies.

    Methods in aim4.driver with parameters of type Lane
    Modifier and Type | Method and Description
    --- | ---
    `void` | Driver.`addCurrentlyOccupiedLane(Lane lane)` Add a lane that the DriverAgent's vehicle currently occupies.
    `void` | AutoDriverCoordinatorView.`addCurrentlyOccupiedLane(Lane lane)` Add a lane that the DriverAgent's vehicle currently occupies.
    `void` | AutoV2VDriver.`setClaimParameters(double arrivalTime, double arrivalVelocity, Lane arrivalLane, Lane departureLane)` Set the parameters for this driver agent's Claim.
    `void` | DriverSimView.`setCurrentLane(Lane lane)` Set the Lane the driver is currently following.
    `void` | Driver.`setCurrentLane(Lane lane)` Set the Lane the DriverAgent is currently following.
    `void` | AutoDriverPilotView.`setCurrentLane(Lane lane)` Set the Lane the DriverAgent is currently following.
    `void` | AutoDriverCoordinatorView.`setCurrentLane(Lane lane)` Set the Lane the DriverAgent is currently following.

    Constructors in aim4.driver with parameters of type Lane
    Constructor and Description
    `CrashTestDummy(AutoVehicleDriverView vehicle, Lane arrivalLane, Lane departureLane)` Construct a new CrashTestDummy to pilot the simulated vehicle across an intersection.

  - ### Uses of Lane in aim4.driver.coordinator

    Methods in aim4.driver.coordinator that return Lane
    Modifier and Type | Method and Description
    --- | ---
    `Lane` | V2ICoordinator.ReservationParameter.`getArrivalLane()` Get the Lane in which this driver agent's Vehicle should arrive to comply with the reservation this driver agent is holding.
    `Lane` | V2ICoordinator.ReservationParameter.`getDepartureLane()` Get the Lane in which this driver agent's Vehicle should arrive to comply with the reservation this driver agent is holding.

  - ### Uses of Lane in aim4.im

    Methods in aim4.im that return types with arguments of type Lane
    Modifier and Type | Method and Description
    --- | ---
    `List<Lane>` | RoadBasedIntersection.`getEntryLanes()` Get the Lanes that enter the space governed by this intersection manager.
    `List<Lane>` | Intersection.`getEntryLanes()` Get the Lanes that enter the space governed by this IntersectionManager.
    `List<Lane>` | RoadBasedIntersection.`getExitLanes()` Get the Lanes that exit the space governed by this intersection manager.
    `List<Lane>` | Intersection.`getExitLanes()` Get the Lanes that exit the space governed by this IntersectionManager.
    `List<Lane>` | RoadBasedIntersection.`getLanes()` Get the Lanes incident to the space governed by this intersection.
    `List<Lane>` | Intersection.`getLanes()` Get the Lanes incident to the space governed by this intersection.
    `List<Lane>` | TrackModel.`getSortedDepartureLanes(Lane arrivalLane, Road departure)` Given an arrival Lane and a departure Road, get an ordered List of Lanes that represents the Lanes from highest to lowest priority based on distance from the arrival Lane.
    `List<Lane>` | RoadBasedTrackModel.`getSortedDepartureLanes(Lane arrivalLane, Road departure)` Given an arrival Lane and a departure Road, get an ordered List of Lanes that represents the Lanes from highest to lowest priority based on distance from the arrival Lane.
    `List<Lane>` | IntersectionManager.`getSortedDepartureLanes(Lane arrivalLane, Road departure)` Given an arrival Lane and a departure Road, get an ordered List of Lanes that represents the Lanes from highest to lowest priority based on distance from the arrival Lane.

    Methods in aim4.im with parameters of type Lane
    Modifier and Type | Method and Description
    --- | ---
    `Constants.TurnDirection` | RoadBasedIntersection.`calcTurnDirection(Lane currentLane, Lane departureLane)` Get the turn direction of the vehicle at the next intersection.
    `Constants.TurnDirection` | Intersection.`calcTurnDirection(Lane currentLane, Lane departureLane)` Get the turn direction of the vehicle at the next intersection.
    `double` | RoadBasedIntersection.`getEntryHeading(Lane l)` Get the heading at which the given lane enters the intersection.
    `double` | Intersection.`getEntryHeading(Lane l)` Get the heading at which the given Lane enters the intersection.
    `WayPoint` | RoadBasedIntersection.`getEntryPoint(Lane l)` Get the Point at which the given Lane enters the intersection.
    `WayPoint` | Intersection.`getEntryPoint(Lane l)` Get the Point at which the given Lane enters the intersection.
    `double` | RoadBasedIntersection.`getExitHeading(Lane l)` Get the heading at which the given Lane exits the intersection.
    `double` | Intersection.`getExitHeading(Lane l)` Get the heading at which the given Lane exits the intersection.
    `WayPoint` | RoadBasedIntersection.`getExitPoint(Lane l)` Get the Point at which the given Lane exits the intersection.
    `WayPoint` | Intersection.`getExitPoint(Lane l)` Get the Point at which the given Lane exits the intersection.
    `List<Lane>` | TrackModel.`getSortedDepartureLanes(Lane arrivalLane, Road departure)` Given an arrival Lane and a departure Road, get an ordered List of Lanes that represents the Lanes from highest to lowest priority based on distance from the arrival Lane.
    `List<Lane>` | RoadBasedTrackModel.`getSortedDepartureLanes(Lane arrivalLane, Road departure)` Given an arrival Lane and a departure Road, get an ordered List of Lanes that represents the Lanes from highest to lowest priority based on distance from the arrival Lane.
    `List<Lane>` | IntersectionManager.`getSortedDepartureLanes(Lane arrivalLane, Road departure)` Given an arrival Lane and a departure Road, get an ordered List of Lanes that represents the Lanes from highest to lowest priority based on distance from the arrival Lane.
    `boolean` | RoadBasedIntersection.`isEnteredBy(Lane l)` Whether the given Lane enters this intersection.
    `boolean` | Intersection.`isEnteredBy(Lane l)` Whether the given Lane enters this intersection.
    `boolean` | RoadBasedIntersection.`isExitedBy(Lane l)` Whether the given Lane leaves this intersection.
    `boolean` | Intersection.`isExitedBy(Lane l)` Whether the given Lane leaves this intersection.
    `boolean` | IntersectionManager.`manages(Lane l)` Whether or not this IntersectionManager manages the given Lane.
    `double` | TrackModel.`traversalDistance(Lane arrival, Lane departure)` Get the distance from the entry of the given Lane, to the departure of the other given Lane, if traveling along segments through their point of intersection.
    `double` | RoadBasedTrackModel.`traversalDistance(Lane arrival, Lane departure)` Get the distance from the entry of the given Lane, to the departure of the other given Lane, if traveling along segments through their point of intersection.
    `double` | IntersectionManager.`traversalDistance(Lane arrival, Lane departure)` Get the distance from the entry of the given Lane, to the departure of the other given Lane, if traveling along segments through their point of intersection.

  - ### Uses of Lane in aim4.map

    Methods in aim4.map that return Lane
    Modifier and Type | Method and Description
    --- | ---
    `Lane` | Road.`getIndexLane()` Get the leftmost Lane in this Road.
    `Lane` | SpawnPoint.`getLane()` Get the lane.

    Methods in aim4.map that return types with arguments of type Lane
    Modifier and Type | Method and Description
    --- | ---
    `Registry<Lane>` | GridMap.`getLaneRegistry()` Get the lane registry.
    `Registry<Lane>` | BasicMap.`getLaneRegistry()` Get the lane registry.
    `List<Lane>` | Road.`getLanes()` Get the Lanes that make up this Road, in order from left to right.

    Methods in aim4.map with parameters of type Lane
    Modifier and Type | Method and Description
    --- | ---
    `void` | Road.`addTheRightMostLane(Lane lane)` Add a right most lane to this Road.
    `Road` | GridMap.`getRoad(Lane lane)` Given a Lane, get the Road of which that Lane is a part.
    `Road` | BasicMap.`getRoad(Lane lane)` Given a Lane, get the Road of which that Lane is a part.

    Constructors in aim4.map with parameters of type Lane
    Constructor and Description
    `SpawnPoint(double currentTime, Point2D pos, double heading, double steeringAngle, double acceleration, Lane lane, Rectangle2D noVehicleZone)` Create a spawn point.
    `SpawnPoint(double currentTime, Point2D pos, double heading, double steeringAngle, double acceleration, Lane lane, Rectangle2D noVehicleZone, SpawnPoint.SpawnSpecGenerator vehicleSpecChooser)` Create a spawn point.

    Constructor parameters in aim4.map with type arguments of type Lane
    Constructor and Description
    `Road(String name, List<Lane> lanes, BasicMap map)` Create a new Road with the given Lanes, ordered from left to right.

  - ### Uses of Lane in aim4.map.destination

    Methods in aim4.map.destination with parameters of type Lane
    Modifier and Type | Method and Description
    --- | ---
    `Road` | UniqueDestinationSelector.`selectDestination(Lane currentLane)` Select the Road which the given Vehicle should use as its destination.
    `Road` | TurnBasedDestinationSelector.`selectDestination(Lane currentLane)` Select the Road which the given Vehicle should use as its destination.
    `Road` | RatioDestinationSelector.`selectDestination(Lane currentLane)` Select the Road which the given Vehicle should use as its destination.
    `Road` | RandomDestinationSelector.`selectDestination(Lane currentLane)` Select the Road which the given Vehicle should use as its destination.
    `Road` | IdentityDestinationSelector.`selectDestination(Lane currentLane)` Select the Road which the given Vehicle should use as its destination.
    `Road` | DestinationSelector.`selectDestination(Lane currentLane)` Select the Road which the given Vehicle should use as its destination.

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

    Classes in aim4.map.lane that implement Lane
    Modifier and Type | Class and Description
    --- | ---
    `class` | `AbstractLane` This is a base class for all Lanes.
    `class` | `LineSegmentLane` A lane class that can be represented by a directed line segment.

    Methods in aim4.map.lane that return Lane
    Modifier and Type | Method and Description
    --- | ---
    `Lane` | Lane.`getLeftNeighbor()` Get the left neighbor of this Lane.
    `Lane` | AbstractLane.`getLeftNeighbor()` Get the left neighbor of this Lane.
    `Lane` | Lane.`getNextLane()` Get the Lane into which this Lane leads, or `null` if none.
    `Lane` | AbstractLane.`getNextLane()` Get the Lane into which this Lane leads, or `null` if none.
    `Lane` | Lane.`getPrevLane()` Get the Lane which leads into this Lane, or `null` if none.
    `Lane` | AbstractLane.`getPrevLane()` Get the Lane which leads into this Lane, or `null` if none.
    `Lane` | Lane.`getRightNeighbor()` Get the right neighbor of this Lane.
    `Lane` | AbstractLane.`getRightNeighbor()` Get the right neighbor of this Lane.
    `Lane` | LaneIM.`laneToFirstIntersection()` Find the next Lane, including this one, that enters an intersection at any point.
    `Lane` | LaneIM.`laneToNextIntersection(Point2D p)` Find the next Lane, including this one, that will enter an intersection, starting at the point in this Lane nearest the provided point.

    Methods in aim4.map.lane with parameters of type Lane
    Modifier and Type | Method and Description
    --- | ---
    `void` | Lane.`setLeftNeighbor(Lane ln)` Register another Lane as a left neighbor to this Lane.
    `void` | AbstractLane.`setLeftNeighbor(Lane ln)` Register another Lane as a left neighbor to this Lane.
    `void` | Lane.`setNextLane(Lane nextLane)` Set the Lane into which this Lane leads.
    `void` | AbstractLane.`setNextLane(Lane nextLane)` Set the Lane into which this Lane leads.
    `void` | Lane.`setPrevLane(Lane prevLane)` Set the Lane which leads into this Lane.
    `void` | AbstractLane.`setPrevLane(Lane prevLane)` Set the Lane which leads into this Lane.
    `void` | Lane.`setRightNeighbor(Lane ln)` Register another Lane as a right neighbor to this Lane.
    `void` | AbstractLane.`setRightNeighbor(Lane ln)` Register another Lane as a right neighbor to this Lane.

    Constructors in aim4.map.lane with parameters of type Lane
    Constructor and Description
    `LaneIM(Lane lane)` Create a lane and intersection manager relationship object.

  - ### Uses of Lane in aim4.vehicle

    Methods in aim4.vehicle that return Lane
    Modifier and Type | Method and Description
    --- | ---
    `Lane` | BasicAutoVehicle.`getTargetLaneForVehicleTracking()` Return the target lane for vehicle tracking.
    `Lane` | AutoVehicleDriverView.`getTargetLaneForVehicleTracking()` Return the target lane for vehicle tracking.

    Methods in aim4.vehicle with parameters of type Lane
    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.
    `void` | BasicAutoVehicle.`setTargetLaneForVehicleTracking(Lane lane)` Set the target lane for vehicle tracking.
    `void` | AutoVehicleDriverView.`setTargetLaneForVehicleTracking(Lane lane)` Set the target lane for vehicle tracking.

Copyright © 2013. All rights reserved.