T - type of demand category, typically a Category in an ODMatrix or a GTUTypepublic abstract class Platoons<T> extends Object
Platoons.ofCategory(...).addPlatoon(...).addGtu(...).addGtu(...).addPlatoon(...).addGtu(...).addGtu(...).start();.
 Method addGtu(...) may only determine a generation time if other info is set by fixInfo(...).LaneBasedGTUCharacteristicsGenerator or GTUCharacteristicsGeneratorOD. Use
 ofGtuType() or ofCategory() respectively.
 
 Copyright (c) 2013-2019 Delft University of Technology, PO Box 5, 2600 AA, Delft, the Netherlands. All rights reserved. 
 BSD-style license. See OpenTrafficSim License.
 
| Modifier and Type | Method and Description | 
|---|---|
Platoons<T> | 
addGtu(Time time)
Add GTU to the current platoon. 
 | 
Platoons<T> | 
addGtu(Time time,
      Node origin,
      Node destination,
      T category)
Add GTU to the current platoon. 
 | 
Platoons<T> | 
addPlatoon(Time start,
          Time end)
Add a platoon. 
 | 
FrequencyVector | 
compensate(T category,
          FrequencyVector demand,
          TimeVector time,
          Interpolation interpolation)
Creates a demand vector in which the platoon demand has been compensated from the input demand vector. 
 | 
Platoons<T> | 
fixInfo(Node origin,
       Node destination,
       T category)
Fix all info except time for GTU's added hereafter. 
 | 
protected LaneBasedGTUGenerator | 
getGenerator()
Returns the vehicle generator for sub classes. 
 | 
protected Set<LaneDirection> | 
getPosition()
Returns the position for sub classes. 
 | 
static Platoons<Category> | 
ofCategory(GTUCharacteristicsGeneratorOD characteristics,
          DEVSSimulatorInterface.TimeDoubleUnit simulator,
          StreamInterface stream,
          Set<LaneDirection> position)
Creates a  
Platoon<Category> instance for platoons. | 
static Platoons<GTUType> | 
ofGtuType(LaneBasedGTUCharacteristicsGenerator characteristics,
         DEVSSimulatorInterface.TimeDoubleUnit simulator,
         StreamInterface stream,
         Set<LaneDirection> position)
Creates a  
Platoon<GTUType> instance for platoons. | 
protected abstract void | 
placeGtu(org.opentrafficsim.road.gtu.generator.Platoons.PlatoonGtu<T> platoonGtu)
Places the next platoon GTU and schedules the next one. 
 | 
protected void | 
start()
Starts the events. 
 | 
void | 
start(LaneBasedGTUGenerator generator)
Sets the generator and starts the events. 
 | 
public static Platoons<Category> ofCategory(GTUCharacteristicsGeneratorOD characteristics, DEVSSimulatorInterface.TimeDoubleUnit simulator, StreamInterface stream, Set<LaneDirection> position)
Platoon<Category> instance for platoons.characteristics - GTUCharacteristicsGeneratorOD; characteristics generatorsimulator - DEVSSimulatorInterface.TimeDoubleUnit; simulatorstream - StreamInterface; random number streamposition - Set<LaneDirection>; positionpublic static Platoons<GTUType> ofGtuType(LaneBasedGTUCharacteristicsGenerator characteristics, DEVSSimulatorInterface.TimeDoubleUnit simulator, StreamInterface stream, Set<LaneDirection> position)
Platoon<GTUType> instance for platoons.characteristics - LaneBasedGTUCharacteristicsGenerator; characteristics generatorsimulator - DEVSSimulatorInterface.TimeDoubleUnit; simulatorstream - StreamInterface; random number streamposition - Set<LaneDirection>; positionpublic Platoons<T> addPlatoon(Time start, Time end) throws SimRuntimeException
addGtu.start - Time; start timeend - Time; end timeSimRuntimeException - on exceptionpublic Platoons<T> fixInfo(Node origin, Node destination, T category)
origin - Node; origindestination - Node; destinationcategory - T; categorypublic Platoons<T> addGtu(Time time)
fixInfo.time - Time; time of generationIllegalStateException - if no fixed info was set using fixInfopublic Platoons<T> addGtu(Time time, Node origin, Node destination, T category)
time - Time; time of generationorigin - Node; origindestination - Node; destinationcategory - T; categoryIllegalStateException - if no platoon was started or time is outside of the platoon time rangepublic void start(LaneBasedGTUGenerator generator) throws SimRuntimeException
generator - LaneBasedGTUGenerator; GTU generatorSimRuntimeException - if start of first platoon is in the pastprotected LaneBasedGTUGenerator getGenerator()
protected Set<LaneDirection> getPosition()
protected void start()
              throws SimRuntimeException
SimRuntimeException - if start of first platoon is in the pastpublic FrequencyVector compensate(T category, FrequencyVector demand, TimeVector time, Interpolation interpolation)
category - T; categorydemand - FrequencyVector; demand vectortime - TimeVector; time vectorinterpolation - Interpolation; interpolationprotected abstract void placeGtu(org.opentrafficsim.road.gtu.generator.Platoons.PlatoonGtu<T> platoonGtu) throws SimRuntimeException, NamingException, GTUException, NetworkException, OTSGeometryException, ProbabilityException, ParameterException
platoonGtu - PlatoonGtu<T>; info of GTU to generateSimRuntimeException - on exceptionNamingException - on exceptionGTUException - on exceptionNetworkException - on exceptionOTSGeometryException - on exceptionParameterException - on exceptionProbabilityException - on exceptionCopyright © 2014–2019 Delft University of Technology. All rights reserved.