Eclipse SUMO - Simulation of Urban MObility
MEVehicleControl.cpp
Go to the documentation of this file.
1 /****************************************************************************/
2 // Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.org/sumo
3 // Copyright (C) 2001-2020 German Aerospace Center (DLR) and others.
4 // This program and the accompanying materials are made available under the
5 // terms of the Eclipse Public License 2.0 which is available at
6 // https://www.eclipse.org/legal/epl-2.0/
7 // This Source Code may also be made available under the following Secondary
8 // Licenses when the conditions for such availability set forth in the Eclipse
9 // Public License 2.0 are satisfied: GNU General Public License, version 2
10 // or later which is available at
11 // https://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html
12 // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-or-later
13 /****************************************************************************/
18 // The class responsible for building and deletion of vehicles (meso-version)
19 /****************************************************************************/
20 #include <config.h>
21 
26 #include <microsim/MSNet.h>
28 #include <microsim/MSVehicleType.h>
29 #include "MESegment.h"
30 #include "MEVehicle.h"
31 #include "MEVehicleControl.h"
32 
33 
34 // ===========================================================================
35 // member method definitions
36 // ===========================================================================
38  : MSVehicleControl() {}
39 
40 
42 
43 
46  const MSRoute* route, MSVehicleType* type,
47  const bool ignoreStopErrors, const bool fromRouteFile) {
48  MEVehicle* built = new MEVehicle(defs, route, type, type->computeChosenSpeedDeviation(fromRouteFile ? MSRouteHandler::getParsingRNG() : nullptr));
49  initVehicle(built, ignoreStopErrors);
50  return built;
51 }
52 
53 
54 /****************************************************************************/
virtual SUMOVehicle * buildVehicle(SUMOVehicleParameter *defs, const MSRoute *route, MSVehicleType *type, const bool ignoreStopErrors, const bool fromRouteFile=true)
Builds a vehicle, increases the number of built vehicles.
~MEVehicleControl()
Destructor.
MEVehicleControl()
Constructor.
A vehicle from the mesoscopic point of view.
Definition: MEVehicle.h:42
static std::mt19937 * getParsingRNG()
get parsing RNG
The class responsible for building and deletion of vehicles.
void initVehicle(MSBaseVehicle *built, const bool ignoreStopErrors)
The car-following model and parameter.
Definition: MSVehicleType.h:62
double computeChosenSpeedDeviation(std::mt19937 *rng, const double minDev=-1.) const
Computes and returns the speed deviation.
Representation of a vehicle.
Definition: SUMOVehicle.h:58
Structure representing possible vehicle parameter.