Class AbstractIncentivesTacticalPlanner

java.lang.Object
org.opentrafficsim.road.gtu.lane.tactical.AbstractLaneBasedTacticalPlanner
org.opentrafficsim.road.gtu.lane.tactical.lmrs.AbstractIncentivesTacticalPlanner
All Implemented Interfaces:
Serializable, TacticalPlanner<LaneBasedGtu,LanePerception>, LaneBasedTacticalPlanner
Direct Known Subclasses:
Lmrs

public abstract class AbstractIncentivesTacticalPlanner extends AbstractLaneBasedTacticalPlanner

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
See Also:
  • Field Details

    • MANDATORY

      public static final org.opentrafficsim.base.parameters.ParameterTypeClassList<MandatoryIncentive> MANDATORY
      Parameter type for mandatory lane change incentives.
    • VOLUNTARY

      public static final org.opentrafficsim.base.parameters.ParameterTypeClassList<VoluntaryIncentive> VOLUNTARY
      Parameter type for voluntary lane change incentives.
    • ACCELERATION

      public static final org.opentrafficsim.base.parameters.ParameterTypeClassList<AccelerationIncentive> ACCELERATION
      Parameter type for acceleration incentives.
  • Constructor Details

    • AbstractIncentivesTacticalPlanner

      public AbstractIncentivesTacticalPlanner(CarFollowingModel carFollowingModel, LaneBasedGtu gtu, LanePerception lanePerception)
      Constructor.
      Parameters:
      carFollowingModel - CarFollowingModel; Car-following model.
      gtu - LaneBasedGtu; GTU
      lanePerception - LanePerception; perception
  • Method Details

    • addMandatoryIncentive

      public final void addMandatoryIncentive(MandatoryIncentive incentive)
      Adds a mandatory incentive. Ignores null.
      Parameters:
      incentive - MandatoryIncentive; Incentive to add.
    • addVoluntaryIncentive

      public final void addVoluntaryIncentive(VoluntaryIncentive incentive)
      Adds a voluntary incentive. Ignores null.
      Parameters:
      incentive - VoluntaryIncentive; Incentive to add.
    • addAccelerationIncentive

      public final void addAccelerationIncentive(AccelerationIncentive incentive)
      Adds an acceleration incentive. Ignores null.
      Parameters:
      incentive - AccelerationIncentive; Incentive to add.
    • setDefaultIncentives

      public final void setDefaultIncentives()
      Sets the default lane change incentives.
    • getMandatoryIncentives

      public final org.djutils.immutablecollections.ImmutableSet<MandatoryIncentive> getMandatoryIncentives()
      Returns the mandatory incentives.
      Returns:
      ImmutableSet<MandatoryIncentive>; set of mandatory incentives
    • getVoluntaryIncentives

      public final org.djutils.immutablecollections.ImmutableSet<VoluntaryIncentive> getVoluntaryIncentives()
      Returns the voluntary incentives.
      Returns:
      ImmutableSet<VoluntaryIncentive>; set of voluntary incentives
    • getAccelerationIncentives

      public final org.djutils.immutablecollections.ImmutableSet<AccelerationIncentive> getAccelerationIncentives()
      Returns the acceleration incentives.
      Returns:
      ImmutableSet<AccelerationIncentive>; set of acceleration incentives