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.base.parameters.ParameterException
lane - relative lateral laneorg.opentrafficsim.core.gtu.GTUException - if the GTU was not initializedorg.opentrafficsim.base.parameters.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.base.parameters.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.base.parameters.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.base.parameters.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.base.parameters.ParameterException - if a parameter is not definedpublic final void updateCrossSection()
                              throws org.opentrafficsim.core.gtu.GTUException,
                                     org.opentrafficsim.base.parameters.ParameterException
org.opentrafficsim.core.gtu.GTUException - if the GTU was not initializedorg.opentrafficsim.base.parameters.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 == nullpublic 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 == nullpublic 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 == nullpublic 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 == nullpublic 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.base.parameters.ParameterException
updateAll in interface org.opentrafficsim.core.gtu.perception.PerceptionCategoryorg.opentrafficsim.core.gtu.GTUExceptionorg.opentrafficsim.core.network.NetworkExceptionorg.opentrafficsim.base.parameters.ParameterExceptionCopyright © 2014–2018 Delft University of Technology. All rights reserved.