Eclipse SUMO - Simulation of Urban MObility
MSBaseVehicle.h
Go to the documentation of this file.
1 /****************************************************************************/
2 // Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.org/sumo
3 // Copyright (C) 2010-2019 German Aerospace Center (DLR) and others.
4 // This program and the accompanying materials
5 // are made available under the terms of the Eclipse Public License v2.0
6 // which accompanies this distribution, and is available at
7 // http://www.eclipse.org/legal/epl-v20.html
8 // SPDX-License-Identifier: EPL-2.0
9 /****************************************************************************/
17 // A base class for vehicle implementations
18 /****************************************************************************/
19 #ifndef MSBaseVehicle_h
20 #define MSBaseVehicle_h
21 
22 
23 // ===========================================================================
24 // included modules
25 // ===========================================================================
26 #include <config.h>
27 
28 #include <iostream>
29 #include <vector>
30 #include <set>
32 #include <utils/common/StdDefs.h>
33 #include "MSRoute.h"
34 #include "MSMoveReminder.h"
35 #include "MSVehicleType.h"
36 
37 // ===========================================================================
38 // class declarations
39 // ===========================================================================
40 class MSLane;
42 class MSVehicleDevice;
43 
44 
45 // ===========================================================================
46 // class definitions
47 // ===========================================================================
52 class MSBaseVehicle : public SUMOVehicle {
53 public:
54  // XXX: This definition was introduced to make the MSVehicle's previousSpeed
55  // available in the context of MSMoveReminder::notifyMove(). Another solution
56  // would be to modify notifyMove()'s interface to work with MSVehicle instead
57  // of SUMOVehicle (it is only called with MSVehicles!). Refs. #2579
61  double getPreviousSpeed() const;
62 
63  friend class GUIBaseVehicle;
64 
72  MSBaseVehicle(SUMOVehicleParameter* pars, const MSRoute* route,
73  MSVehicleType* type, const double speedFactor);
74 
75 
77  virtual ~MSBaseVehicle();
78 
79  bool isVehicle() const {
80  return true;
81  }
82 
84  const std::string& getID() const;
85 
90  const SUMOVehicleParameter& getParameter() const;
91 
93  void replaceParameter(const SUMOVehicleParameter* newParameter);
94 
96  bool hasDevice(const std::string& deviceName) const;
97 
99  void createDevice(const std::string& deviceName);
100 
102  std::string getDeviceParameter(const std::string& deviceName, const std::string& key) const;
103 
105  void setDeviceParameter(const std::string& deviceName, const std::string& key, const std::string& value);
106 
110  inline const MSRoute& getRoute() const {
111  return *myRoute;
112  }
113 
114 
118  inline const MSVehicleType& getVehicleType() const {
119  return *myType;
120  }
121 
122 
126  inline SUMOVehicleClass getVClass() const {
127  return myType->getParameter().vehicleClass;
128  }
129 
133  double getMaxSpeed() const;
134 
135 
143  const MSEdge* succEdge(int nSuccs) const;
144 
149  const MSEdge* getEdge() const;
150 
151 
155  virtual bool isOnRoad() const {
156  return true;
157  }
158 
163  virtual bool isRemoteControlled() const {
164  return false;
165  }
166 
167  virtual bool wasRemoteControlled(SUMOTime lookBack = DELTA_T) const {
168  UNUSED_PARAMETER(lookBack);
169  return false;
170  }
171 
175  virtual bool isFrontOnLane(const MSLane*) const {
176  return true;
177  }
178 
183  virtual double getLateralPositionOnLane() const {
184  return 0;
185  }
186 
192  virtual const MSEdge* getRerouteOrigin() const {
193  return *myCurrEdge;
194  }
195 
196 
201  return myCurrEdge;
202  }
203 
204 
214  void reroute(SUMOTime t, const std::string& info, SUMOAbstractRouter<MSEdge, SUMOVehicle>& router, const bool onInit = false, const bool withTaz = false, const bool silent = false);
215 
216 
229  bool replaceRouteEdges(ConstMSEdgeVector& edges, double cost, double savings, const std::string& info, bool onInit = false, bool check = false, bool removeStops = true);
230 
231 
237  virtual double getAcceleration() const;
238 
244  virtual double getSlope() const;
245 
251  void onDepart();
252 
256  inline SUMOTime getDeparture() const {
257  return myDeparture;
258  }
259 
262  return getDeparture() - getParameter().depart;
263  }
264 
265 
269  inline double getDepartPos() const {
270  return myDepartPos;
271  }
272 
277  virtual double getArrivalPos() const {
278  return myArrivalPos;
279  }
280 
283  virtual void setArrivalPos(double arrivalPos) {
284  myArrivalPos = arrivalPos;
285  }
286 
289  bool hasDeparted() const;
290 
294  virtual bool hasArrived() const;
295 
299  inline int getNumberReroutes() const {
300  return myNumberReroutes;
301  }
302 
304  double getImpatience() const;
305 
309  int getPersonNumber() const;
310 
314  std::vector<std::string> getPersonIDList() const;
315 
319  int getContainerNumber() const;
320 
321 
325  inline const std::vector<MSVehicleDevice*>& getDevices() const {
326  return myDevices;
327  }
328 
335  virtual void addPerson(MSTransportable* person);
336 
337 
344  virtual void addContainer(MSTransportable* container);
345 
348 
350  const std::vector<MSTransportable*>& getPersons() const;
351 
353  const std::vector<MSTransportable*>& getContainers() const;
354 
355 
361  bool hasValidRoute(std::string& msg, const MSRoute* route = 0) const;
362 
368  void addReminder(MSMoveReminder* rem);
369 
375  void removeReminder(MSMoveReminder* rem);
376 
388  virtual void activateReminders(const MSMoveReminder::Notification reason, const MSLane* enteredLane = 0);
389 
390 
394  inline double getLength() const {
395  return myType->getLength();
396  }
397 
398 
402  inline double getWidth() const {
403  return myType->getWidth();
404  }
405 
406 
410  inline double getChosenSpeedFactor() const {
411  return myChosenSpeedFactor;
412  }
413 
417  inline void setChosenSpeedFactor(const double factor) {
418  myChosenSpeedFactor = factor;
419  }
420 
422  MSVehicleDevice* getDevice(const std::type_info& type) const;
423 
424 
433  void replaceVehicleType(MSVehicleType* type);
434 
435 
444 
446 
447 
449  virtual void saveState(OutputDevice& out);
450 
452 
460  void addStops(const bool ignoreStopErrors);
461 
463  virtual bool isSelected() const {
464  return false;
465  }
466 
468  std::mt19937* getRNG() const;
469 
470  inline NumericalID getNumericalID() const {
471  return myNumericalID;
472  }
473 
475  return myPersonDevice;
476  }
477 
479  return myContainerDevice;
480  }
481 
482 protected:
485  void calculateArrivalParams();
486 
489  virtual const ConstMSEdgeVector getStopEdges(double& firstPos, double& lastPos) const = 0;
490 
491 protected:
494 
496  const MSRoute* myRoute;
497 
500 
503 
506 
507 
510 
512  // The double value holds the relative position offset, i.e.,
513  // offset + vehicle-position - moveReminder-position = distance,
514  // i.e. the offset is counted up when the vehicle continues to a
515  // succeeding lane.
516  typedef std::vector< std::pair<MSMoveReminder*, double> > MoveReminderCont;
517 
521 
523  std::vector<MSVehicleDevice*> myDevices;
524 
527 
530 
533 
535  double myDepartPos;
536 
538  double myArrivalPos;
539 
542 
545 
546  /* @brief magic value for undeparted vehicles
547  * @note: in previous versions this was -1
548  */
550 
551  static std::vector<MSTransportable*> myEmptyTransportableVector;
552 
553 private:
555 
557 
558 private:
561 
562 #ifdef _DEBUG
563 public:
564  static void initMoveReminderOutput(const OptionsCont& oc);
565 
566 protected:
568  void traceMoveReminder(const std::string& type, MSMoveReminder* rem, double pos, bool keep) const;
569 
571  const bool myTraceMoveReminders;
572 private:
574  static std::set<std::string> myShallTraceMoveReminders;
575 #endif
576 
577 
578 };
579 
580 #endif
581 
582 /****************************************************************************/
MSVehicleType
The car-following model and parameter.
Definition: MSVehicleType.h:66
UNUSED_PARAMETER
#define UNUSED_PARAMETER(x)
Definition: StdDefs.h:32
SUMOVehicleClass
SUMOVehicleClass
Definition of vehicle classes to differ between different lane usage and authority types.
Definition: SUMOVehicleClass.h:134
MSBaseVehicle::getParameter
const SUMOVehicleParameter & getParameter() const
Returns the vehicle's parameter (including departure definition)
Definition: MSBaseVehicle.cpp:143
MSBaseVehicle::hasDeparted
bool hasDeparted() const
Returns whether this vehicle has already departed.
Definition: MSBaseVehicle.cpp:368
MSBaseVehicle::getArrivalPos
virtual double getArrivalPos() const
Returns this vehicle's desired arrivalPos for its current route (may change on reroute)
Definition: MSBaseVehicle.h:277
GUIBaseVehicle
A MSVehicle extended by some values for usage within the gui.
Definition: GUIBaseVehicle.h:62
MSBaseVehicle::getContainerNumber
int getContainerNumber() const
Returns the number of containers.
Definition: MSBaseVehicle.cpp:599
MSLane
Representation of a lane in the micro simulation.
Definition: MSLane.h:83
MSBaseVehicle::setDeviceParameter
void setDeviceParameter(const std::string &deviceName, const std::string &key, const std::string &value)
try to set the given parameter from any of the vehicles devices, raise InvalidArgument if no device p...
Definition: MSBaseVehicle.cpp:680
MSBaseVehicle::~MSBaseVehicle
virtual ~MSBaseVehicle()
Destructor.
Definition: MSBaseVehicle.cpp:124
MSBaseVehicle::MSBaseVehicle
MSBaseVehicle(SUMOVehicleParameter *pars, const MSRoute *route, MSVehicleType *type, const double speedFactor)
Constructor.
Definition: MSBaseVehicle.cpp:73
MSBaseVehicle::wasRemoteControlled
virtual bool wasRemoteControlled(SUMOTime lookBack=DELTA_T) const
Returns the information whether the vehicle is fully controlled via TraCI.
Definition: MSBaseVehicle.h:167
OutputDevice
Static storage of an output device and its base (abstract) implementation.
Definition: OutputDevice.h:64
MSBaseVehicle::myDeparture
SUMOTime myDeparture
The real departure time.
Definition: MSBaseVehicle.h:532
DELTA_T
SUMOTime DELTA_T
Definition: SUMOTime.cpp:35
MSBaseVehicle::getLateralPositionOnLane
virtual double getLateralPositionOnLane() const
Get the vehicle's lateral position on the lane.
Definition: MSBaseVehicle.h:183
MSRouteIterator
ConstMSEdgeVector::const_iterator MSRouteIterator
Definition: MSRoute.h:58
MSDevice_Transportable
Definition: MSDevice_Transportable.h:44
MSBaseVehicle::myChosenSpeedFactor
double myChosenSpeedFactor
A precomputed factor by which the driver wants to be faster than the speed limit.
Definition: MSBaseVehicle.h:505
MSBaseVehicle::myDevices
std::vector< MSVehicleDevice * > myDevices
The devices this vehicle has.
Definition: MSBaseVehicle.h:523
MSBaseVehicle::getNumberReroutes
int getNumberReroutes() const
Returns the number of new routes this vehicle got.
Definition: MSBaseVehicle.h:299
MSBaseVehicle::getLength
double getLength() const
Returns the vehicle's length.
Definition: MSBaseVehicle.h:394
MSBaseVehicle::getDepartDelay
SUMOTime getDepartDelay() const
Returns the depart delay.
Definition: MSBaseVehicle.h:261
MSBaseVehicle::getDeparture
SUMOTime getDeparture() const
Returns this vehicle's real departure time.
Definition: MSBaseVehicle.h:256
SUMOTime
long long int SUMOTime
Definition: SUMOTime.h:35
SUMOVehicle
Representation of a vehicle.
Definition: SUMOVehicle.h:61
MSBaseVehicle::myRoute
const MSRoute * myRoute
This vehicle's route.
Definition: MSBaseVehicle.h:496
MSBaseVehicle::getRoute
const MSRoute & getRoute() const
Returns the current route.
Definition: MSBaseVehicle.h:110
ConstMSEdgeVector
std::vector< const MSEdge * > ConstMSEdgeVector
Definition: MSEdge.h:73
MSBaseVehicle::hasValidRoute
bool hasValidRoute(std::string &msg, const MSRoute *route=0) const
Validates the current or given route.
Definition: MSBaseVehicle.cpp:403
MSBaseVehicle::replaceParameter
void replaceParameter(const SUMOVehicleParameter *newParameter)
replace the vehicle parameter (deleting the old one)
Definition: MSBaseVehicle.cpp:148
MSBaseVehicle::myArrivalLane
int myArrivalLane
The destination lane where the vehicle stops.
Definition: MSBaseVehicle.h:541
MSBaseVehicle::getPersonDevice
const MSDevice_Transportable * getPersonDevice() const
Definition: MSBaseVehicle.h:474
MSBaseVehicle::getRerouteOrigin
virtual const MSEdge * getRerouteOrigin() const
Returns the starting point for reroutes (usually the current edge)
Definition: MSBaseVehicle.h:192
SUMOVehicleParameter
Structure representing possible vehicle parameter.
Definition: SUMOVehicleParameter.h:291
SUMOVehicle::NumericalID
long long int NumericalID
Definition: SUMOVehicle.h:63
MSTransportable
Definition: MSTransportable.h:59
MSBaseVehicle::isRemoteControlled
virtual bool isRemoteControlled() const
Returns the information whether the vehicle is fully controlled via TraCI.
Definition: MSBaseVehicle.h:163
MSRoute
Definition: MSRoute.h:67
SUMOVehicleParameter::depart
SUMOTime depart
Definition: SUMOVehicleParameter.h:476
MSBaseVehicle::getMaxSpeed
double getMaxSpeed() const
Returns the maximum speed.
Definition: MSBaseVehicle.cpp:154
MSBaseVehicle::isSelected
virtual bool isSelected() const
whether this vehicle is selected in the GUI
Definition: MSBaseVehicle.h:463
MSBaseVehicle::calculateArrivalParams
void calculateArrivalParams()
(Re-)Calculates the arrival position and lane from the vehicle parameters
Definition: MSBaseVehicle.cpp:480
MSMoveReminder
Something on a lane to be noticed about vehicle movement.
Definition: MSMoveReminder.h:64
MSBaseVehicle::getChosenSpeedFactor
double getChosenSpeedFactor() const
Returns the precomputed factor by which the driver wants to be faster than the speed limit.
Definition: MSBaseVehicle.h:410
MSBaseVehicle::getStopEdges
virtual const ConstMSEdgeVector getStopEdges(double &firstPos, double &lastPos) const =0
Returns the list of still pending stop edges.
MSVehicleType.h
MSBaseVehicle::myParameter
const SUMOVehicleParameter * myParameter
This vehicle's parameter.
Definition: MSBaseVehicle.h:493
MSBaseVehicle::myArrivalPos
double myArrivalPos
The position on the destination lane where the vehicle stops.
Definition: MSBaseVehicle.h:538
MSBaseVehicle::getEdge
const MSEdge * getEdge() const
Returns the edge the vehicle is currently at.
Definition: MSBaseVehicle.cpp:170
SUMOVehicle.h
MSMoveReminder.h
MSBaseVehicle::createDevice
void createDevice(const std::string &deviceName)
create device of the given type
Definition: MSBaseVehicle.cpp:650
MSBaseVehicle::saveState
virtual void saveState(OutputDevice &out)
Saves the (common) state of a vehicle.
Definition: MSBaseVehicle.cpp:543
MSBaseVehicle::getDepartPos
double getDepartPos() const
Returns this vehicle's real departure position.
Definition: MSBaseVehicle.h:269
MSBaseVehicle::myPersonDevice
MSDevice_Transportable * myPersonDevice
The passengers this vehicle may have.
Definition: MSBaseVehicle.h:526
MSBaseVehicle::getDeviceParameter
std::string getDeviceParameter(const std::string &deviceName, const std::string &key) const
try to retrieve the given parameter from any of the vehicles devices, raise InvalidArgument if no dev...
Definition: MSBaseVehicle.cpp:669
MSBaseVehicle::getContainers
const std::vector< MSTransportable * > & getContainers() const
retrieve riding containers
Definition: MSBaseVehicle.cpp:628
MSBaseVehicle::getDevices
const std::vector< MSVehicleDevice * > & getDevices() const
Returns this vehicle's devices.
Definition: MSBaseVehicle.h:325
MSBaseVehicle::getImpatience
double getImpatience() const
Returns this vehicles impatience.
Definition: MSBaseVehicle.cpp:525
MSVehicleType::getWidth
double getWidth() const
Get the width which vehicles of this class shall have when being drawn.
Definition: MSVehicleType.h:247
MSBaseVehicle::setChosenSpeedFactor
void setChosenSpeedFactor(const double factor)
Returns the precomputed factor by which the driver wants to be faster than the speed limit.
Definition: MSBaseVehicle.h:417
MSBaseVehicle::addPerson
virtual void addPerson(MSTransportable *person)
Adds a person to this vehicle.
Definition: MSBaseVehicle.cpp:379
MSBaseVehicle::myDepartPos
double myDepartPos
The real depart position.
Definition: MSBaseVehicle.h:535
MSBaseVehicle::operator=
MSBaseVehicle & operator=(const MSBaseVehicle &s)
invalidated assignment operator
OptionsCont
A storage for options typed value containers)
Definition: OptionsCont.h:90
MSEdge
A road/street connecting two junctions.
Definition: MSEdge.h:76
MSBaseVehicle::isOnRoad
virtual bool isOnRoad() const
Returns the information whether the vehicle is on a road (is simulated)
Definition: MSBaseVehicle.h:155
MSBaseVehicle::getAcceleration
virtual double getAcceleration() const
Returns the vehicle's acceleration.
Definition: MSBaseVehicle.cpp:348
MSBaseVehicle::getVehicleType
const MSVehicleType & getVehicleType() const
Returns the vehicle's type definition.
Definition: MSBaseVehicle.h:118
MSBaseVehicle::isFrontOnLane
virtual bool isFrontOnLane(const MSLane *) const
Returns the information whether the front of the vehhicle is on the given lane.
Definition: MSBaseVehicle.h:175
MSBaseVehicle::replaceRouteEdges
bool replaceRouteEdges(ConstMSEdgeVector &edges, double cost, double savings, const std::string &info, bool onInit=false, bool check=false, bool removeStops=true)
Replaces the current route by the given edges.
Definition: MSBaseVehicle.cpp:292
MSBaseVehicle::getSlope
virtual double getSlope() const
Returns the slope of the road at vehicle's position.
Definition: MSBaseVehicle.cpp:354
MSBaseVehicle::myNumberReroutes
int myNumberReroutes
The number of reroutings.
Definition: MSBaseVehicle.h:544
SUMOAbstractRouter< MSEdge, SUMOVehicle >
MSBaseVehicle::addStops
void addStops(const bool ignoreStopErrors)
Adds stops to the built vehicle.
Definition: MSBaseVehicle.cpp:559
MSBaseVehicle::getContainerDevice
const MSDevice_Transportable * getContainerDevice() const
Definition: MSBaseVehicle.h:478
MSBaseVehicle::getPersonIDList
std::vector< std::string > getPersonIDList() const
Returns the list of persons.
Definition: MSBaseVehicle.cpp:589
MSBaseVehicle::myCurrEdge
MSRouteIterator myCurrEdge
Iterator to current route-edge.
Definition: MSBaseVehicle.h:502
MSBaseVehicle::myEmptyTransportableVector
static std::vector< MSTransportable * > myEmptyTransportableVector
Definition: MSBaseVehicle.h:551
MSBaseVehicle::hasDevice
bool hasDevice(const std::string &deviceName) const
check whether the vehicle is equiped with a device of the given type
Definition: MSBaseVehicle.cpp:639
MSVehicleType::getLength
double getLength() const
Get vehicle's length [m].
Definition: MSVehicleType.h:110
MSBaseVehicle::getPersons
const std::vector< MSTransportable * > & getPersons() const
retrieve riding persons
Definition: MSBaseVehicle.cpp:618
MSBaseVehicle::MoveReminderCont
std::vector< std::pair< MSMoveReminder *, double > > MoveReminderCont
Definition of a move reminder container.
Definition: MSBaseVehicle.h:516
MSBaseVehicle::succEdge
const MSEdge * succEdge(int nSuccs) const
Returns the nSuccs'th successor of edge the vehicle is currently at.
Definition: MSBaseVehicle.cpp:160
MSRoute.h
MSBaseVehicle::getVClass
SUMOVehicleClass getVClass() const
Returns the vehicle's access class.
Definition: MSBaseVehicle.h:126
MSBaseVehicle::getNumericalID
NumericalID getNumericalID() const
return the numerical ID which is only for internal usage
Definition: MSBaseVehicle.h:470
MSBaseVehicle::getSingularType
MSVehicleType & getSingularType()
Replaces the current vehicle type with a new one used by this vehicle only.
Definition: MSBaseVehicle.cpp:702
MSBaseVehicle::getPersonNumber
int getPersonNumber() const
Returns the number of persons.
Definition: MSBaseVehicle.cpp:583
MSBaseVehicle::getCurrentRouteEdge
const MSRouteIterator & getCurrentRouteEdge() const
Returns an iterator pointing to the current edge in this vehicles route.
Definition: MSBaseVehicle.h:200
MSVehicleType::getParameter
const SUMOVTypeParameter & getParameter() const
Definition: MSVehicleType.h:556
MSBaseVehicle
The base class for microscopic and mesoscopic vehicles.
Definition: MSBaseVehicle.h:52
MSBaseVehicle::getID
const std::string & getID() const
Returns the name of the vehicle.
Definition: MSBaseVehicle.cpp:137
MSBaseVehicle::hasArrived
virtual bool hasArrived() const
Returns whether this vehicle has already arived (by default this is true if the vehicle has reached i...
Definition: MSBaseVehicle.cpp:374
MSBaseVehicle::addReminder
void addReminder(MSMoveReminder *rem)
Adds a MoveReminder dynamically.
Definition: MSBaseVehicle.cpp:431
MSBaseVehicle::setArrivalPos
virtual void setArrivalPos(double arrivalPos)
Sets this vehicle's desired arrivalPos for its current route.
Definition: MSBaseVehicle.h:283
MSBaseVehicle::getWidth
double getWidth() const
Returns the vehicle's width.
Definition: MSBaseVehicle.h:402
MSBaseVehicle::onDepart
void onDepart()
Called when the vehicle is inserted into the network.
Definition: MSBaseVehicle.cpp:360
MSBaseVehicle::getPreviousSpeed
double getPreviousSpeed() const
Returns the vehicle's previous speed.
Definition: MSBaseVehicle.cpp:68
config.h
MSBaseVehicle::myCurrentNumericalIndex
static NumericalID myCurrentNumericalIndex
Definition: MSBaseVehicle.h:556
StdDefs.h
MSBaseVehicle::myNumericalID
const NumericalID myNumericalID
Definition: MSBaseVehicle.h:554
MSBaseVehicle::removeReminder
void removeReminder(MSMoveReminder *rem)
Removes a MoveReminder dynamically.
Definition: MSBaseVehicle.cpp:442
MSBaseVehicle::removeTransportable
void removeTransportable(MSTransportable *t)
removes a person or container
Definition: MSBaseVehicle.cpp:606
MSBaseVehicle::isVehicle
bool isVehicle() const
Get the vehicle's ID.
Definition: MSBaseVehicle.h:79
MSBaseVehicle::reroute
void reroute(SUMOTime t, const std::string &info, SUMOAbstractRouter< MSEdge, SUMOVehicle > &router, const bool onInit=false, const bool withTaz=false, const bool silent=false)
Performs a rerouting using the given router.
Definition: MSBaseVehicle.cpp:176
MSBaseVehicle::myType
MSVehicleType * myType
This vehicle's type.
Definition: MSBaseVehicle.h:499
MSBaseVehicle::getDevice
MSVehicleDevice * getDevice(const std::type_info &type) const
Returns a device of the given type if it exists or 0.
Definition: MSBaseVehicle.cpp:532
MSBaseVehicle::NOT_YET_DEPARTED
static const SUMOTime NOT_YET_DEPARTED
Definition: MSBaseVehicle.h:549
MSBaseVehicle::myContainerDevice
MSDevice_Transportable * myContainerDevice
The containers this vehicle may have.
Definition: MSBaseVehicle.h:529
MSBaseVehicle::myMoveReminders
MoveReminderCont myMoveReminders
Currently relevant move reminders.
Definition: MSBaseVehicle.h:519
MSBaseVehicle::activateReminders
virtual void activateReminders(const MSMoveReminder::Notification reason, const MSLane *enteredLane=0)
"Activates" all current move reminder
Definition: MSBaseVehicle.cpp:458
SUMOVTypeParameter::vehicleClass
SUMOVehicleClass vehicleClass
The vehicle's class.
Definition: SUMOVTypeParameter.h:238
MSMoveReminder::Notification
Notification
Definition of a vehicle state.
Definition: MSMoveReminder.h:89
MSBaseVehicle::replaceVehicleType
void replaceVehicleType(MSVehicleType *type)
Replaces the current vehicle type by the one given.
Definition: MSBaseVehicle.cpp:692
MSBaseVehicle::getRNG
std::mt19937 * getRNG() const
Definition: MSBaseVehicle.cpp:712
MSVehicleDevice
Abstract in-vehicle device.
Definition: MSVehicleDevice.h:55
MSBaseVehicle::addContainer
virtual void addContainer(MSTransportable *container)
Adds a container to this vehicle.
Definition: MSBaseVehicle.cpp:391