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.dev/sumo
3 // Copyright (C) 2001-2024 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  ConstMSRoutePtr route, MSVehicleType* type,
47  const bool ignoreStopErrors, const bool fromRouteFile,
48  bool addRouteStops) {
49  MEVehicle* built = new MEVehicle(defs, route, type, type->computeChosenSpeedDeviation(fromRouteFile ? MSRouteHandler::getParsingRNG() : nullptr));
50  initVehicle(built, ignoreStopErrors, addRouteStops);
51  return built;
52 }
53 
54 
55 /****************************************************************************/
std::shared_ptr< const MSRoute > ConstMSRoutePtr
Definition: Route.h:31
virtual SUMOVehicle * buildVehicle(SUMOVehicleParameter *defs, ConstMSRoutePtr route, MSVehicleType *type, const bool ignoreStopErrors, const bool fromRouteFile=true, bool addRouteStops=true) override
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 SumoRNG * getParsingRNG()
get parsing RNG
The class responsible for building and deletion of vehicles.
void initVehicle(MSBaseVehicle *built, const bool ignoreStopErrors, bool addRouteStops)
The car-following model and parameter.
Definition: MSVehicleType.h:63
double computeChosenSpeedDeviation(SumoRNG *rng, const double minDev=-1.) const
Computes and returns the speed deviation.
Representation of a vehicle.
Definition: SUMOVehicle.h:60
Structure representing possible vehicle parameter.