SUMO - Simulation of Urban MObility
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
SUMOVehicleParserHelper.h
Go to the documentation of this file.
1 /****************************************************************************/
10 // Helper methods for parsing vehicle attributes
11 /****************************************************************************/
12 // SUMO, Simulation of Urban MObility; see http://sumo-sim.org/
13 // Copyright (C) 2001-2013 DLR (http://www.dlr.de/) and contributors
14 /****************************************************************************/
15 //
16 // This file is part of SUMO.
17 // SUMO is free software: you can redistribute it and/or modify
18 // it under the terms of the GNU General Public License as published by
19 // the Free Software Foundation, either version 3 of the License, or
20 // (at your option) any later version.
21 //
22 /****************************************************************************/
23 #ifndef SUMOVehicleParserHelper_h
24 #define SUMOVehicleParserHelper_h
25 
26 
27 // ===========================================================================
28 // included modules
29 // ===========================================================================
30 #ifdef _MSC_VER
31 #include <windows_config.h>
32 #else
33 #include <config.h>
34 #endif
35 
36 #include <string>
39 #include <utils/common/SUMOTime.h>
44 #include <utils/common/StdDefs.h>
45 
46 // ===========================================================================
47 // class definitions
48 // ===========================================================================
56 public:
67  static SUMOVehicleParameter* parseFlowAttributes(const SUMOSAXAttributes& attrs, const SUMOTime beginDefault, const SUMOTime endDefault);
68 
69 
83  bool optionalID = false, bool skipDepart = false);
84 
85 
94  static SUMOVTypeParameter* beginVTypeParsing(const SUMOSAXAttributes& attrs, const std::string& file);
95 
96 
106  static void parseVTypeEmbedded(SUMOVTypeParameter& into,
107  int element, const SUMOSAXAttributes& attrs,
108  bool fromVType = false);
109 
110 
115  static void closeVTypeParsing(SUMOVTypeParameter& vtype) {
116  UNUSED_PARAMETER(vtype);
117  }
118 
119 
134  static SUMOVehicleClass parseVehicleClass(const SUMOSAXAttributes& attrs, const std::string& id);
135 
136 
151  static SUMOEmissionClass parseEmissionClass(const SUMOSAXAttributes& attrs, const std::string& id);
152 
153 
168  static SUMOVehicleShape parseGuiShape(const SUMOSAXAttributes& attrs, const std::string& id);
169 
170 
171  static void parseStop(SUMOVehicleParameter::Stop& stop, const SUMOSAXAttributes& attrs);
172 
173 private:
184  static void parseCommonAttributes(const SUMOSAXAttributes& attrs,
185  SUMOVehicleParameter* ret, std::string element);
186 
187 
188  typedef std::map<SumoXMLTag, std::set<SumoXMLAttr> > CFAttrMap;
189 
190  // returns allowed attrs for each known CF-model (init on first use)
191  static const CFAttrMap& getAllowedCFModelAttrs();
192 
193  // brief allowed attrs for each known CF-model
195 
196 
197 };
198 
199 
200 #endif
201 
202 /****************************************************************************/
203