Class DefaultConflictRule

  • All Implemented Interfaces:
    ConflictRule

    public class DefaultConflictRule
    extends Object
    implements ConflictRule
    Default determination of priority based on link priority, or right-hand traffic. Note that this class is stateful as the priorities are cached. So each conflict pair should receive a separate DefaultConflictRule. This rule is only for use on merge and crossing conflicts. For split conflicts there is a separate rule SplitConflictRule.

    Copyright (c) 2013-2022 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 26 jan. 2017
    Author:
    Alexander Verbraeck, Peter Knoppers, Wouter Schakel
    • Constructor Detail

      • DefaultConflictRule

        public DefaultConflictRule()
    • Method Detail

      • determinePriority

        public ConflictPriority determinePriority​(Conflict conflict)
        Determines the priority for the given conflict.
        Specified by:
        determinePriority in interface ConflictRule
        Parameters:
        conflict - Conflict; conflict
        Returns:
        priority for the given conflict
      • clone

        public final ConflictRule clone​(OTSSimulatorInterface newSimulator)
        Creates a clone of the conflict rule.
        Specified by:
        clone in interface ConflictRule
        Parameters:
        newSimulator - OTSSimulatorInterface; new simulator
        Returns:
        clone of the conflict rule