Class AbstractPerception<G extends GTU>
- java.lang.Object
-
- org.opentrafficsim.core.gtu.perception.AbstractPerception<G>
-
- Type Parameters:
G
- GTU type
- All Implemented Interfaces:
Serializable
,Perception<G>
public abstract class AbstractPerception<G extends GTU> extends Object implements Perception<G>
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.- Version:
- $Revision$, $LastChangedDate$, by $Author$, initial version Jul 29, 2016
- Author:
- Alexander Verbraeck, Peter Knoppers, Wouter Schakel
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description AbstractPerception(G gtu)
Construct perception.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description <T extends PerceptionCategory<?,?>>
voidaddPerceptionCategory(T perceptionCategory)
Adds given perception category to the perception.<T extends PerceptionCategory<?,?>>
booleancontains(Class<T> category)
Returns whether the given perception category is present.G
getGtu()
Return the GTU of this perception.<T extends PerceptionCategory<?,?>>
TgetPerceptionCategory(Class<T> category)
Returns the given perception category.<T extends PerceptionCategory<?,?>>
TgetPerceptionCategoryOrNull(Class<T> category)
Returns the given perception category, ornull
if not present.void
perceive()
Invoked by the GTU prior to determining the operational plan.void
removePerceptionCategory(PerceptionCategory<?,?> perceptionCategory)
Remove give perception category.String
toString()
-
-
-
Constructor Detail
-
AbstractPerception
public AbstractPerception(G gtu)
Construct perception.- Parameters:
gtu
- G; GTU
-
-
Method Detail
-
getGtu
public G getGtu()
Return the GTU of this perception.- Specified by:
getGtu
in interfacePerception<G extends GTU>
- Returns:
- GTU of this perception
-
addPerceptionCategory
public final <T extends PerceptionCategory<?,?>> void addPerceptionCategory(T perceptionCategory)
Adds given perception category to the perception.- Specified by:
addPerceptionCategory
in interfacePerception<G extends GTU>
- Type Parameters:
T
- perception category type- Parameters:
perceptionCategory
- T; perception category
-
contains
public final <T extends PerceptionCategory<?,?>> boolean contains(Class<T> category)
Returns whether the given perception category is present.- Specified by:
contains
in interfacePerception<G extends GTU>
- Type Parameters:
T
- perception category- Parameters:
category
- Class<T>; perception category class- Returns:
- whether the given perception category is present
-
getPerceptionCategory
public final <T extends PerceptionCategory<?,?>> T getPerceptionCategory(Class<T> category) throws OperationalPlanException
Returns the given perception category.- Specified by:
getPerceptionCategory
in interfacePerception<G extends GTU>
- 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
public final <T extends PerceptionCategory<?,?>> T getPerceptionCategoryOrNull(Class<T> category)
Returns the given perception category, ornull
if not present.- Specified by:
getPerceptionCategoryOrNull
in interfacePerception<G extends GTU>
- Type Parameters:
T
- perception category- Parameters:
category
- Class<T>; perception category class- Returns:
- given perception category
-
removePerceptionCategory
public final void removePerceptionCategory(PerceptionCategory<?,?> perceptionCategory)
Remove give perception category.- Specified by:
removePerceptionCategory
in interfacePerception<G extends GTU>
- Parameters:
perceptionCategory
- PerceptionCategory<?,?>; perception category to remove
-
perceive
public 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.- Specified by:
perceive
in interfacePerception<G extends GTU>
- 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.
-
-