Klasse VehicleProcessModel

java.lang.Object
org.opentcs.drivers.vehicle.VehicleProcessModel

public class VehicleProcessModel extends Object
An observable model of a vehicle's and its comm adapter's attributes.
  • Konstruktordetails

    • VehicleProcessModel

      public VehicleProcessModel(@Nonnull Vehicle attachedVehicle)
      Creates a new instance.
      Parameter:
      attachedVehicle - The vehicle attached to the new instance.
  • Methodendetails

    • addPropertyChangeListener

      public void addPropertyChangeListener(PropertyChangeListener listener)
      Registers a new property change listener with this model.
      Parameter:
      listener - The listener to be registered.
    • removePropertyChangeListener

      public void removePropertyChangeListener(PropertyChangeListener listener)
      Unregisters a property change listener from this model.
      Parameter:
      listener - The listener to be unregistered.
    • getReference

      @Nonnull public TCSObjectReference<Vehicle> getReference()
      Returns a reference to the vehicle.
      Gibt zurück:
      A reference to the vehicle.
    • getName

      @Nonnull public String getName()
      Returns the vehicle's name.
      Gibt zurück:
      The vehicle's name.
    • getNotifications

      @Nonnull public Queue<UserNotification> getNotifications()
      Returns user notifications published by the comm adapter.
      Gibt zurück:
      The notifications.
    • publishUserNotification

      public void publishUserNotification(@Nonnull UserNotification notification)
      Publishes an user notification.
      Parameter:
      notification - The notification to be published.
    • publishEvent

      public void publishEvent(@Nonnull VehicleCommAdapterEvent event)
      Publishes an event via the kernel's event mechanism.
      Parameter:
      event - The event to be published.
    • isCommAdapterEnabled

      public boolean isCommAdapterEnabled()
      Indicates whether the comm adapter is currently enabled or not.
      Gibt zurück:
      true if, and only if, the comm adapter is currently enabled.
    • setCommAdapterEnabled

      public void setCommAdapterEnabled(boolean commAdapterEnabled)
      Sets the comm adapter's enabled flag.
      Parameter:
      commAdapterEnabled - The new value.
    • isCommAdapterConnected

      public boolean isCommAdapterConnected()
      Indicates whether the comm adapter is currently connected or not.
      Gibt zurück:
      true if, and only if, the comm adapter is currently connected.
    • setCommAdapterConnected

      public void setCommAdapterConnected(boolean commAdapterConnected)
      Sets the comm adapter's connected flag.
      Parameter:
      commAdapterConnected - The new value.
    • getPosition

      @Nullable public String getPosition()
      Returns the vehicle's current position.
      Gibt zurück:
      The position.
    • setPosition

      public void setPosition(@Nullable String position)
      Updates the vehicle's current position.
      Parameter:
      position - The new position
    • getPrecisePosition

      @Deprecated @ScheduledApiChange(when="7.0", details="Will be removed.") @Nullable public Triple getPrecisePosition()
      Veraltet.
      Use getPose() instead.
      Returns the vehicle's precise position.
      Gibt zurück:
      The vehicle's precise position.
    • setPrecisePosition

      @Deprecated @ScheduledApiChange(when="7.0", details="Will be removed.") public void setPrecisePosition(@Nullable Triple position)
      Veraltet.
      Use setPose(Pose)} instead.
      Sets the vehicle's precise position.
      Parameter:
      position - The new position.
    • getOrientationAngle

      @Deprecated @ScheduledApiChange(when="7.0", details="Will be removed.") public double getOrientationAngle()
      Veraltet.
      Use getPose() instead.
      Returns the vehicle's current orientation angle.
      Gibt zurück:
      The vehicle's current orientation angle.
      Siehe auch:
    • setOrientationAngle

      @Deprecated @ScheduledApiChange(when="7.0", details="Will be removed.") public void setOrientationAngle(double angle)
      Veraltet.
      Use setPose(Pose) instead.
      Sets the vehicle's current orientation angle.
      Parameter:
      angle - The new angle
    • getPose

      @Nonnull public Pose getPose()
      Returns the vehicle's pose.
      Gibt zurück:
      The vehicle's pose.
    • setPose

      public void setPose(@Nonnull Pose pose)
      Sets the vehicle's pose.
      Parameter:
      pose - The new pose
    • getEnergyLevel

      public int getEnergyLevel()
      Returns the vehicle's current energy level.
      Gibt zurück:
      The vehicle's current energy level.
    • setEnergyLevel

      public void setEnergyLevel(int newLevel)
      Sets the vehicle's current energy level.
      Parameter:
      newLevel - The new level.
    • getLoadHandlingDevices

      @Nonnull public List<LoadHandlingDevice> getLoadHandlingDevices()
      Returns the vehicle's load handling devices.
      Gibt zurück:
      The vehicle's load handling devices.
    • setLoadHandlingDevices

      public void setLoadHandlingDevices(@Nonnull List<LoadHandlingDevice> devices)
      Sets the vehicle's load handling devices.
      Parameter:
      devices - The new devices
    • setProperty

      public void setProperty(@Nonnull String key, @Nullable String value)
      Sets a property of the vehicle.
      Parameter:
      key - The property's key.
      value - The property's new value.
    • getState

      @Nonnull public Vehicle.State getState()
      Returns the vehicle's current state.
      Gibt zurück:
      The state
    • setState

      public void setState(@Nonnull Vehicle.State newState)
      Sets the vehicle's current state.
      Parameter:
      newState - The new state
    • getLength

      @Deprecated @ScheduledApiChange(when="7.0", details="Will be removed.") public int getLength()
      Veraltet.
      Use getBoundingBox() instead.
      Returns the vehicle's current length.
      Gibt zurück:
      The vehicle's current length.
    • setLength

      @Deprecated @ScheduledApiChange(when="7.0", details="Will be removed.") public void setLength(int length)
      Veraltet.
      Sets the vehicle's current length.
      Parameter:
      length - The new length.
    • getBoundingBox

      @Nonnull public BoundingBox getBoundingBox()
      Returns the vehicle's current bounding box.
      Gibt zurück:
      The vehicle's current bounding box.
    • setBoundingBox

      public void setBoundingBox(@Nonnull BoundingBox boundingBox)
      Sets the vehicle's current bounding box.
      Parameter:
      boundingBox - The new bounding box.
    • setTransportOrderProperty

      public void setTransportOrderProperty(@Nonnull String key, @Nullable String value)
      Sets a property of the transport order the vehicle is currently processing.
      Parameter:
      key - The property's key.
      value - The property's new value.
    • commandEnqueued

      public void commandEnqueued(@Nonnull MovementCommand enqueuedCommand)
      Notifies observers that the given command has been added to the comm adapter's command queue.
      Parameter:
      enqueuedCommand - The command that has been added to the queue.
    • commandSent

      public void commandSent(@Nonnull MovementCommand sentCommand)
      Notifies observers that the given command has been sent to the associated vehicle.
      Parameter:
      sentCommand - The command that has been sent to the vehicle.
    • commandExecuted

      public void commandExecuted(@Nonnull MovementCommand executedCommand)
      Notifies observers that the given command has been executed by the comm adapter/vehicle.
      Parameter:
      executedCommand - The command that has been executed.
    • commandFailed

      public void commandFailed(@Nonnull MovementCommand failedCommand)
      Notifies observers that the given command could not be executed by the comm adapter/vehicle.
      Parameter:
      failedCommand - The command that could not be executed.
    • integrationLevelChangeRequested

      public void integrationLevelChangeRequested(@Nonnull Vehicle.IntegrationLevel level)
      Notifies observers that the vehicle would like to have its integration level changed.
      Parameter:
      level - The integration level to change to.
    • transportOrderWithdrawalRequested

      public void transportOrderWithdrawalRequested(boolean forced)
      Notifies observers that the vehicle would like to have its current transport order withdrawn.
      Parameter:
      forced - Whether a forced withdrawal is requested.
    • getPropertyChangeSupport

      protected PropertyChangeSupport getPropertyChangeSupport()