Interface Perception<G extends GTU>

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

    public interface Perception<G extends GTU>
    extends Serializable
    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-2022 Delft University of Technology, PO Box 5, 2600 AA, Delft, the Netherlands. All rights reserved.
    BSD-style license. See OpenTrafficSim License.

    $LastChangedDate: 2015-07-24 02:58:59 +0200 (Fri, 24 Jul 2015) $, @version $Revision: 1147 $, by $Author: averbraeck $, initial version Nov 15, 2015
    Author:
    Alexander Verbraeck, Peter Knoppers
    • Method Detail

      • perceive

        void perceive()
               throws GTUException,
                      NetworkException,
                      ParameterException
        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()
          throws GTUException
        Return the GTU of this perception.
        Returns:
        GTU of this perception
        Throws:
        GTUException - if the GTU has not been initialized
      • addPerceptionCategory

        <T extends PerceptionCategory<?,​?>> void addPerceptionCategory​(T perceptionCategory)
        Adds given perception category to the perception.
        Type Parameters:
        T - perception category type
        Parameters:
        perceptionCategory - T; 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 - Class<T>; 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 - Class<T>; perception category class
        Returns:
        given perception category
        Throws:
        OperationalPlanException - if the perception category is not present
      • getPerceptionCategoryOrNull

        <T extends PerceptionCategory<?,​?>> T getPerceptionCategoryOrNull​(Class<T> category)
        Returns the given perception category, or null if not present.
        Type Parameters:
        T - perception category
        Parameters:
        category - Class<T>; perception category class
        Returns:
        given perception category
      • removePerceptionCategory

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