View Javadoc
1   package org.opentrafficsim.road.gtu.lane.tactical.lmrs;
2   
3   import org.opentrafficsim.road.gtu.lane.LaneBasedGTU;
4   import org.opentrafficsim.road.gtu.lane.perception.LanePerception;
5   
6   /**
7    * Interface for lane change incentives that determine a level of lane change
8    * desire. Different incentives may determine lane change desire, which the lane
9    * change model combines in a total lane change desire.
10   * @author Wouter Schakel
11   */
12  public interface VoluntaryIncentive {
13      
14      /**
15       * Determines level of lane change desire for a lane change incentive.
16       * @param gtu GTU to determine the lane change desire for.
17       * @param perception Perception which supplies the situation.
18       * @param mandatory Level of total mandatory desire, may be used to ignore or reduce a voluntary incentive.
19       * @return Level of lane change desire for this incentive.
20       */
21      public Desire determineDesire(LaneBasedGTU gtu, LanePerception perception, Desire mandatory);
22      
23  }