Package org.opentcs.data.model

# Class Vehicle

java.lang.Object
org.opentcs.data.TCSObject<Vehicle>
org.opentcs.data.model.Vehicle

All Implemented Interfaces:
  `java.io.Serializable`

    public class Vehicle
    extends TCSObject<Vehicle>
    implements java.io.Serializable

Describes a vehicle's current state.

See Also:
  Serialized Form

- ## Nested Class Summary

  Nested Classes
  Modifier and Type | Class | Description
  --- | --- | ---
  `static class` | `Vehicle.IntegrationLevel` | A vehicle's state of integration into the system.
  `static class` | `Vehicle.Layout` | Contains information regarding the grahical representation of a vehicle.
  `static class` | `Vehicle.Orientation` | The elements of this enumeration represent the possible orientations of a vehicle.
  `static class` | `Vehicle.ProcState` | A vehicle's processing state as seen by the dispatcher.
  `static class` | `Vehicle.State` | The elements of this enumeration describe the various possible states of a vehicle.

- ## Field Summary

  Fields
  Modifier and Type | Field | Description
  --- | --- | ---
  `static java.lang.String` | `PREFERRED_ADAPTER` | The key for a property to store the class name of the preferred communication adapter (factory) for this vehicle.
  `static int` | `ROUTE_INDEX_DEFAULT` | A value indicating that no route steps have been travelled for the current drive order, yet.

  ### Fields inherited from class org.opentcs.data.TCSObject

  `reference`

- ## Constructor Summary

  Constructors
  Constructor | Description
  --- | ---
  `Vehicle​(java.lang.String name)` | Creates a new vehicle.

- ## Method Summary

  Modifier and Type | Method | Description
  --- | --- | ---
  `java.util.List<java.util.Set<TCSResourceReference<?>>>` | `getAllocatedResources()` | Returns the resources this vehicle has allocated.
  `java.util.Set<java.lang.String>` | `getAllowedOrderTypes()` | Returns the set of order types this vehicle is allowed to process.
  `java.util.List<java.util.Set<TCSResourceReference<?>>>` | `getClaimedResources()` | Returns the resources this vehicle has claimed for future allocation.
  `TCSObjectReference<Point>` | `getCurrentPosition()` | Returns a reference to the point this vehicle currently occupies.
  `int` | `getEnergyLevel()` | Returns this vehicle's remaining energy (in percent of the maximum).
  `int` | `getEnergyLevelCritical()` | Returns this vehicle's critical energy level (in percent of the maximum).
  `int` | `getEnergyLevelFullyRecharged()` | Returns this vehicle's energy level for being fully recharged (in percent of the maximum).
  `int` | `getEnergyLevelGood()` | Returns this vehicle's good energy level (in percent of the maximum).
  `int` | `getEnergyLevelSufficientlyRecharged()` | Returns this vehicle's energy level for being sufficiently recharged (in percent of the maximum).
  `Vehicle.IntegrationLevel` | `getIntegrationLevel()` | Returns this vehicle's integration level.
  `Vehicle.Layout` | `getLayout()` | Returns the information regarding the grahical representation of this vehicle.
  `int` | `getLength()` | Returns this vehicle's current length.
  `java.util.List<LoadHandlingDevice>` | `getLoadHandlingDevices()` | Returns the current (state of the) load handling devices of this vehicle.
  `int` | `getMaxReverseVelocity()` | Returns this vehicle's maximum reverse velocity (in mm/s).
  `int` | `getMaxVelocity()` | Returns this vehicle's maximum velocity (in mm/s).
  `TCSObjectReference<Point>` | `getNextPosition()` | Returns a reference to the point this vehicle is expected to be seen at next.
  `TCSObjectReference<OrderSequence>` | `getOrderSequence()` | Returns a reference to the order sequence this vehicle is currently processing.
  `double` | `getOrientationAngle()` | Returns the vehicle's current orientation angle (-360..360).
  `Triple` | `getPrecisePosition()` | Returns the vehicle's position in world coordinates [mm], independent from logical positions/point names.
  `Vehicle.ProcState` | `getProcState()` | Returns this vehicle's current processing state.
  `java.lang.String` | `getRechargeOperation()` | Returns the operation that the vehicle's current communication adapter accepts as a command to recharge the vehicle.
  `int` | `getRouteProgressIndex()` | Returns the index of the last route step travelled for the current drive order of the current transport order.
  `Vehicle.State` | `getState()` | Returns this vehicle's current state.
  `TCSObjectReference<TransportOrder>` | `getTransportOrder()` | Returns a reference to the transport order this vehicle is currently processing.
  `boolean` | `hasProcState​(Vehicle.ProcState otherState)` | Checks if this vehicle's current processing state is equal to the given one.
  `boolean` | `hasState​(Vehicle.State otherState)` | Checks if this vehicle's current state is equal to the given one.
  `boolean` | `isEnergyLevelCritical()` | Checks whether the vehicle's energy level is critical.
  `boolean` | `isEnergyLevelDegraded()` | Checks whether the vehicle's energy level is degraded (not good any more).
  `boolean` | `isEnergyLevelFullyRecharged()` | Checks whether the vehicle's energy level is fully recharged.
  `boolean` | `isEnergyLevelGood()` | Checks whether the vehicle's energy level is good.
  `boolean` | `isEnergyLevelSufficientlyRecharged()` | Checks whether the vehicle's energy level is sufficiently recharged.
  `boolean` | `isProcessingOrder()` | Checks if this vehicle is currently processing any transport order.
  `java.lang.String` | `toString()` |
  `Vehicle` | `withAllocatedResources​(java.util.List<java.util.Set<TCSResourceReference<?>>> allocatedResources)` | Creates a copy of this object, with the given allocated resources.
  `Vehicle` | `withAllowedOrderTypes​(java.util.Set<java.lang.String> allowedOrderTypes)` | Creates a copy of this object, with the given set of allowed order types.
  `Vehicle` | `withClaimedResources​(java.util.List<java.util.Set<TCSResourceReference<?>>> claimedResources)` | Creates a copy of this object, with the given claimed resources.
  `Vehicle` | `withCurrentPosition​(TCSObjectReference<Point> currentPosition)` | Creates a copy of this object, with the given current position.
  `Vehicle` | `withEnergyLevel​(int energyLevel)` | Creates a copy of this object, with the given energy level.
  `Vehicle` | `withEnergyLevelCritical​(int energyLevelCritical)` | Creates a copy of this object, with the given critical energy level.
  `Vehicle` | `withEnergyLevelFullyRecharged​(int energyLevelFullyRecharged)` | Creates a copy of this object, with the given fully recharged energy level.
  `Vehicle` | `withEnergyLevelGood​(int energyLevelGood)` | Creates a copy of this object, with the given good energy level.
  `Vehicle` | `withEnergyLevelSufficientlyRecharged​(int energyLevelSufficientlyRecharged)` | Creates a copy of this object, with the given sufficiently recharged energy level.
  `TCSObject<Vehicle>` | `withHistory​(ObjectHistory history)` | Creates a copy of this object, with the given history.
  `TCSObject<Vehicle>` | `withHistoryEntry​(ObjectHistory.Entry entry)` | Creates a copy of this object, with the given history entry integrated.
  `Vehicle` | `withIntegrationLevel​(Vehicle.IntegrationLevel integrationLevel)` | Creates a copy of this object, with the given integration level.
  `Vehicle` | `withLayout​(Vehicle.Layout layout)` | Creates a copy of this object, with the given layout.
  `Vehicle` | `withLength​(int length)` | Creates a copy of this object, with the given length.
  `Vehicle` | `withLoadHandlingDevices​(java.util.List<LoadHandlingDevice> loadHandlingDevices)` | Creates a copy of this object, with the given load handling devices.
  `Vehicle` | `withMaxReverseVelocity​(int maxReverseVelocity)` | Creates a copy of this object, with the given maximum reverse velocity.
  `Vehicle` | `withMaxVelocity​(int maxVelocity)` | Creates a copy of this object, with the given maximum velocity.
  `Vehicle` | `withNextPosition​(TCSObjectReference<Point> nextPosition)` | Creates a copy of this object, with the given next position.
  `Vehicle` | `withOrderSequence​(TCSObjectReference<OrderSequence> orderSequence)` | Creates a copy of this object, with the given order sequence.
  `Vehicle` | `withOrientationAngle​(double orientationAngle)` | Creates a copy of this object, with the given orientation angle.
  `Vehicle` | `withPrecisePosition​(Triple precisePosition)` | Creates a copy of this object, with the given precise position.
  `Vehicle` | `withProcState​(Vehicle.ProcState procState)` | Creates a copy of this object, with the given processing state.
  `Vehicle` | `withProperties​(java.util.Map<java.lang.String,​java.lang.String> properties)` | Creates a copy of this object, with the given properties.
  `Vehicle` | `withProperty​(java.lang.String key, java.lang.String value)` | Creates a copy of this object, with the given property integrated.
  `Vehicle` | `withRechargeOperation​(java.lang.String rechargeOperation)` | Creates a copy of this object, with the given recharge operation.
  `Vehicle` | `withRouteProgressIndex​(int routeProgressIndex)` | Creates a copy of this object, with the given route progress index.
  `Vehicle` | `withState​(Vehicle.State state)` | Creates a copy of this object, with the given state.
  `Vehicle` | `withTransportOrder​(TCSObjectReference<TransportOrder> transportOrder)` | Creates a copy of this object, with the given transport order.

  ### Methods inherited from class org.opentcs.data.TCSObject

  `equals, getHistory, getName, getProperties, getProperty, getReference, hashCode, listWithoutNullValues, mapWithoutNullValues, propertiesWith, setWithoutNullValues`

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

  `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- ## Field Details

  - ### ROUTE_INDEX_DEFAULT

    public static final int ROUTE_INDEX_DEFAULT
    A value indicating that no route steps have been travelled for the current drive order, yet.
    See Also:
      Constant Field Values

  - ### PREFERRED_ADAPTER

    public static final java.lang.String PREFERRED_ADAPTER
    The key for a property to store the class name of the preferred communication adapter (factory) for this vehicle.
    See Also:
      Constant Field Values

- ## Constructor Details

  - ### Vehicle

    public Vehicle​(java.lang.String name)
    Creates a new vehicle.
    Parameters:
      `name` - The new vehicle's name.

- ## Method Details

  - ### withProperty

    public Vehicle withProperty​(java.lang.String key, java.lang.String value)
    Description copied from class: `TCSObject`
    Creates a copy of this object, with the given property integrated.
    Specified by:
      `withProperty` in class `TCSObject<Vehicle>`
    Parameters:
      `key` - The key of the property to be changed.
      `value` - The new value of the property, or `null`, if the property is to be removed.
    Returns:
      A copy of this object, with the given property integrated.

  - ### withProperties

    public Vehicle withProperties​(java.util.Map<java.lang.String,​java.lang.String> properties)
    Description copied from class: `TCSObject`
    Creates a copy of this object, with the given properties.
    Specified by:
      `withProperties` in class `TCSObject<Vehicle>`
    Parameters:
      `properties` - The properties.
    Returns:
      A copy of this object, with the given properties.

  - ### withHistoryEntry

    public TCSObject<Vehicle> withHistoryEntry​(ObjectHistory.Entry entry)
    Description copied from class: `TCSObject`
    Creates a copy of this object, with the given history entry integrated.
    Specified by:
      `withHistoryEntry` in class `TCSObject<Vehicle>`
    Parameters:
      `entry` - The history entry to be integrated.
    Returns:
      A copy of this object, with the given history entry integrated.

  - ### withHistory

    public TCSObject<Vehicle> withHistory​(ObjectHistory history)
    Description copied from class: `TCSObject`
    Creates a copy of this object, with the given history.
    Specified by:
      `withHistory` in class `TCSObject<Vehicle>`
    Parameters:
      `history` - The history.
    Returns:
      A copy of this object, with the given history.

  - ### getEnergyLevel

    public int getEnergyLevel()
    Returns this vehicle's remaining energy (in percent of the maximum).
    Returns:
      This vehicle's remaining energy.

  - ### withEnergyLevel

    public Vehicle withEnergyLevel​(int energyLevel)
    Creates a copy of this object, with the given energy level.
    Parameters:
      `energyLevel` - The value to be set in the copy.
    Returns:
      A copy of this object, differing in the given value.

  - ### isEnergyLevelCritical

    public boolean isEnergyLevelCritical()
    Checks whether the vehicle's energy level is critical.
    Returns:
      `true` if, and only if, the vehicle's energy level is critical.

  - ### isEnergyLevelDegraded

    public boolean isEnergyLevelDegraded()
    Checks whether the vehicle's energy level is degraded (not good any more).
    Returns:
      `true` if, and only if, the vehicle's energy level is degraded.

  - ### isEnergyLevelGood

    public boolean isEnergyLevelGood()
    Checks whether the vehicle's energy level is good.
    Returns:
      `true` if, and only if, the vehicle's energy level is good.

  - ### isEnergyLevelFullyRecharged

    public boolean isEnergyLevelFullyRecharged()
    Checks whether the vehicle's energy level is fully recharged.
    Returns:
      `true` if, and only if, the vehicle's energy level is fully recharged.

  - ### isEnergyLevelSufficientlyRecharged

    public boolean isEnergyLevelSufficientlyRecharged()
    Checks whether the vehicle's energy level is sufficiently recharged.
    Returns:
      `true` if, and only if, the vehicle's energy level is sufficiently recharged.

  - ### getEnergyLevelCritical

    public int getEnergyLevelCritical()
    Returns this vehicle's critical energy level (in percent of the maximum). The critical energy level is the one at/below which the vehicle should be recharged.
    Returns:
      This vehicle's critical energy level.

  - ### withEnergyLevelCritical

    public Vehicle withEnergyLevelCritical​(int energyLevelCritical)
    Creates a copy of this object, with the given critical energy level.
    Parameters:
      `energyLevelCritical` - The value to be set in the copy.
    Returns:
      A copy of this object, differing in the given value.

  - ### getEnergyLevelGood

    public int getEnergyLevelGood()
    Returns this vehicle's good energy level (in percent of the maximum). The good energy level is the one at/above which the vehicle can be dispatched again when charging.
    Returns:
      This vehicle's good energy level.

  - ### withEnergyLevelGood

    public Vehicle withEnergyLevelGood​(int energyLevelGood)
    Creates a copy of this object, with the given good energy level.
    Parameters:
      `energyLevelGood` - The value to be set in the copy.
    Returns:
      A copy of this object, differing in the given value.

  - ### getEnergyLevelFullyRecharged

    public int getEnergyLevelFullyRecharged()
    Returns this vehicle's energy level for being fully recharged (in percent of the maximum).
    Returns:
      This vehicle's fully recharged treshold.

  - ### withEnergyLevelFullyRecharged

    public Vehicle withEnergyLevelFullyRecharged​(int energyLevelFullyRecharged)
    Creates a copy of this object, with the given fully recharged energy level.
    Parameters:
      `energyLevelFullyRecharged` - The value to be set in the copy.
    Returns:
      A copy of this object, differing in the given value.

  - ### getEnergyLevelSufficientlyRecharged

    public int getEnergyLevelSufficientlyRecharged()
    Returns this vehicle's energy level for being sufficiently recharged (in percent of the maximum).
    Returns:
      This vehicle's sufficiently recharged energy level.

  - ### withEnergyLevelSufficientlyRecharged

    public Vehicle withEnergyLevelSufficientlyRecharged​(int energyLevelSufficientlyRecharged)
    Creates a copy of this object, with the given sufficiently recharged energy level.
    Parameters:
      `energyLevelSufficientlyRecharged` - The value to be set in the copy.
    Returns:
      A copy of this object, differing in the given value.

  - ### getRechargeOperation

    public java.lang.String getRechargeOperation()
    Returns the operation that the vehicle's current communication adapter accepts as a command to recharge the vehicle.
    Returns:
      The operation that the vehicle's current communication adapter accepts as a command to recharge the vehicle.

  - ### withRechargeOperation

    public Vehicle withRechargeOperation​(java.lang.String rechargeOperation)
    Creates a copy of this object, with the given recharge operation.
    Parameters:
      `rechargeOperation` - The value to be set in the copy.
    Returns:
      A copy of this object, differing in the given value.

  - ### getLoadHandlingDevices

    public java.util.List<LoadHandlingDevice> getLoadHandlingDevices()
    Returns the current (state of the) load handling devices of this vehicle.
    Returns:
      The current (state of the) load handling devices of this vehicle.

  - ### withLoadHandlingDevices

    public Vehicle withLoadHandlingDevices​(java.util.List<LoadHandlingDevice> loadHandlingDevices)
    Creates a copy of this object, with the given load handling devices.
    Parameters:
      `loadHandlingDevices` - The value to be set in the copy.
    Returns:
      A copy of this object, differing in the given value.

  - ### getMaxVelocity

    public int getMaxVelocity()
    Returns this vehicle's maximum velocity (in mm/s).
    Returns:
      This vehicle's maximum velocity (in mm/s).

  - ### withMaxVelocity

    public Vehicle withMaxVelocity​(int maxVelocity)
    Creates a copy of this object, with the given maximum velocity.
    Parameters:
      `maxVelocity` - The value to be set in the copy.
    Returns:
      A copy of this object, differing in the given value.

  - ### getMaxReverseVelocity

    public int getMaxReverseVelocity()
    Returns this vehicle's maximum reverse velocity (in mm/s).
    Returns:
      This vehicle's maximum reverse velocity (in mm/s).

  - ### withMaxReverseVelocity

    public Vehicle withMaxReverseVelocity​(int maxReverseVelocity)
    Creates a copy of this object, with the given maximum reverse velocity.
    Parameters:
      `maxReverseVelocity` - The value to be set in the copy.
    Returns:
      A copy of this object, differing in the given value.

  - ### getState

    public Vehicle.State getState()
    Returns this vehicle's current state.
    Returns:
      This vehicle's current state.

  - ### hasState

    public boolean hasState​(Vehicle.State otherState)
    Checks if this vehicle's current state is equal to the given one.
    Parameters:
      `otherState` - The state to compare to this vehicle's one.
    Returns:
      `true` if, and only if, the given state is equal to this vehicle's one.

  - ### withState

    public Vehicle withState​(Vehicle.State state)
    Creates a copy of this object, with the given state.
    Parameters:
      `state` - The value to be set in the copy.
    Returns:
      A copy of this object, differing in the given value.

  - ### getProcState

    public Vehicle.ProcState getProcState()
    Returns this vehicle's current processing state.
    Returns:
      This vehicle's current processing state.

  - ### getIntegrationLevel

    public Vehicle.IntegrationLevel getIntegrationLevel()
    Returns this vehicle's integration level.
    Returns:
      This vehicle's integration level.

  - ### withIntegrationLevel

    public Vehicle withIntegrationLevel​(Vehicle.IntegrationLevel integrationLevel)
    Creates a copy of this object, with the given integration level.
    Parameters:
      `integrationLevel` - The value to be set in the copy.
    Returns:
      A copy of this object, differing in the given value.

  - ### hasProcState

    public boolean hasProcState​(Vehicle.ProcState otherState)
    Checks if this vehicle's current processing state is equal to the given one.
    Parameters:
      `otherState` - The state to compare to this vehicle's one.
    Returns:
      `true` if, and only if, the given state is equal to this vehicle's one.

  - ### withProcState

    public Vehicle withProcState​(Vehicle.ProcState procState)
    Creates a copy of this object, with the given processing state.
    Parameters:
      `procState` - The value to be set in the copy.
    Returns:
      A copy of this object, differing in the given value.

  - ### getLength

    public int getLength()
    Returns this vehicle's current length.
    Returns:
      this vehicle's current length.

  - ### withLength

    public Vehicle withLength​(int length)
    Creates a copy of this object, with the given length.
    Parameters:
      `length` - The value to be set in the copy.
    Returns:
      A copy of this object, differing in the given value.

  - ### getTransportOrder

    public TCSObjectReference<TransportOrder> getTransportOrder()
    Returns a reference to the transport order this vehicle is currently processing.
    Returns:
      A reference to the transport order this vehicle is currently processing, or `null`, if it is not processing any transport order at the moment.

  - ### withTransportOrder

    public Vehicle withTransportOrder​(TCSObjectReference<TransportOrder> transportOrder)
    Creates a copy of this object, with the given transport order.
    Parameters:
      `transportOrder` - The value to be set in the copy.
    Returns:
      A copy of this object, differing in the given value.

  - ### getOrderSequence

    public TCSObjectReference<OrderSequence> getOrderSequence()
    Returns a reference to the order sequence this vehicle is currently processing.
    Returns:
      A reference to the order sequence this vehicle is currently processing, or `null`, if it is not processing any order sequence at the moment.

  - ### withOrderSequence

    public Vehicle withOrderSequence​(TCSObjectReference<OrderSequence> orderSequence)
    Creates a copy of this object, with the given order sequence.
    Parameters:
      `orderSequence` - The value to be set in the copy.
    Returns:
      A copy of this object, differing in the given value.

  - ### getAllowedOrderTypes

    public java.util.Set<java.lang.String> getAllowedOrderTypes()
    Returns the set of order types this vehicle is allowed to process.
    Returns:
      The set of order types this vehicle is allowed to process.

  - ### withAllowedOrderTypes

    public Vehicle withAllowedOrderTypes​(java.util.Set<java.lang.String> allowedOrderTypes)
    Creates a copy of this object, with the given set of allowed order types.
    Parameters:
      `allowedOrderTypes` - The value to be set in the copy.
    Returns:
      A copy of this object, differing in the given value.

  - ### getRouteProgressIndex

    public int getRouteProgressIndex()
    Returns the index of the last route step travelled for the current drive order of the current transport order.
    Returns:
      The index of the last route step travelled for the current drive order of the current transport order.

  - ### withRouteProgressIndex

    public Vehicle withRouteProgressIndex​(int routeProgressIndex)
    Creates a copy of this object, with the given route progress index.
    Parameters:
      `routeProgressIndex` - The value to be set in the copy.
    Returns:
      A copy of this object, differing in the given value.

  - ### getClaimedResources

    public java.util.List<java.util.Set<TCSResourceReference<?>>> getClaimedResources()
    Returns the resources this vehicle has claimed for future allocation.
    Returns:
      The resources this vehicle has claimed for future allocation.

  - ### withClaimedResources

    public Vehicle withClaimedResources​(java.util.List<java.util.Set<TCSResourceReference<?>>> claimedResources)
    Creates a copy of this object, with the given claimed resources.
    Parameters:
      `claimedResources` - The value to be set in the copy.
    Returns:
      A copy of this object, differing in the given value.

  - ### getAllocatedResources

    public java.util.List<java.util.Set<TCSResourceReference<?>>> getAllocatedResources()
    Returns the resources this vehicle has allocated.
    Returns:
      The resources this vehicle has allocated.

  - ### withAllocatedResources

    public Vehicle withAllocatedResources​(java.util.List<java.util.Set<TCSResourceReference<?>>> allocatedResources)
    Creates a copy of this object, with the given allocated resources.
    Parameters:
      `allocatedResources` - The value to be set in the copy.
    Returns:
      A copy of this object, differing in the given value.

  - ### getCurrentPosition

    public TCSObjectReference<Point> getCurrentPosition()
    Returns a reference to the point this vehicle currently occupies.
    Returns:
      A reference to the point this vehicle currently occupies, or `null`, if this vehicle's position is unknown or the vehicle is currently not in the system.

  - ### withCurrentPosition

    public Vehicle withCurrentPosition​(TCSObjectReference<Point> currentPosition)
    Creates a copy of this object, with the given current position.
    Parameters:
      `currentPosition` - The value to be set in the copy.
    Returns:
      A copy of this object, differing in the given value.

  - ### getNextPosition

    public TCSObjectReference<Point> getNextPosition()
    Returns a reference to the point this vehicle is expected to be seen at next.
    Returns:
      A reference to the point this vehicle is expected to be seen at next, or `null`, if this vehicle's next position is unknown.

  - ### withNextPosition

    public Vehicle withNextPosition​(TCSObjectReference<Point> nextPosition)
    Creates a copy of this object, with the given next position.
    Parameters:
      `nextPosition` - The value to be set in the copy.
    Returns:
      A copy of this object, differing in the given value.

  - ### getPrecisePosition

    public Triple getPrecisePosition()
    Returns the vehicle's position in world coordinates [mm], independent from logical positions/point names. May be `null` if the vehicle hasn't provided a precise position.
    Returns:
      The vehicle's precise position in mm.

  - ### withPrecisePosition

    public Vehicle withPrecisePosition​(Triple precisePosition)
    Creates a copy of this object, with the given precise position.
    Parameters:
      `precisePosition` - The value to be set in the copy.
    Returns:
      A copy of this object, differing in the given value.

  - ### getOrientationAngle

    public double getOrientationAngle()
    Returns the vehicle's current orientation angle (-360..360). May be `Double.NaN` if the vehicle hasn't provided an orientation angle.
    Returns:
      The vehicle's current orientation angle.

  - ### withOrientationAngle

    public Vehicle withOrientationAngle​(double orientationAngle)
    Creates a copy of this object, with the given orientation angle.
    Parameters:
      `orientationAngle` - The value to be set in the copy.
    Returns:
      A copy of this object, differing in the given value.

  - ### getLayout

    public Vehicle.Layout getLayout()
    Returns the information regarding the grahical representation of this vehicle.
    Returns:
      The information regarding the grahical representation of this vehicle.

  - ### withLayout

    public Vehicle withLayout​(Vehicle.Layout layout)
    Creates a copy of this object, with the given layout.
    Parameters:
      `layout` - The value to be set in the copy.
    Returns:
      A copy of this object, differing in the given value.

  - ### isProcessingOrder

    public boolean isProcessingOrder()
    Checks if this vehicle is currently processing any transport order.
    Returns:
      `true` if, and only if, this vehicle is currently processing a transport order.

  - ### toString

    public java.lang.String toString()
    Overrides:
      `toString` in class `TCSObject<Vehicle>`