53 std::string name, label, type;
59 }
else if (tag ==
"typ") {
61 }
else if (tag ==
"laenge") {
71 double zuschlag1, zuschlag2;
72 zuschlag1 = zuschlag2 = 0;
73 while (tag !=
"von") {
75 if (tag ==
"zuschlag") {
78 if (tag ==
"zuschlag") {
85 while (tag !=
"nach") {
98 while (tag !=
"DATAEND") {
99 if (tag ==
"keinspurwechsel") {
100 while (tag !=
"DATAEND") {
103 }
else if (tag ==
"spur") {
108 std::vector<int> assignedVehicles;
111 while (tag !=
"DATAEND" && tag !=
"spur" && tag !=
"keinspurwechsel") {
113 assignedVehicles.push_back(classes);
124 zuschlag1, zuschlag2, length, geom, clv);
std::vector< NIVissimClosedLaneDef * > NIVissimClosedLanesVector
static const double UNSPECIFIED_WIDTH
unspecified lane width
Position getPosition(std::istream &from)
returns the 2d-position saved as next within the stream
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 overrideOptionalLabel(std::istream &from, const std::string &tag="")
overrides the optional label definition; returns the next tag as done by readEndSecure
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.
A temporary storage for edges imported from Vissim.
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.
NIVissimSingleTypeParser_Streckendefinition(NIImporter_Vissim &parent)
Constructor.
bool parse(std::istream &from)
Parses the data type from the given stream.
~NIVissimSingleTypeParser_Streckendefinition()
Destructor.
void push_back_noDoublePos(const Position &p)
insert in back a non double position
static double toDouble(const std::string &sData)
converts a string into the double value described by it by calling the char-type converter
static int toInt(const std::string &sData)
converts a string into the integer value described by it by calling the char-type converter,...