public class DirectNeighborsPerception extends LaneBasedAbstractPerceptionCategory implements NeighborsPerception
Copyright (c) 2013-2019 Delft University of Technology, PO Box 5, 2600 AA, Delft, the Netherlands. All rights reserved.
BSD-style license. See OpenTrafficSim License.
| Modifier and Type | Field and Description |
|---|---|
protected static ParameterTypeLength |
LOOKAHEAD
Look ahead parameter type.
|
protected static ParameterTypeLength |
LOOKBACK
Look back parameter type.
|
MAX_RED_DECELERATION, MAX_YELLOW_DECELERATION| Constructor and Description |
|---|
DirectNeighborsPerception(LanePerception perception,
HeadwayGtuType headwayGtuType) |
| Modifier and Type | Method and 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.
|
TimeStampedObject<SortedSet<HeadwayGTU>> |
getTimeStampedFirstFollowers(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.
|
TimeStampedObject<SortedSet<HeadwayGTU>> |
getTimeStampedFirstLeaders(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.
|
TimeStampedObject<PerceptionCollectable<HeadwayGTU,LaneBasedGTU>> |
getTimeStampedFollowers(RelativeLane lane)
Set of followers on a lane, including adjacent GTU's who's REAR is back of the own vehicle REAR.
|
TimeStampedObject<PerceptionCollectable<HeadwayGTU,LaneBasedGTU>> |
getTimeStampedLeaders(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.
|
TimeStampedObject<Boolean> |
isGtuAlongsideTimeStamped(LateralDirectionality lat)
Whether there is a GTU alongside, i.e.
|
String |
toString() |
void |
updateAll() |
void |
updateFirstFollowers(LateralDirectionality lat)
Update 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.
|
void |
updateFirstLeaders(LateralDirectionality lat)
Update 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.
|
void |
updateFollowers(RelativeLane lane)
Update set of followers on a lane, including adjacent GTU's who's FRONT is back of the own vehicle FRONT.
|
void |
updateGtuAlongside(LateralDirectionality lat)
Update whether there is a GTU alongside, i.e.
|
void |
updateLeaders(RelativeLane lane)
Update set of leaders on a lane, including adjacent GTU's who's FRONT is ahead of the own vehicle FRONT.
|
getGtu, getObjectOrNull, getPerception, getTimestampprotected static final ParameterTypeLength LOOKAHEAD
protected static final ParameterTypeLength LOOKBACK
public DirectNeighborsPerception(LanePerception perception, HeadwayGtuType headwayGtuType)
perception - LanePerception; perceptionheadwayGtuType - HeadwayGtuType; type of headway gtu to generatepublic final void updateAll()
throws GTUException,
NetworkException,
ParameterException
updateAll in interface PerceptionCategory<LaneBasedGTU,LanePerception>GTUExceptionNetworkExceptionParameterExceptionpublic final void updateFirstLeaders(LateralDirectionality lat) throws ParameterException, GTUException, NetworkException
updateFirstLeaders in interface NeighborsPerceptionlat - LateralDirectionality; LEFT or RIGHTParameterException - if a parameter was not present or out of boundsGTUException - if the GTU was not initializedNetworkException - in case of a network exceptionpublic final void updateFirstFollowers(LateralDirectionality lat) throws GTUException, ParameterException, NetworkException
updateFirstFollowers in interface NeighborsPerceptionlat - LateralDirectionality; LEFT or RIGHTGTUException - if the GTU was not initializedParameterException - if a parameter was not present or out of boundsNetworkException - in case of a network exceptionpublic final void updateGtuAlongside(LateralDirectionality lat) throws GTUException, ParameterException
updateGtuAlongside in interface NeighborsPerceptionlat - LateralDirectionality; LEFT or RIGHTGTUException - if the GTU was not initializedParameterException - if parameter is not definedpublic final void updateLeaders(RelativeLane lane) throws ParameterException, GTUException, NetworkException
updateLeaders in interface NeighborsPerceptionlane - RelativeLane; relative lateral laneParameterException - if a parameter was not present or out of boundsGTUException - if the GRU was not initializedNetworkException - in case of a network exceptionpublic final void updateFollowers(RelativeLane lane) throws GTUException, NetworkException, ParameterException
updateFollowers in interface NeighborsPerceptionlane - RelativeLane; relative lateral laneGTUException - if the GRU was not initializedNetworkException - in case of a network exceptionParameterException - if a parameter was not present or out of boundspublic final SortedSet<HeadwayGTU> getFirstLeaders(LateralDirectionality lat) throws ParameterException, NullPointerException, IllegalArgumentException
| |
_________/B/_____
_ _?_ _ _~_ _C_ _
_ _A_ _ _ _ _ _ _
_________________
Only vehicles who's rear is beyond the own front are considered, no alongside vehicles.getFirstLeaders in interface NeighborsPerceptionlat - LateralDirectionality; LEFT or RIGHTParameterException - if parameter is not definedNullPointerException - if lat is nullIllegalArgumentException - if lat is NONEpublic final SortedSet<HeadwayGTU> getFirstFollowers(LateralDirectionality lat) throws ParameterException, NullPointerException, IllegalArgumentException
| |
|C|
________\ \______
_ _B_|_ _ _ _ _?_
_ _ _|_ _ _ _ _A_
_____|___________
Only vehicles who's front is before the own rear are considered, no alongside vehicles.getFirstFollowers in interface NeighborsPerceptionlat - LateralDirectionality; LEFT or RIGHTParameterException - if parameter is not definedNullPointerException - if lat is nullIllegalArgumentException - if lat is NONEpublic final boolean isGtuAlongside(LateralDirectionality lat) throws ParameterException, NullPointerException, IllegalArgumentException
isGtuAlongside in interface NeighborsPerceptionlat - LateralDirectionality; LEFT or RIGHTParameterException - if parameter is not definedNullPointerException - if lat is nullIllegalArgumentException - if lat is NONEpublic final PerceptionCollectable<HeadwayGTU,LaneBasedGTU> getLeaders(RelativeLane lane)
getLeaders in interface NeighborsPerceptionlane - RelativeLane; relative lateral lanepublic final PerceptionCollectable<HeadwayGTU,LaneBasedGTU> getFollowers(RelativeLane lane)
getFollowers in interface NeighborsPerceptionlane - RelativeLane; relative lateral lanepublic final TimeStampedObject<SortedSet<HeadwayGTU>> getTimeStampedFirstLeaders(LateralDirectionality lat) throws ParameterException, NullPointerException, IllegalArgumentException
| |
_________/B/_____
_ _?_ _ _~_ _C_ _
_ _A_ _ _ _ _ _ _
_________________
lat - LateralDirectionality; LEFT or RIGHTParameterException - if parameter is not definedNullPointerException - if lat is nullIllegalArgumentException - if lat is NONEpublic final TimeStampedObject<SortedSet<HeadwayGTU>> getTimeStampedFirstFollowers(LateralDirectionality lat) throws ParameterException, NullPointerException, IllegalArgumentException
| |
|C|
________\ \______
_ _B_|_ _ _ _ _?_
_ _ _|_ _ _ _ _A_
_____|___________
lat - LateralDirectionality; LEFT or RIGHTParameterException - if parameter is not definedNullPointerException - if lat is nullIllegalArgumentException - if lat is NONEpublic final TimeStampedObject<Boolean> isGtuAlongsideTimeStamped(LateralDirectionality lat) throws ParameterException, NullPointerException, IllegalArgumentException
lat - LateralDirectionality; LEFT or RIGHTParameterException - if parameter is not definedNullPointerException - if lat is nullIllegalArgumentException - if lat is NONEpublic final TimeStampedObject<PerceptionCollectable<HeadwayGTU,LaneBasedGTU>> getTimeStampedLeaders(RelativeLane lane)
lane - RelativeLane; relative lateral lanepublic final TimeStampedObject<PerceptionCollectable<HeadwayGTU,LaneBasedGTU>> getTimeStampedFollowers(RelativeLane lane)
lane - RelativeLane; relative lateral laneCopyright © 2014–2019 Delft University of Technology. All rights reserved.