Eclipse SUMO - Simulation of Urban MObility
Loading...
Searching...
No Matches
NIVissimSingleTypeParser_Verkehrszusammensetzungsdefinition.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-2023 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>
30
31
32// ===========================================================================
33// method definitions
34// ===========================================================================
37
38
40
41
42bool
44 // id
45 int id;
46 from >> id; // type-checking is missing!
47 // name
48 std::string tag;
49 from >> tag;
50 std::string name = readName(from);
51 // assigned vehicle classes
52 tag = myRead(from);
53 if (tag == "temperatur") {
54 tag = myRead(from);
55 tag = myRead(from);
56 }
57 NIVissimVehicleClassVector assignedTypes;
58 while (tag != "DATAEND") {
59 int type;
60 from >> type;
61 double percentage;
62 from >> tag;
63 from >> percentage;
64 int vwish;
65 from >> tag;
66 from >> vwish;
67 assignedTypes.push_back(new NIVissimVehicleClass(vwish));
68 tag = readEndSecure(from, "Fahrzeugtyp");
69 }
70 //
71 return NIVissimTrafficDescription::dictionary(id, name, assignedTypes);
72}
73
74
75/****************************************************************************/
std::vector< NIVissimVehicleClass * > NIVissimVehicleClassVector
std::string readEndSecure(std::istream &from, const std::string &excl="")
as myRead, but returns "DATAEND" when the current field has ended
std::string readName(std::istream &from)
Reads the structures name We cannot use the "<<" operator, as names may contain more than one word wh...
std::string myRead(std::istream &from)
reads from the stream and returns the lower case version of the read value
Importer for networks stored in Vissim format.
static bool dictionary(int id, const std::string &name, const NIVissimVehicleClassVector &vehicleTypes)