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.GgetGtu()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, ornullif not present.voidperceive()Invoked by the GTU prior to determining the operational plan.voidremovePerceptionCategory(PerceptionCategory<?,?> perceptionCategory)Remove give perception category.StringtoString()
-
-
-
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:
getGtuin 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:
addPerceptionCategoryin 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:
containsin 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:
getPerceptionCategoryin 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, ornullif not present.- Specified by:
getPerceptionCategoryOrNullin 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:
removePerceptionCategoryin interfacePerception<G extends GTU>- Parameters:
perceptionCategory- PerceptionCategory<?,?>; perception category to remove
-
perceive
public void perceive() throws GTUException, NetworkException, ParameterExceptionInvoked 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:
perceivein 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.
-
-