aim4.vehicle

## Interface VehicleSimView

- All Superinterfaces:
    VehicleDriverView
  All Known Subinterfaces:
    AutoVehicleSimView, HumanDrivenVehicleSimView, ProxyVehicleSimView
  All Known Implementing Classes:
    BasicAutoVehicle, BasicVehicle, ProxyVehicle

      public interface VehicleSimView
      extends VehicleDriverView

  The interface of a vehicle from the viewpoint of a simulator.

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `checkCurrentTime(double currentTime)` Check whether this vehicle's time is current.
    `double` | `getAcceleration()` Get the acceleration of the vehicle
    `Point2D` | `getCenterPoint()` Get the location of the center of the Vehicle at this point in time.
    `Point2D[]` | `getCornerPoints()` Get the current global coordinates of the corners of this Vehicle.
    `List<Line2D>` | `getEdges()` Get the edges that represent the boundaries of this Vehicle.
    `double` | `getHeading()` Get the heading of the vehicle
    `Point2D` | `getPointAtMiddleFront(double delta)` Get the point in front of the middle point of the vehicle that is at the distance of delta away from the vehicle.
    `Point2D` | `getPointAtRear()` Get the point at the rear center of the Vehicle.
    `Point2D` | `getPosition()` Get the position of the vehicle.
    `Shape` | `getShape()` Get a `Shape` describing the Vehicle.
    `Shape` | `getShape(double extra)` Get a {link Shape} describing this Vehicle, if it were larger in each dimension.
    `Queue<V2IMessage>` | `getV2IOutbox()` Get the queue of V2I messages waiting to be delivered from this Vehicle.
    `double` | `getVelocity()` Get the velocity of the vehicle
    `Shape[]` | `getWheelShapes()` Get the Shapes of each of the wheels.
    `void` | `move(double timeStep)` Move a single Vehicle according to some approximation of the laws of physics.
    `void` | `setDriver(AutoDriver driver)` Set this Vehicle's Driver.
    `void` | `setVIN(int vin)` Set the VIN number of this Vehicle.

    - ### Methods inherited from interface aim4.vehicle.VehicleDriverView

      `coast, gaugeHeading, gaugePointAtMiddleFront, gaugePointAtRear, gaugePointBetweenFrontWheels, gaugePosition, gaugeRearLeftCornerPoint, gaugeRearRightCornerPoint, gaugeShape, gaugeTime, gaugeVelocity, getAccelSchedule, getDriver, getSpec, getVIN, printState, removeAccelSchedule, setAccelSchedule, setAccelWithMaxTargetVelocity, setTargetVelocityWithMaxAccel, slowToStop, turnTowardPoint`

- - ### Method Detail

    - #### setVIN

          void setVIN(int vin)

      Set the VIN number of this Vehicle.
      Parameters:
        `vin` - the vehicle's VIN number.

    - #### setDriver

          void setDriver(AutoDriver driver)

      Set this Vehicle's Driver.
      Parameters:
        `driver` - the new driver to control this Vehicle

    - #### checkCurrentTime

          void checkCurrentTime(double currentTime)

      Check whether this vehicle's time is current.
      Parameters:
        `currentTime` - the current time

    - #### getPosition

          Point2D getPosition()

      Get the position of the vehicle.
      Returns:
        the position of the vehicle

    - #### getHeading

          double getHeading()

      Get the heading of the vehicle
      Returns:
        the heading of the vehicle

    - #### getVelocity

          double getVelocity()

      Get the velocity of the vehicle
      Returns:
        the velocity of the vehicle

    - #### getAcceleration

          double getAcceleration()

      Get the acceleration of the vehicle
      Returns:
        the acceleration of the vehicle

    - #### getShape

          Shape getShape()

      Get a `Shape` describing the Vehicle.
      Returns:
        a Shape describing this Vehicle.

    - #### getShape

          Shape getShape(double extra)

      Get a {link Shape} describing this Vehicle, if it were larger in each dimension.
      Parameters:
        `extra` - the fixed extra amount by which to increase the size of the Vehicle in each dimension
      Returns:
        a Shape describing a Vehicle larger in each dimension by the extra amount.

    - #### getEdges

          List<Line2D> getEdges()

      Get the edges that represent the boundaries of this Vehicle.
      Returns:
        an array of line segments that represent the edges of the Vehicle.

    - #### getWheelShapes

          Shape[] getWheelShapes()

      Get the Shapes of each of the wheels.
      Returns:
        an array of wheel Shapes: front left, front right, rear left, rear right

    - #### getPointAtMiddleFront

          Point2D getPointAtMiddleFront(double delta)

      Get the point in front of the middle point of the vehicle that is at the distance of delta away from the vehicle.
      Parameters:
        `delta` - the distance of the vehicle and the point
      Returns:
        the projected point

    - #### getCenterPoint

          Point2D getCenterPoint()

      Get the location of the center of the Vehicle at this point in time.
      Returns:
        the global coordinates of the center of the Vehicle.

    - #### getCornerPoints

          Point2D[] getCornerPoints()

      Get the current global coordinates of the corners of this Vehicle.
      Returns:
        an array of points representing the four corners.

    - #### getPointAtRear

          Point2D getPointAtRear()

      Get the point at the rear center of the Vehicle.
      Returns:
        the global coordinates of the point at the center of the Vehicle's rear

    - #### getV2IOutbox

          Queue<V2IMessage> getV2IOutbox()

      Get the queue of V2I messages waiting to be delivered from this Vehicle.
      Returns:
        the queue of V2I messages to be delivered from this Vehicle

    - #### move

          void move(double timeStep)

      Move a single Vehicle according to some approximation of the laws of physics.
      Parameters:
        `timeStep` - the size of the time step to simulate, in seconds

Copyright © 2013. All rights reserved.