29 #include "../NIImporter_Vissim.h" 30 #include "../tempstructs/NIVissimEdge.h" 31 #include "../tempstructs/NIVissimClosedLaneDef.h" 32 #include "../tempstructs/NIVissimClosedLanesVector.h" 55 std::string name, label, type;
61 }
else if (tag ==
"typ") {
63 }
else if (tag ==
"laenge") {
73 double zuschlag1, zuschlag2;
74 zuschlag1 = zuschlag2 = 0;
75 while (tag !=
"von") {
77 if (tag ==
"zuschlag") {
80 if (tag ==
"zuschlag") {
87 while (tag !=
"nach") {
100 while (tag !=
"DATAEND") {
101 if (tag ==
"keinspurwechsel") {
102 while (tag !=
"DATAEND") {
105 }
else if (tag ==
"spur") {
110 std::vector<int> assignedVehicles;
113 while (tag !=
"DATAEND" && tag !=
"spur" && tag !=
"keinspurwechsel") {
115 assignedVehicles.push_back(classes);
126 zuschlag1, zuschlag2, length, geom, clv);
NIVissimSingleTypeParser_Streckendefinition(NIImporter_Vissim &parent)
Constructor.
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.
static const double UNSPECIFIED_WIDTH
unspecified lane width
A temporary storage for edges imported from Vissim.
static double toDouble(const std::string &sData)
converts a string into the double value described by it by calling the char-type converter ...
Position getPosition(std::istream &from)
returns the 2d-position saved as next within the stream
static int toInt(const std::string &sData)
converts a string into the integer value described by it by calling the char-type converter...
static bool dictionary(int id, const std::string &name, const std::string &type, int noLanes, double zuschlag1, double zuschlag2, double length, const PositionVector &geom, const NIVissimClosedLanesVector &clv)
Adds the described item to the dictionary Builds the edge first.
std::string readName(std::istream &from)
Reads the structures name We cannot use the "<<" operator, as names may contain more than one word wh...
bool parse(std::istream &from)
Parses the data type from the given stream.
void push_back_noDoublePos(const Position &p)
insert in back a non double position
std::string overrideOptionalLabel(std::istream &from, const std::string &tag="")
overrides the optional label definition; returns the next tag as done by readEndSecure ...