public class DirectDefaultSimplePerception extends LaneBasedAbstractPerceptionCategory implements DefaultSimplePerception
Copyright (c) 2013-2017 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 org.opentrafficsim.base.parameters.ParameterTypeLength |
LOOKAHEAD
Look ahead parameter type.
|
protected static org.opentrafficsim.base.parameters.ParameterTypeLength |
LOOKBACKOLD
Look back parameter type.
|
MAX_RED_DECELERATION, MAX_YELLOW_DECELERATION| Constructor and Description |
|---|
DirectDefaultSimplePerception(LanePerception perception) |
| Modifier and Type | Method and Description |
|---|---|
Lane |
bestAccessibleAdjacentLane(Lane currentLane,
org.opentrafficsim.core.network.LateralDirectionality lateralDirection,
org.djunits.value.vdouble.scalar.Length longitudinalPosition)
Determine whether there is a lane to the left or to the right of this lane, which is accessible from this lane, or null
if no lane could be found.
|
Map<Lane,Set<Lane>> |
getAccessibleAdjacentLanes(org.opentrafficsim.core.network.LateralDirectionality lateralDirection) |
Map<Lane,Set<Lane>> |
getAccessibleAdjacentLanesLeft() |
Map<Lane,Set<Lane>> |
getAccessibleAdjacentLanesRight() |
Headway |
getBackwardHeadway() |
Headway |
getForwardHeadwayGTU() |
Headway |
getForwardHeadwayObject() |
LanePathInfo |
getLanePathInfo()
Retrieve the last perceived lane path info.
|
Collection<Headway> |
getNeighboringHeadways(org.opentrafficsim.core.network.LateralDirectionality lateralDirection) |
Collection<Headway> |
getNeighboringHeadwaysLeft() |
Collection<Headway> |
getNeighboringHeadwaysRight() |
Collection<Headway> |
getParallelHeadways(org.opentrafficsim.core.network.LateralDirectionality lateralDirection) |
Collection<Headway> |
getParallelHeadwaysLeft() |
Collection<Headway> |
getParallelHeadwaysRight() |
org.djunits.value.vdouble.scalar.Speed |
getSpeedLimit() |
org.opentrafficsim.base.TimeStampedObject<Map<Lane,Set<Lane>>> |
getTimeStampedAccessibleAdjacentLanes(org.opentrafficsim.core.network.LateralDirectionality lateralDirection) |
org.opentrafficsim.base.TimeStampedObject<Map<Lane,Set<Lane>>> |
getTimeStampedAccessibleAdjacentLanesLeft() |
org.opentrafficsim.base.TimeStampedObject<Map<Lane,Set<Lane>>> |
getTimeStampedAccessibleAdjacentLanesRight() |
org.opentrafficsim.base.TimeStampedObject<Headway> |
getTimeStampedBackwardHeadway() |
org.opentrafficsim.base.TimeStampedObject<Headway> |
getTimeStampedForwardHeadwayGTU() |
org.opentrafficsim.base.TimeStampedObject<Headway> |
getTimeStampedForwardHeadwayObject() |
org.opentrafficsim.base.TimeStampedObject<LanePathInfo> |
getTimeStampedLanePathInfo()
Retrieve the time stamped last perceived lane path info.
|
org.opentrafficsim.base.TimeStampedObject<Collection<Headway>> |
getTimeStampedNeighboringHeadways(org.opentrafficsim.core.network.LateralDirectionality lateralDirection) |
org.opentrafficsim.base.TimeStampedObject<Collection<Headway>> |
getTimeStampedNeighboringHeadwaysLeft() |
org.opentrafficsim.base.TimeStampedObject<Collection<Headway>> |
getTimeStampedNeighboringHeadwaysRight() |
org.opentrafficsim.base.TimeStampedObject<Collection<Headway>> |
getTimeStampedParallelHeadways(org.opentrafficsim.core.network.LateralDirectionality lateralDirection) |
org.opentrafficsim.base.TimeStampedObject<Collection<Headway>> |
getTimeStampedParallelHeadwaysLeft() |
org.opentrafficsim.base.TimeStampedObject<Collection<Headway>> |
getTimeStampedParallelHeadwaysRight() |
org.opentrafficsim.base.TimeStampedObject<org.djunits.value.vdouble.scalar.Speed> |
getTimeStampedSpeedLimit() |
String |
toString() |
void |
updateAccessibleAdjacentLanesLeft()
Update the accessible adjacent lanes on the left.
|
void |
updateAccessibleAdjacentLanesRight()
Update the accessible adjacent lanes on the right.
|
void |
updateBackwardHeadway()
Update the backward headway and first object (e.g., a GTU) behind.
|
void |
updateForwardHeadwayGTU()
Update the forward headway and first object (a GTU) in front.
|
void |
updateForwardHeadwayObject()
Update the forward headway and first object (but not a GTU) in front.
|
void |
updateLanePathInfo() |
void |
updateNeighboringHeadways(org.opentrafficsim.core.network.LateralDirectionality lateralDirection)
Update the objects (e.g., GTUs) in parallel, in front and behind for the lane in the given direction, with their headway
relative to our GTU, and information about the status of the adjacent objects.
|
void |
updateNeighboringHeadwaysLeft()
Update the objects (e.g., GTUs) in parallel, in front and behind on the left neighboring lane, with their headway
relative to our GTU, and information about the status of the adjacent objects.
|
void |
updateNeighboringHeadwaysRight()
Update the objects (e.g., GTUs) in parallel, in front and behind on the right neighboring lane, with their headway
relative to our GTU, and information about the status of the adjacent objects.
|
void |
updateParallelHeadways(org.opentrafficsim.core.network.LateralDirectionality lateralDirection)
Update the parallel objects (e.g., GTUs) for the given direction, with information about their status and parallel
overlap with our GTU.
|
void |
updateParallelHeadwaysLeft()
Update the parallel objects (e.g., GTUs) on the left, with information about their status and parallel overlap with our
GTU.
|
void |
updateParallelHeadwaysRight()
Update the parallel objects (e.g., GTUs) on the right, with information about their status and parallel overlap with our
GTU.
|
void |
updateSpeedLimit()
Update speedLimit.
|
getGtu, getObjectOrNull, getPerception, getTimestampclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitupdateAccessibleAdjacentLanes, updateAllprotected static final org.opentrafficsim.base.parameters.ParameterTypeLength LOOKAHEAD
protected static final org.opentrafficsim.base.parameters.ParameterTypeLength LOOKBACKOLD
public DirectDefaultSimplePerception(LanePerception perception)
perception - perceptionpublic final void updateLanePathInfo()
throws org.opentrafficsim.core.gtu.GTUException,
org.opentrafficsim.core.network.NetworkException,
org.opentrafficsim.base.parameters.ParameterException
updateLanePathInfo in interface DefaultSimplePerceptionorg.opentrafficsim.core.gtu.GTUException - when the GTU was not initialized yet.org.opentrafficsim.core.network.NetworkException - when the speed limit for a GTU type cannot be retrieved from the network.org.opentrafficsim.base.parameters.ParameterException - in case of not being able to retrieve parameter ParameterTypes.LOOKAHEADpublic final void updateForwardHeadwayGTU()
throws org.opentrafficsim.core.gtu.GTUException,
org.opentrafficsim.core.network.NetworkException,
org.opentrafficsim.base.parameters.ParameterException
updateForwardHeadwayGTU in interface DefaultSimplePerceptionorg.opentrafficsim.core.gtu.GTUException - when the GTU was not yet initializedorg.opentrafficsim.core.network.NetworkException - in case of network exceptionorg.opentrafficsim.base.parameters.ParameterException - if parameter is not defined or out of boundspublic final void updateForwardHeadwayObject()
throws org.opentrafficsim.core.gtu.GTUException,
org.opentrafficsim.core.network.NetworkException,
org.opentrafficsim.base.parameters.ParameterException
updateForwardHeadwayObject in interface DefaultSimplePerceptionorg.opentrafficsim.core.gtu.GTUException - when the GTU was not yet initializedorg.opentrafficsim.core.network.NetworkException - in case of network exceptionorg.opentrafficsim.base.parameters.ParameterException - if parameter is not defined or out of boundspublic final void updateBackwardHeadway()
throws org.opentrafficsim.core.gtu.GTUException,
org.opentrafficsim.base.parameters.ParameterException,
org.opentrafficsim.core.network.NetworkException
updateBackwardHeadway in interface DefaultSimplePerceptionorg.opentrafficsim.core.gtu.GTUException - when the GTU was not yet initializedorg.opentrafficsim.base.parameters.ParameterException - if parameter is not defined or out of boundsorg.opentrafficsim.core.network.NetworkException - in case of network exceptionpublic final void updateAccessibleAdjacentLanesLeft()
throws org.opentrafficsim.core.gtu.GTUException
updateAccessibleAdjacentLanesLeft in interface DefaultSimplePerceptionorg.opentrafficsim.core.gtu.GTUException - when the GTU was not yet initializedpublic final void updateAccessibleAdjacentLanesRight()
throws org.opentrafficsim.core.gtu.GTUException
updateAccessibleAdjacentLanesRight in interface DefaultSimplePerceptionorg.opentrafficsim.core.gtu.GTUException - when the GTU was not yet initializedpublic final void updateNeighboringHeadwaysLeft()
throws org.opentrafficsim.core.gtu.GTUException,
org.opentrafficsim.base.parameters.ParameterException,
org.opentrafficsim.core.network.NetworkException
updateNeighboringHeadwaysLeft in interface DefaultSimplePerceptionorg.opentrafficsim.core.gtu.GTUException - when the GTU was not yet initializedorg.opentrafficsim.base.parameters.ParameterException - if parameter is not defined or out of boundsorg.opentrafficsim.core.network.NetworkException - in case of network exceptionpublic final void updateNeighboringHeadwaysRight()
throws org.opentrafficsim.core.gtu.GTUException,
org.opentrafficsim.base.parameters.ParameterException,
org.opentrafficsim.core.network.NetworkException
updateNeighboringHeadwaysRight in interface DefaultSimplePerceptionorg.opentrafficsim.core.gtu.GTUException - when the GTU was not yet initializedorg.opentrafficsim.base.parameters.ParameterException - if parameter is not defined or out of boundsorg.opentrafficsim.core.network.NetworkException - in case of network exceptionpublic final void updateNeighboringHeadways(org.opentrafficsim.core.network.LateralDirectionality lateralDirection)
throws org.opentrafficsim.core.gtu.GTUException,
org.opentrafficsim.base.parameters.ParameterException,
org.opentrafficsim.core.network.NetworkException
updateNeighboringHeadways in interface DefaultSimplePerceptionlateralDirection - the direction to update the parallel headway collection fororg.opentrafficsim.core.gtu.GTUException - when the GTU was not yet initializedorg.opentrafficsim.base.parameters.ParameterException - if parameter is not defined or out of boundsorg.opentrafficsim.core.network.NetworkException - in case of network exceptionpublic final void updateParallelHeadwaysLeft()
throws org.opentrafficsim.core.gtu.GTUException
updateParallelHeadwaysLeft in interface DefaultSimplePerceptionorg.opentrafficsim.core.gtu.GTUException - when the GTU was not yet initializedpublic final void updateParallelHeadwaysRight()
throws org.opentrafficsim.core.gtu.GTUException
updateParallelHeadwaysRight in interface DefaultSimplePerceptionorg.opentrafficsim.core.gtu.GTUException - when the GTU was not yet initializedpublic final void updateParallelHeadways(org.opentrafficsim.core.network.LateralDirectionality lateralDirection)
throws org.opentrafficsim.core.gtu.GTUException
updateParallelHeadways in interface DefaultSimplePerceptionlateralDirection - the direction to return the neighboring headway collection fororg.opentrafficsim.core.gtu.GTUException - when the GTU was not yet initializedpublic final void updateSpeedLimit()
throws org.opentrafficsim.core.gtu.GTUException,
org.opentrafficsim.core.network.NetworkException
updateSpeedLimit in interface DefaultSimplePerceptionorg.opentrafficsim.core.gtu.GTUException - when the GTU was not yet initializedorg.opentrafficsim.core.network.NetworkException - in case of network exceptionpublic final LanePathInfo getLanePathInfo()
getLanePathInfo in interface DefaultSimplePerceptionpublic final Headway getForwardHeadwayGTU()
getForwardHeadwayGTU in interface DefaultSimplePerceptionpublic final Headway getForwardHeadwayObject()
getForwardHeadwayObject in interface DefaultSimplePerceptionpublic final Headway getBackwardHeadway()
getBackwardHeadway in interface DefaultSimplePerceptionpublic final Map<Lane,Set<Lane>> getAccessibleAdjacentLanesLeft()
getAccessibleAdjacentLanesLeft in interface DefaultSimplePerceptionpublic final Map<Lane,Set<Lane>> getAccessibleAdjacentLanesRight()
getAccessibleAdjacentLanesRight in interface DefaultSimplePerceptionpublic final Map<Lane,Set<Lane>> getAccessibleAdjacentLanes(org.opentrafficsim.core.network.LateralDirectionality lateralDirection)
getAccessibleAdjacentLanes in interface DefaultSimplePerceptionlateralDirection - the direction to return the accessible adjacent lane map forpublic final Collection<Headway> getNeighboringHeadwaysLeft()
getNeighboringHeadwaysLeft in interface DefaultSimplePerceptionpublic final Collection<Headway> getNeighboringHeadwaysRight()
getNeighboringHeadwaysRight in interface DefaultSimplePerceptionpublic final Collection<Headway> getNeighboringHeadways(org.opentrafficsim.core.network.LateralDirectionality lateralDirection)
getNeighboringHeadways in interface DefaultSimplePerceptionlateralDirection - the direction to return the parallel headway collection forpublic final Collection<Headway> getParallelHeadwaysLeft()
getParallelHeadwaysLeft in interface DefaultSimplePerceptionpublic final Collection<Headway> getParallelHeadwaysRight()
getParallelHeadwaysRight in interface DefaultSimplePerceptionpublic final Collection<Headway> getParallelHeadways(org.opentrafficsim.core.network.LateralDirectionality lateralDirection)
getParallelHeadways in interface DefaultSimplePerceptionlateralDirection - the direction to return the neighboring headway collection forpublic final org.djunits.value.vdouble.scalar.Speed getSpeedLimit()
getSpeedLimit in interface DefaultSimplePerceptionpublic final org.opentrafficsim.base.TimeStampedObject<Headway> getTimeStampedForwardHeadwayGTU()
public final org.opentrafficsim.base.TimeStampedObject<Headway> getTimeStampedForwardHeadwayObject()
public final org.opentrafficsim.base.TimeStampedObject<Headway> getTimeStampedBackwardHeadway()
public final org.opentrafficsim.base.TimeStampedObject<Map<Lane,Set<Lane>>> getTimeStampedAccessibleAdjacentLanesLeft()
public final org.opentrafficsim.base.TimeStampedObject<Map<Lane,Set<Lane>>> getTimeStampedAccessibleAdjacentLanesRight()
public final org.opentrafficsim.base.TimeStampedObject<Map<Lane,Set<Lane>>> getTimeStampedAccessibleAdjacentLanes(org.opentrafficsim.core.network.LateralDirectionality lateralDirection)
lateralDirection - the direction to return the accessible adjacent lanes forpublic final org.opentrafficsim.base.TimeStampedObject<Collection<Headway>> getTimeStampedNeighboringHeadwaysLeft()
public final org.opentrafficsim.base.TimeStampedObject<Collection<Headway>> getTimeStampedNeighboringHeadwaysRight()
public final org.opentrafficsim.base.TimeStampedObject<Collection<Headway>> getTimeStampedNeighboringHeadways(org.opentrafficsim.core.network.LateralDirectionality lateralDirection)
lateralDirection - the direction to return the neighboring headways forpublic final org.opentrafficsim.base.TimeStampedObject<Collection<Headway>> getTimeStampedParallelHeadwaysLeft()
public final org.opentrafficsim.base.TimeStampedObject<Collection<Headway>> getTimeStampedParallelHeadwaysRight()
public final org.opentrafficsim.base.TimeStampedObject<Collection<Headway>> getTimeStampedParallelHeadways(org.opentrafficsim.core.network.LateralDirectionality lateralDirection)
lateralDirection - the direction to return the parallel headways forpublic final org.opentrafficsim.base.TimeStampedObject<org.djunits.value.vdouble.scalar.Speed> getTimeStampedSpeedLimit()
public final org.opentrafficsim.base.TimeStampedObject<LanePathInfo> getTimeStampedLanePathInfo()
public final Lane bestAccessibleAdjacentLane(Lane currentLane, org.opentrafficsim.core.network.LateralDirectionality lateralDirection, org.djunits.value.vdouble.scalar.Length longitudinalPosition)
bestAccessibleAdjacentLane in interface DefaultSimplePerceptioncurrentLane - the lane to look for the best accessible adjacent lanelateralDirection - the direction (LEFT, RIGHT) to look atlongitudinalPosition - Length; the position of the GTU along currentLaneCopyright © 2014–2018 Delft University of Technology. All rights reserved.