Interface CarFollowingModel
- All Superinterfaces:
 DesiredHeadwayModel,DesiredSpeedModel,Initialisable
- All Known Subinterfaces:
 GTUFollowingModelOld
- All Known Implementing Classes:
 AbstractCarFollowingModel,AbstractGTUFollowingModelMobil,AbstractIDM,FixedAccelerationModel,IDM,IDMOld,IDMPlus,IDMPlusMulti,IDMPlusOld,SequentialFixedAccelerationModel,ToledoCarFollowing
public interface CarFollowingModel extends DesiredHeadwayModel, DesiredSpeedModel, Initialisable
Methods that a car-following model has to implement. The parameters are supplied to obtain parameters. The phrase
 'car-following model' is the commonly used and therefore intuitive name, but in actuality it is much more.
 
- Following other vehicle types: van, bus, truck.
 - Following other GTU's: bicycle, pedestrian.
 - Free driving.
 - Approaching (theoretically different from following, usually the same formula).
 - Stopping for a traffic light, intersection conflict, etc,
 
 Copyright (c) 2013-2020 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 Apr 22, 2016 
 - Author:
 - Alexander Verbraeck, Wouter Schakel
 
- 
Field Summary
Fields Modifier and Type Field Description static ParameterTypeClass<CarFollowingModel>CAR_FOLLOWING_MODELParameter type for car-following model. - 
Method Summary
Modifier and Type Method Description AccelerationfollowingAcceleration(Parameters parameters, Speed speed, SpeedLimitInfo speedLimitInfo, PerceptionIterable<? extends Headway> leaders)Determination of car-following acceleration, possibly based on multiple leaders.java.lang.StringgetLongName()Return the complete name of the car-following model.java.lang.StringgetName()Return the name of the car-following model.default voidinit(LaneBasedGTU gtu)Initialize car-following model.Methods inherited from interface org.opentrafficsim.road.gtu.lane.tactical.following.DesiredHeadwayModel
desiredHeadwayMethods inherited from interface org.opentrafficsim.road.gtu.lane.tactical.following.DesiredSpeedModel
desiredSpeed 
- 
Field Details
- 
CAR_FOLLOWING_MODEL
Parameter type for car-following model. 
 - 
 - 
Method Details
- 
followingAcceleration
Acceleration followingAcceleration(Parameters parameters, Speed speed, SpeedLimitInfo speedLimitInfo, PerceptionIterable<? extends Headway> leaders) throws ParameterExceptionDetermination of car-following acceleration, possibly based on multiple leaders. The implementation should be able to deal with:
- The current speed being higher than the desired speed.
 - The headway being negative.
 
- Parameters:
 parameters- Parameters; parametersspeed- Speed; current speedspeedLimitInfo- SpeedLimitInfo; info regarding the desired speed for car-followingleaders- PerceptionIterable<? extends Headway>; set of leader headways and speeds, ordered by headway (closest first)- Returns:
 - car-following acceleration
 - Throws:
 ParameterException- if parameter exception occurs
 - 
getName
java.lang.String getName()Return the name of the car-following model.- Returns:
 - name of the car-following model
 
 - 
getLongName
java.lang.String getLongName()Return the complete name of the car-following model.- Returns:
 - complete name of the car-following model
 
 - 
init
Initialize car-following model.- Specified by:
 initin interfaceInitialisable- Parameters:
 gtu- LaneBasedGTU; gtu
 
 -