ToledoFactory.java

  1. package org.opentrafficsim.road.gtu.lane.tactical.toledo;

  2. import org.opentrafficsim.base.parameters.ParameterException;
  3. import org.opentrafficsim.base.parameters.ParameterSet;
  4. import org.opentrafficsim.base.parameters.ParameterTypes;
  5. import org.opentrafficsim.base.parameters.Parameters;
  6. import org.opentrafficsim.core.gtu.GTUException;
  7. import org.opentrafficsim.road.gtu.lane.LaneBasedGTU;
  8. import org.opentrafficsim.road.gtu.lane.tactical.LaneBasedTacticalPlannerFactory;

  9. /**
  10.  * Factory for tactical planner using Toledo's model and car-following model.
  11.  * <p>
  12.  * Copyright (c) 2013-2020 Delft University of Technology, PO Box 5, 2600 AA, Delft, the Netherlands. All rights reserved. <br>
  13.  * BSD-style license. See <a href="http://opentrafficsim.org/docs/current/license.html">OpenTrafficSim License</a>.
  14.  * <p>
  15.  * @version $Revision$, $LastChangedDate$, by $Author$, initial version Aug 2, 2016 <br>
  16.  * @author <a href="http://www.tbm.tudelft.nl/averbraeck">Alexander Verbraeck</a>
  17.  * @author <a href="http://www.tudelft.nl/pknoppers">Peter Knoppers</a>
  18.  * @author <a href="http://www.transport.citg.tudelft.nl">Wouter Schakel</a>
  19.  */

  20. public class ToledoFactory implements LaneBasedTacticalPlannerFactory<Toledo>
  21. {

  22.     /** {@inheritDoc} */
  23.     @Override
  24.     public final Parameters getParameters()
  25.     {
  26.         ParameterSet parameters = new ParameterSet();
  27.         try
  28.         {
  29.             parameters.setDefaultParameter(ParameterTypes.LOOKAHEAD);
  30.             parameters.setDefaultParameter(ParameterTypes.LOOKBACK);
  31.             parameters.setDefaultParameter(ParameterTypes.PERCEPTION);
  32.         }
  33.         catch (ParameterException exception)
  34.         {
  35.             // should not happen for these 2 parameters
  36.             throw new RuntimeException(exception);
  37.         }
  38.         parameters.setDefaultParameters(ToledoLaneChangeParameters.class);
  39.         parameters.setDefaultParameters(ToledoCarFollowing.class);
  40.         parameters.setDefaultParameters(Toledo.class);
  41.         return parameters;
  42.     }

  43.     /** {@inheritDoc} */
  44.     @Override
  45.     public final Toledo create(final LaneBasedGTU gtu) throws GTUException
  46.     {
  47.         return new Toledo(new ToledoCarFollowing(), gtu);
  48.     }

  49.     /** {@inheritDoc} */
  50.     @Override
  51.     public final String toString()
  52.     {
  53.         return "ToledoFactory";
  54.     }

  55. }