SUMO - Simulation of Urban MObility
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
MSDevice_Example.h
Go to the documentation of this file.
1 /****************************************************************************/
8 // A device which stands as an implementation example and which outputs movereminder calls
9 /****************************************************************************/
10 // SUMO, Simulation of Urban MObility; see http://sumo-sim.org/
11 // Copyright (C) 200132014 DLR (http://www.dlr.de/) and contributors
12 /****************************************************************************/
13 //
14 // This file is part of SUMO.
15 // SUMO is free software: you can redistribute it and/or modify
16 // it under the terms of the GNU General Public License as published by
17 // the Free Software Foundation, either version 3 of the License, or
18 // (at your option) any later version.
19 //
20 /****************************************************************************/
21 #ifndef MSDevice_Example_h
22 #define MSDevice_Example_h
23 
24 
25 // ===========================================================================
26 // included modules
27 // ===========================================================================
28 #ifdef _MSC_VER
29 #include <windows_config.h>
30 #else
31 #include <config.h>
32 #endif
33 
34 #include "MSDevice.h"
35 #include <utils/common/SUMOTime.h>
36 
37 
38 // ===========================================================================
39 // class declarations
40 // ===========================================================================
41 class SUMOVehicle;
42 
43 
44 // ===========================================================================
45 // class definitions
46 // ===========================================================================
55 class MSDevice_Example : public MSDevice {
56 public:
60  static void insertOptions(OptionsCont& oc);
61 
62 
73  static void buildVehicleDevices(SUMOVehicle& v, std::vector<MSDevice*>& into);
74 
75 
76 
77 public:
80 
81 
82 
85 
95  bool notifyMove(SUMOVehicle& veh, SUMOReal oldPos,
96  SUMOReal newPos, SUMOReal newSpeed);
97 
98 
108 
109 
118  bool notifyLeave(SUMOVehicle& veh, SUMOReal lastPos,
121 
122 
123 
130  void generateOutput() const;
131 
132 
133 
134 private:
140  MSDevice_Example(SUMOVehicle& holder, const std::string& id, SUMOReal customValue1,
141  SUMOReal customValue2, SUMOReal customValue3);
142 
143 
144 
145 private:
146  // private state members of the Example device
147 
150 
153 
156 
157 
158 
159 private:
162 
165 
166 
167 };
168 
169 
170 #endif
171 
172 /****************************************************************************/
173