Interface LaneBasedStrategicalPlannerFactory<T extends LaneBasedStrategicalPlanner>

Type Parameters:
T - class of the strategical planner generated
All Known Implementing Classes:
LaneBasedStrategicalRoutePlannerFactory

public interface LaneBasedStrategicalPlannerFactory<T extends LaneBasedStrategicalPlanner>
A factory class is used to generate strategical planners as the strategical planner is state-full.

Copyright (c) 2013-2024 Delft University of Technology, PO Box 5, 2600 AA, Delft, the Netherlands. All rights reserved.
BSD-style license. See OpenTrafficSim License.

Author:
Alexander Verbraeck, Peter Knoppers, Wouter Schakel
  • Method Summary

    Modifier and Type
    Method
    Description
    create(LaneBasedGtu gtu, Route route, Node origin, Node destination)
    Creates a new strategical planner for the given GTU.
    default org.djunits.value.vdouble.scalar.Length
    peekDesiredHeadway(GtuType gtuType, org.djunits.value.vdouble.scalar.Speed speed)
    Peek to see the desired headway of the next GTU to be generated at the given speed.
    default org.djunits.value.vdouble.scalar.Speed
    peekDesiredSpeed(GtuType gtuType, org.djunits.value.vdouble.scalar.Speed speedLimit, org.djunits.value.vdouble.scalar.Speed maxGtuSpeed)
    Peek to see the desired speed of the next GTU to be generated at the given location.
  • Method Details

    • create

      T create(LaneBasedGtu gtu, Route route, Node origin, Node destination) throws GtuException
      Creates a new strategical planner for the given GTU. This method should also set the parameters at the GTU.
      Parameters:
      gtu - LaneBasedGtu; GTU
      route - Route; route, may be null
      origin - Node; origin, may be null
      destination - Node; destination, may be null
      Returns:
      strategical planner for the given GTU
      Throws:
      GtuException - if the gtu is not suitable in any way for the creation of the strategical planner
    • peekDesiredSpeed

      default org.djunits.value.vdouble.scalar.Speed peekDesiredSpeed(GtuType gtuType, org.djunits.value.vdouble.scalar.Speed speedLimit, org.djunits.value.vdouble.scalar.Speed maxGtuSpeed) throws GtuException
      Peek to see the desired speed of the next GTU to be generated at the given location. The default implementation returns null, at which point the GTU generator will use some other speed.
      Parameters:
      gtuType - GtuType; GTU type
      speedLimit - Speed; speed limit
      maxGtuSpeed - Speed; maximum GTU speed
      Returns:
      desired speed of the next GTU to be generated at the given location, may be null at which point the GTU generator will use some other speed
      Throws:
      GtuException - on parameter exception or network exception
    • peekDesiredHeadway

      default org.djunits.value.vdouble.scalar.Length peekDesiredHeadway(GtuType gtuType, org.djunits.value.vdouble.scalar.Speed speed) throws GtuException
      Peek to see the desired headway of the next GTU to be generated at the given speed. The default implementation returns null, at which point the GTU generator will only generate GTU's at fixed locations.
      Parameters:
      gtuType - GtuType; GTU type
      speed - Speed; speed the GTU might be generated at
      Returns:
      Length; desired headway of the next GTU to be generated at the given speed, may be null at which point the GTU generator only generate GTU's at fixed locations
      Throws:
      GtuException - on parameter exception or network exception