Eclipse SUMO - Simulation of Urban MObility
NIVissimSingleTypeParser_Stopschilddefinition.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 /****************************************************************************/
19 //
20 /****************************************************************************/
21 #include <config.h>
22 
23 #include <iostream>
27 
28 
29 // ===========================================================================
30 // method definitions
31 // ===========================================================================
33  : NIImporter_Vissim::VissimSingleTypeParser(parent) {}
34 
35 
37 
38 
39 bool
41  readUntil(from, "strecke");
42  std::string tag;
43  from >> tag; // edge name
44  from >> tag; // "spur"
45  from >> tag; // lane no
46  from >> tag; // "bei"
47  from >> tag; // pos
48  from >> tag;
49  if (tag == "RTOR") {
50  from >> tag; // "lsa"
51  from >> tag; // lsa id
52  from >> tag; // "gruppe"
53  from >> tag; // gruppe id
54  } else {
55  while (tag == "fahrzeugklasse") {
56  from >> tag; // class no
57  from >> tag; // "zeiten"
58  from >> tag; // times no
59  tag = readEndSecure(from, "fahrzeugklasse");
60  }
61  }
62  return true;
63 }
64 
65 
66 /****************************************************************************/
std::string readEndSecure(std::istream &from, const std::string &excl="")
as myRead, but returns "DATAEND" when the current field has ended
void readUntil(std::istream &from, const std::string &name)
Reads from the stream until the keywor occurs.
Importer for networks stored in Vissim format.
NIVissimSingleTypeParser_Stopschilddefinition(NIImporter_Vissim &parent)
Constructor.
bool parse(std::istream &from)
Parses the data type from the given stream.