public class ToledoPerception
extends org.opentrafficsim.core.gtu.perception.AbstractPerceptionCategory
implements org.opentrafficsim.core.gtu.perception.PerceptionCategory
InfrastructureCategory
that forwards all methods except for infrastructure lane change info.
These methods determine and return infrastructure information of type InfrastructureLaneChangeInfoToledo
, which
includes split number.
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.
Constructor and Description |
---|
ToledoPerception(LanePerception perception) |
Modifier and Type | Method and Description |
---|---|
SortedSet<RelativeLane> |
getCrossSection()
Returns a set of relative lanes representing the cross section.
|
SortedSet<InfrastructureLaneChangeInfoToledo> |
getInfrastructureLaneChangeInfo(RelativeLane lane)
Returns infrastructure lane change info of a lane.
|
org.djunits.value.vdouble.scalar.Length |
getLegalLaneChangePossibility(RelativeLane fromLane,
org.opentrafficsim.core.network.LateralDirectionality lat)
Returns the distance over which a lane change remains legally possible.
|
org.djunits.value.vdouble.scalar.Length |
getPhysicalLaneChangePossibility(RelativeLane fromLane,
org.opentrafficsim.core.network.LateralDirectionality lat)
Returns the distance over which a lane change remains physically possible.
|
SpeedLimitProspect |
getSpeedLimitProspect(RelativeLane lane)
Returns the prospect for speed limits on a lane (dynamic speed limits may vary between lanes).
|
org.opentrafficsim.base.TimeStampedObject<SortedSet<RelativeLane>> |
getTimeStampedCrossSection()
Returns a time stamped set of relative lanes representing the cross section.
|
org.opentrafficsim.base.TimeStampedObject<SortedSet<InfrastructureLaneChangeInfoToledo>> |
getTimeStampedInfrastructureLaneChangeInfo(RelativeLane lane)
Returns time stamped infrastructure lane change info of a lane.
|
org.opentrafficsim.base.TimeStampedObject<org.djunits.value.vdouble.scalar.Length> |
getTimeStampedLegalLaneChangePossibility(RelativeLane fromLane,
org.opentrafficsim.core.network.LateralDirectionality lat)
Returns the time stamped distance over which a lane change remains legally possible.
|
org.opentrafficsim.base.TimeStampedObject<org.djunits.value.vdouble.scalar.Length> |
getTimeStampedPhysicalLaneChangePossibility(RelativeLane fromLane,
org.opentrafficsim.core.network.LateralDirectionality lat)
Returns the time stamped distance over which a lane change remains physically possible.
|
org.opentrafficsim.base.TimeStampedObject<SpeedLimitProspect> |
getTimeStampedSpeedLimitProspect(RelativeLane lane)
Returns the time stamped prospect for speed limits on a lane (dynamic speed limits may vary between lanes).
|
String |
toString() |
void |
updateAll() |
void |
updateCrossSection()
Updates a set of relative lanes representing the cross section.
|
void |
updateInfrastructureLaneChangeInfo(RelativeLane lane)
Updates the infrastructural lane change info.
|
void |
updateLegalLaneChangePossibility(RelativeLane fromLane,
org.opentrafficsim.core.network.LateralDirectionality lat)
Updates the distance over which lane changes remains legally possible.
|
void |
updatePhysicalLaneChangePossibility(RelativeLane fromLane,
org.opentrafficsim.core.network.LateralDirectionality lat)
Updates the distance over which lane changes remains physically possible.
|
void |
updateSpeedLimitProspect(RelativeLane lane)
Updates the speed limit prospect.
|
public ToledoPerception(LanePerception perception)
perception
- perceptionpublic void updateInfrastructureLaneChangeInfo(RelativeLane lane) throws org.opentrafficsim.core.gtu.GTUException
lane
- relative lateral laneorg.opentrafficsim.core.gtu.GTUException
- when GTU is not initializedpublic final SortedSet<InfrastructureLaneChangeInfoToledo> getInfrastructureLaneChangeInfo(RelativeLane lane)
_______ _ _A_ _\_________ _ _ _ _ _ _ _ _ _ _________ _ _ ___ \_______ (-) Lane-drop: 1 lane change in 400m (400m per lane change) (--------) Off-ramp: 3 lane changes in 900m (300m per lane change, critical) (-) Lane-drop: 1 lane change in 100m (100m per lane change, critical) (--------) Off-ramp: 3 lane changes in 600m (200m per lane change)
lane
- relative lateral lanepublic final org.opentrafficsim.base.TimeStampedObject<SortedSet<InfrastructureLaneChangeInfoToledo>> getTimeStampedInfrastructureLaneChangeInfo(RelativeLane lane)
_______ _ _A_ _\_________ _ _ _ _ _ _ _ _ _ _________ _ _ ___ \_______ (-) Lane-drop: 1 lane change in 400m (400m per lane change) (--------) Off-ramp: 3 lane changes in 900m (300m per lane change, critical) (-) Lane-drop: 1 lane change in 100m (100m per lane change, critical) (--------) Off-ramp: 3 lane changes in 600m (200m per lane change)
lane
- relative lateral lanepublic final void updateSpeedLimitProspect(RelativeLane lane) throws org.opentrafficsim.core.gtu.GTUException, org.opentrafficsim.core.gtu.behavioralcharacteristics.ParameterException
lane
- relative lateral laneorg.opentrafficsim.core.gtu.GTUException
- if the GTU was not initializedorg.opentrafficsim.core.gtu.behavioralcharacteristics.ParameterException
- if a parameter is not definedpublic final void updateLegalLaneChangePossibility(RelativeLane fromLane, org.opentrafficsim.core.network.LateralDirectionality lat) throws org.opentrafficsim.core.gtu.GTUException, org.opentrafficsim.core.gtu.behavioralcharacteristics.ParameterException
fromLane
- lane from which the lane change possibility is requestedlat
- LEFT or RIGHT, null not allowedorg.opentrafficsim.core.gtu.GTUException
- if the GTU was not initializedorg.opentrafficsim.core.gtu.behavioralcharacteristics.ParameterException
- if a parameter is not definedpublic final void updatePhysicalLaneChangePossibility(RelativeLane fromLane, org.opentrafficsim.core.network.LateralDirectionality lat) throws org.opentrafficsim.core.gtu.GTUException, org.opentrafficsim.core.gtu.behavioralcharacteristics.ParameterException
fromLane
- lane from which the lane change possibility is requestedlat
- LEFT or RIGHT, null not allowedorg.opentrafficsim.core.gtu.GTUException
- if the GTU was not initializedorg.opentrafficsim.core.gtu.behavioralcharacteristics.ParameterException
- if a parameter is not definedpublic final void updateCrossSection() throws org.opentrafficsim.core.gtu.GTUException, org.opentrafficsim.core.gtu.behavioralcharacteristics.ParameterException
org.opentrafficsim.core.gtu.GTUException
- if the GTU was not initializedorg.opentrafficsim.core.gtu.behavioralcharacteristics.ParameterException
- if a parameter is not definedpublic final SpeedLimitProspect getSpeedLimitProspect(RelativeLane lane)
lane
- relative lateral lanepublic final org.djunits.value.vdouble.scalar.Length getLegalLaneChangePossibility(RelativeLane fromLane, org.opentrafficsim.core.network.LateralDirectionality lat)
fromLane
- lane from which the lane change possibility is requestedlat
- LEFT or RIGHT, null not allowedNullPointerException
- if lat == null
public final org.djunits.value.vdouble.scalar.Length getPhysicalLaneChangePossibility(RelativeLane fromLane, org.opentrafficsim.core.network.LateralDirectionality lat)
fromLane
- lane from which the lane change possibility is requestedlat
- LEFT or RIGHT, null not allowedNullPointerException
- if lat == null
public final SortedSet<RelativeLane> getCrossSection()
public final org.opentrafficsim.base.TimeStampedObject<SpeedLimitProspect> getTimeStampedSpeedLimitProspect(RelativeLane lane)
lane
- relative lateral lanepublic final org.opentrafficsim.base.TimeStampedObject<org.djunits.value.vdouble.scalar.Length> getTimeStampedLegalLaneChangePossibility(RelativeLane fromLane, org.opentrafficsim.core.network.LateralDirectionality lat)
fromLane
- lane from which the lane change possibility is requestedlat
- LEFT or RIGHT, null not allowedNullPointerException
- if lat == null
public final org.opentrafficsim.base.TimeStampedObject<org.djunits.value.vdouble.scalar.Length> getTimeStampedPhysicalLaneChangePossibility(RelativeLane fromLane, org.opentrafficsim.core.network.LateralDirectionality lat)
fromLane
- lane from which the lane change possibility is requestedlat
- LEFT or RIGHT, null not allowedNullPointerException
- if lat == null
public final org.opentrafficsim.base.TimeStampedObject<SortedSet<RelativeLane>> getTimeStampedCrossSection()
public final void updateAll() throws org.opentrafficsim.core.gtu.GTUException, org.opentrafficsim.core.network.NetworkException, org.opentrafficsim.core.gtu.behavioralcharacteristics.ParameterException
updateAll
in interface org.opentrafficsim.core.gtu.perception.PerceptionCategory
org.opentrafficsim.core.gtu.GTUException
org.opentrafficsim.core.network.NetworkException
org.opentrafficsim.core.gtu.behavioralcharacteristics.ParameterException
Copyright © 2014–2017 Delft University of Technology. All rights reserved.