## Uses of Class
aim4.vehicle.VehicleSpec

- Packages that use VehicleSpec
  Package | Description
  --- | ---
  aim4.driver.navigator | This package contains the implementation of the navigator, one of the three agents in the driver agent.
  aim4.map | This package contains the implementations of the map in the AIM4 simulator.
  aim4.msg.v2i | This package contains the implementation of the V2I messages in the AIM protocol.
  aim4.vehicle | This package contains the vehicle model in the simulator.

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

    Constructors in aim4.driver.navigator with parameters of type VehicleSpec
    Constructor and Description
    `BasicNavigator(VehicleSpec vehicleSpec, BasicMap basicMap)` Construct a new Navigator for the given Vehicle specification.

  - ### Uses of VehicleSpec in aim4.map

    Methods in aim4.map that return VehicleSpec
    Modifier and Type | Method and Description
    --- | ---
    `VehicleSpec` | SpawnPoint.SpawnSpec.`getVehicleSpec()` Get the vehicle specification.

    Constructors in aim4.map with parameters of type VehicleSpec
    Constructor and Description
    `SpawnPoint.SpawnSpec(double spawnTime, VehicleSpec vehicleSpec, Road destinationRoad)` Create a spawn specification.

  - ### Uses of VehicleSpec in aim4.msg.v2i

    Constructors in aim4.msg.v2i with parameters of type VehicleSpec
    Constructor and Description
    `Request.VehicleSpecForRequestMsg(VehicleSpec vspec)` Create a copy of a given vehicle specification for request message

  - ### Uses of VehicleSpec in aim4.vehicle

    Fields in aim4.vehicle declared as VehicleSpec
    Modifier and Type | Field and Description
    --- | ---
    `protected VehicleSpec` | BasicVehicle.`spec` The characteristics of the vehicle
    `protected VehicleSpec` | BasicVehicle.NonAccelMovement.`spec` The specification of the vehicle
    `protected VehicleSpec` | BasicVehicle.PhysicalMovement.`spec` The specification of the vehicle

    Methods in aim4.vehicle that return VehicleSpec
    Modifier and Type | Method and Description
    --- | ---
    `VehicleSpec` | VehicleDriverView.`getSpec()` Get the specification of the vehicle
    `VehicleSpec` | BasicVehicle.`getSpec()` Get the specification of the vehicle
    `VehicleSpec` | BasicVehicle.NonAccelMovement.`getVehicleSpec()` Get the vehicle specification.
    `static VehicleSpec` | VehicleSpecDatabase.`getVehicleSpecById(int id)` Get the vehicle specification.
    `static VehicleSpec` | VehicleSpecDatabase.`getVehicleSpecByName(String name)` Get the vehicle specification.
    `static VehicleSpec` | VinRegistry.`getVehicleSpecFromVIN(int vin)` Given a VIN, get the vehicle specification with that VIN.

    Methods in aim4.vehicle with parameters of type VehicleSpec
    Modifier and Type | Method and Description
    --- | ---
    `void` | VehicleSpec.`assign(VehicleSpec spec)` Update all values in this specification to the given specification.
    `static int` | VehicleSpecDatabase.`getIdOfVehicleSpec(VehicleSpec spec)` Get the id of the vehicle specification.
    `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.
    `static double` | VehicleUtil.`maxVelocityToStopOverDistance(VehicleSpec spec, double distance)` Calculate the maximum starting velocity for which the vehicle can stop within the given distance.
    `static void` | VehicleSpecDatabase.`registerSpec(VehicleSpec spec)` Register a vehicle specification.
    `static boolean` | VehicleSpecDatabase.`replaceSpec(VehicleSpec spec)` Place an registered vehicle spec with a new one.

    Constructors in aim4.vehicle with parameters of type VehicleSpec
    Constructor and Description
    `BasicAutoVehicle(VehicleSpec spec, Point2D pos, double heading, double steeringAngle, double velocity, double targetVelocity, double acceleration, double currentTime)` Construct a vehicle
    `BasicVehicle.MoveToTargetVelocityMovement(VehicleSpec spec, Point2D position, double heading, double velocity, double steeringAngle, double acceleration, double targetVelocity)` Create a move-to-target-velocity movement.
    `BasicVehicle.NonAccelMovement(VehicleSpec spec, Point2D position, double heading, double velocity)` Create a non-acceleration movement.
    `BasicVehicle.SteeringMovement(VehicleSpec spec, Point2D position, double heading, double velocity, double steeringAngle)` Create a steering movement.
    `BasicVehicle.TrackMovement(VehicleSpec spec, Point2D position, double heading, double velocity, TrackPosition trackPosition, BasicVehicle.MovementFactory baseMovementFactory)` Create a track movement.
    `BasicVehicle(VehicleSpec spec, Point2D pos, double heading, double velocity, double steeringAngle, double acceleration, double targetVelocity, double currentTime)` Construct a vehicle

Copyright © 2013. All rights reserved.