View Javadoc
1   package org.opentrafficsim.road.gtu.lane;
2   
3   import org.opentrafficsim.core.distributions.ProbabilityException;
4   import org.opentrafficsim.core.dsol.OTSDEVSSimulatorInterface;
5   import org.opentrafficsim.core.gtu.GTUException;
6   import org.opentrafficsim.core.gtu.behavioralcharacteristics.ParameterException;
7   
8   /**
9    * Interface for objects that can generate a LaneBasedGTUCharacteristics object.
10   * <p>
11   * Copyright (c) 2013-2016 Delft University of Technology, PO Box 5, 2600 AA, Delft, the Netherlands. All rights reserved. <br>
12   * BSD-style license. See <a href="http://opentrafficsim.org/docs/current/license.html">OpenTrafficSim License</a>.
13   * <p>
14   * @version $Revision$, $LastChangedDate$, by $Author$, initial version Mar 9, 2016 <br>
15   * @author <a href="http://www.tbm.tudelft.nl/averbraeck">Alexander Verbraeck</a>
16   * @author <a href="http://www.tudelft.nl/pknoppers">Peter Knoppers</a>
17   */
18  public interface LaneBasedGTUCharacteristicsGenerator
19  {
20      /**
21       * Generate a LaneBasedGTUCharacteristics object.
22       * @return LaneBasedGTUCharacteristics
23       * @throws ProbabilityException when the generator is improperly configured
24       * @throws ParameterException in case of a parameter problem.
25       * @throws GTUException if strategical planner cannot be created
26       */
27      LaneBasedGTUCharacteristics draw() throws ProbabilityException, ParameterException, GTUException;
28  
29      /**
30       * Return the simulator.
31       * @return OTSDEVSSimulatorInterface; the simulator
32       * @throws ProbabilityException when the generator cannot retrieve the simulator
33       */
34      OTSDEVSSimulatorInterface getSimulator() throws ProbabilityException;
35  }