36 #include "../NIImporter_Vissim.h"
37 #include "../tempstructs/NIVissimEdge.h"
38 #include "../tempstructs/NIVissimClosedLaneDef.h"
39 #include "../tempstructs/NIVissimClosedLanesVector.h"
42 #ifdef CHECK_MEMORY_LEAKS
44 #endif // CHECK_MEMORY_LEAKS
66 std::string name, label, type;
72 }
else if (tag ==
"typ") {
74 }
else if (tag ==
"laenge") {
85 zuschlag1 = zuschlag2 = 0;
86 while (tag !=
"von") {
88 if (tag ==
"zuschlag") {
91 if (tag ==
"zuschlag") {
98 while (tag !=
"nach") {
111 while (tag !=
"DATAEND") {
112 if (tag ==
"keinspurwechsel") {
113 while (tag !=
"DATAEND") {
116 }
else if (tag ==
"spur") {
121 std::vector<int> assignedVehicles;
124 while (tag !=
"DATAEND" && tag !=
"spur" && tag !=
"keinspurwechsel") {
126 assignedVehicles.push_back(classes);
137 zuschlag1, zuschlag2, length, geom, clv);
NIVissimSingleTypeParser_Streckendefinition(NIImporter_Vissim &parent)
Constructor.
static SUMOReal _2SUMOReal(const E *const data)
std::string myRead(std::istream &from)
reads from the stream and returns the lower case version of the read value
std::string readEndSecure(std::istream &from, const std::string &excl="")
as myRead, but returns "DATAEND" when the current field has ended
std::vector< NIVissimClosedLaneDef * > NIVissimClosedLanesVector
Importer for networks stored in Vissim format.
~NIVissimSingleTypeParser_Streckendefinition()
Destructor.
A temporary storage for edges imported from Vissim.
Position getPosition(std::istream &from)
returns the 2d-position saved as next within the stream
std::string readName(std::istream &from)
Reads the structures name We cannot use the "<<" operator, as names may contain more than one word wh...
static int _2int(const E *const data)
bool parse(std::istream &from)
Parses the data type from the given stream.
static bool dictionary(int id, const std::string &name, const std::string &type, int noLanes, SUMOReal zuschlag1, SUMOReal zuschlag2, SUMOReal length, const PositionVector &geom, const NIVissimClosedLanesVector &clv)
Adds the described item to the dictionary Builds the edge first.
void push_back_noDoublePos(const Position &p)
std::string overrideOptionalLabel(std::istream &from, const std::string &tag="")
overrides the optional label definition; returns the next tag as done by readEndSecure ...