Interface NeighborsPerception
-
- All Superinterfaces:
LaneBasedPerceptionCategory
,PerceptionCategory<LaneBasedGTU,LanePerception>
- All Known Implementing Classes:
DirectNeighborsPerception
public interface NeighborsPerception extends LaneBasedPerceptionCategory
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 14 feb. 2017
- Author:
- Alexander Verbraeck, Peter Knoppers, Wouter Schakel
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description SortedSet<HeadwayGTU>
getFirstFollowers(LateralDirectionality lat)
Set of followers on a lane, which is usually 0 or 1, but possibly more in case of an upstream merge with no intermediate GTU.SortedSet<HeadwayGTU>
getFirstLeaders(LateralDirectionality lat)
Set of leaders on a lane, which is usually 0 or 1, but possibly more in case of a downstream split with no intermediate GTU.PerceptionCollectable<HeadwayGTU,LaneBasedGTU>
getFollowers(RelativeLane lane)
Set of followers on a lane, including adjacent GTU's who's FRONT is back of the own vehicle FRONT.PerceptionCollectable<HeadwayGTU,LaneBasedGTU>
getLeaders(RelativeLane lane)
Set of leaders on a lane, including adjacent GTU's who's FRONT is ahead of the own vehicle FRONT.boolean
isGtuAlongside(LateralDirectionality lat)
Whether there is a GTU alongside, i.e.-
Methods inherited from interface org.opentrafficsim.core.gtu.perception.PerceptionCategory
updateAll
-
-
-
-
Method Detail
-
getFirstLeaders
SortedSet<HeadwayGTU> getFirstLeaders(LateralDirectionality lat) throws org.opentrafficsim.base.parameters.ParameterException, NullPointerException, IllegalArgumentException
Set of leaders on a lane, which is usually 0 or 1, but possibly more in case of a downstream split with no intermediate GTU. This is shown below. Suppose A needs to go straight. If A considers a lane change to the left, both GTUs B (who's tail ~ is still on the straight lane) and C need to be considered for whether it's safe to do so. In case of multiple splits close to one another, the returned set may contain even more than 2 leaders. Leaders are sorted by headway value.| | _________/B/_____ _ _?_ _ _~_ _C_ _ _ _A_ _ _ _ _ _ _ _________________
Only vehicles who's rear is beyond the own front are considered, no alongside vehicles.
- Parameters:
lat
- LateralDirectionality; LEFT or RIGHT- Returns:
- list of followers on a lane
- Throws:
org.opentrafficsim.base.parameters.ParameterException
- if parameter is not definedNullPointerException
- iflat
isnull
IllegalArgumentException
- iflat
isNONE
-
getFirstFollowers
SortedSet<HeadwayGTU> getFirstFollowers(LateralDirectionality lat) throws org.opentrafficsim.base.parameters.ParameterException, NullPointerException, IllegalArgumentException
Set of followers on a lane, which is usually 0 or 1, but possibly more in case of an upstream merge with no intermediate GTU. This is shown below. If A considers a lane change to the left, both GTUs B and C need to be considered for whether it's safe to do so. In case of multiple merges close to one another, the returned set may contain even more than 2 followers. Followers are sorted by tailway value.| | |C| ________\ \______ _ _B_|_ _ _ _ _?_ _ _ _|_ _ _ _ _A_ _____|___________
Only vehicles who's front is before the own rear are considered, no alongside vehicles.
- Parameters:
lat
- LateralDirectionality; LEFT or RIGHT- Returns:
- list of followers on a lane
- Throws:
org.opentrafficsim.base.parameters.ParameterException
- if parameter is not definedNullPointerException
- iflat
isnull
IllegalArgumentException
- iflat
isNONE
-
isGtuAlongside
boolean isGtuAlongside(LateralDirectionality lat) throws org.opentrafficsim.base.parameters.ParameterException, NullPointerException, IllegalArgumentException
Whether there is a GTU alongside, i.e. with overlap, in an adjacent lane.- Parameters:
lat
- LateralDirectionality; LEFT or RIGHT- Returns:
- whether there is a GTU alongside, i.e. with overlap, in an adjacent lane
- Throws:
org.opentrafficsim.base.parameters.ParameterException
- if parameter is not definedNullPointerException
- iflat
isnull
IllegalArgumentException
- iflat
isNONE
-
getLeaders
PerceptionCollectable<HeadwayGTU,LaneBasedGTU> getLeaders(RelativeLane lane)
Set of leaders on a lane, including adjacent GTU's who's FRONT is ahead of the own vehicle FRONT. Leaders are sorted by headway value.- Parameters:
lane
- RelativeLane; relative lateral lane- Returns:
- set of leaders on a lane, including adjacent GTU's who's FRONT is ahead of the own vehicle FRONT
-
getFollowers
PerceptionCollectable<HeadwayGTU,LaneBasedGTU> getFollowers(RelativeLane lane)
Set of followers on a lane, including adjacent GTU's who's FRONT is back of the own vehicle FRONT. Follower are are sorted by distance.- Parameters:
lane
- RelativeLane; relative lateral lane- Returns:
- set of followers on a lane, including adjacent GTU's who's FRONT is back of the own vehicle FRONT
-
-