Interface Perception<G extends Gtu>

Type Parameters:
G - GTU type
All Known Implementing Classes:
AbstractPerception

public interface Perception<G extends Gtu>
The perception module of a GTU. It is responsible for perceiving (sensing) the environment of the GTU, which includes the locations of other GTUs. Perception is done at a certain time, and the perceived information might have a limited validity.

Copyright (c) 2013-2026 Delft University of Technology, PO Box 5, 2600 AA, Delft, the Netherlands. All rights reserved.
BSD-style license. See OpenTrafficSim License.

Author:
Alexander Verbraeck, Peter Knoppers
  • Method Details

    • perceive

      Invoked by the GTU prior to determining the operational plan. If the implementation works in-sync with the tactical planner, this method is used to update perceived information. It is however possible for the implementation to ignore this and have fully autonomous perception.
      Throws:
      GtuException - when GTU has not been properly initialized.
      NetworkException - in case of inconsistencies in the network during perception calculations.
      ParameterException - in case of a parameter error.
    • getGtu

      G getGtu()
      Return the GTU of this perception.
      Returns:
      GTU of this perception
    • addPerceptionCategory

      <T extends PerceptionCategory<?, ?>> void addPerceptionCategory(T perceptionCategory)
      Adds given perception category to the perception.
      Type Parameters:
      T - perception category type
      Parameters:
      perceptionCategory - perception category
    • contains

      <T extends PerceptionCategory<?, ?>> boolean contains(Class<T> category)
      Returns whether the given perception category is present.
      Type Parameters:
      T - perception category
      Parameters:
      category - perception category class
      Returns:
      whether the given perception category is present
    • getPerceptionCategory

      <T extends PerceptionCategory<?, ?>> T getPerceptionCategory(Class<T> category) throws OperationalPlanException
      Returns the given perception category.
      Type Parameters:
      T - perception category
      Parameters:
      category - perception category class
      Returns:
      given perception category
      Throws:
      OperationalPlanException - if the perception category is not present
    • getPerceptionCategoryOptional

      <T extends PerceptionCategory<?, ?>> Optional<T> getPerceptionCategoryOptional(Class<T> category)
      Returns the given perception category.
      Type Parameters:
      T - perception category
      Parameters:
      category - perception category class
      Returns:
      given perception category, empty if not present
    • removePerceptionCategory

      void removePerceptionCategory(PerceptionCategory<?,?> perceptionCategory)
      Remove give perception category.
      Parameters:
      perceptionCategory - perception category to remove