#include <NIImporter_Vissim.h>
Definition at line 55 of file NIImporter_Vissim.h.
Public Types | |
| typedef std::map< std::string, RGBColor > | ColorMap |
| definition of a map from color names to color definitions | |
Static Public Member Functions | |
| static void | loadNetwork (const OptionsCont &oc, NBNetBuilder &nb) |
| Loads network definition from the assigned option and stores it in the given network builder. | |
Protected Member Functions | |
| bool | admitContinue (const std::string &tag) |
| void | load (const OptionsCont &options) |
| loads the vissim file | |
| NIImporter_Vissim (NBNetBuilder &nb, const std::string &file) | |
| constructor | |
| ~NIImporter_Vissim () | |
| destructor | |
Private Types | |
| typedef std::map< std::string, NIVissimElement > | ToElemIDMap |
| Definition of a map from element names to their numerical representation. | |
| typedef std::map < NIVissimElement, VissimSingleTypeParser * > | ToParserMap |
| Definition of a map from an element's numerical id to his parser. | |
Private Member Functions | |
| void | buildParsers () |
| adds id-to-parser - relationships of elements to parse into myParsers | |
| void | insertKnownElements () |
| adds name-to-id - relationships of known elements into myKnownElements | |
| NIImporter_Vissim (const NIImporter_Vissim &) | |
| Invalidated copy constructor. | |
| NIImporter_Vissim & | operator= (const NIImporter_Vissim &) |
| Invalidated assignment operator. | |
| void | postLoadBuild (SUMOReal offset) |
| bool | readContents (std::istream &strm) |
Private Attributes | |
| ColorMap | myColorMap |
| a map from color names to color definitions | |
| ToElemIDMap | myKnownElements |
| Map from element names to their numerical representation. | |
| std::string | myLastSecure |
| NBNetBuilder & | myNetBuilder |
| ToParserMap | myParsers |
| Parsers by element id. | |
Data Structures | |
| class | VissimSingleTypeParser |
| typedef std::map<std::string, RGBColor> NIImporter_Vissim::ColorMap |
definition of a map from color names to color definitions
Definition at line 140 of file NIImporter_Vissim.h.
typedef std::map<std::string, NIVissimElement> NIImporter_Vissim::ToElemIDMap [private] |
Definition of a map from element names to their numerical representation.
Definition at line 155 of file NIImporter_Vissim.h.
typedef std::map<NIVissimElement, VissimSingleTypeParser*> NIImporter_Vissim::ToParserMap [private] |
Definition of a map from an element's numerical id to his parser.
Definition at line 161 of file NIImporter_Vissim.h.
| NIImporter_Vissim::NIImporter_Vissim | ( | NBNetBuilder & | nb, | |
| const std::string & | file | |||
| ) | [protected] |
constructor
Definition at line 313 of file NIImporter_Vissim.cpp.
References buildParsers(), insertKnownElements(), myColorMap, and SUMOReal.
00314 : myNetBuilder(nb) { 00315 insertKnownElements(); 00316 buildParsers(); 00317 myColorMap["blau"] = RGBColor((SUMOReal) .3, (SUMOReal) 0.3, (SUMOReal) 1); 00318 myColorMap["gelb"] = RGBColor(1, 1, 0); 00319 myColorMap["grau"] = RGBColor((SUMOReal) .5, (SUMOReal) 0.5, (SUMOReal) .5); 00320 myColorMap["lila"] = RGBColor(1, 0, 1); 00321 myColorMap["gruen"] = RGBColor(0, 1, 0); 00322 myColorMap["rot"] = RGBColor(1, 0, 0); 00323 myColorMap["schwarz"] = RGBColor(0, 0, 0); 00324 myColorMap["tuerkis"] = RGBColor(0, 1, 1); 00325 myColorMap["weiss"] = RGBColor(1, 1, 1); 00326 myColorMap["keine"] = RGBColor(1, 1, 1); 00327 }
| NIImporter_Vissim::~NIImporter_Vissim | ( | ) | [protected] |
destructor
Definition at line 332 of file NIImporter_Vissim.cpp.
References NIVissimConnectionCluster::clearDict(), NIVissimVehicleType::clearDict(), NIVissimVehTypeClass::clearDict(), NIVissimTrafficDescription::clearDict(), NIVissimTL::NIVissimTLSignalGroup::clearDict(), NIVissimTL::NIVissimTLSignal::clearDict(), NIVissimTL::clearDict(), NIVissimSource::clearDict(), NIVissimNodeDef::clearDict(), NIVissimNodeCluster::clearDict(), NIVissimDisturbance::clearDict(), NIVissimDistrictConnection::clearDict(), NIVissimClosures::clearDict(), NIVissimAbstractEdge::clearDict(), and myParsers.
00332 { 00333 NIVissimAbstractEdge::clearDict(); 00334 NIVissimClosures::clearDict(); 00335 NIVissimDistrictConnection::clearDict(); 00336 NIVissimDisturbance::clearDict(); 00337 NIVissimNodeCluster::clearDict(); 00338 NIVissimNodeDef::clearDict(); 00339 NIVissimSource::clearDict(); 00340 NIVissimTL::clearDict(); 00341 NIVissimTL::NIVissimTLSignal::clearDict(); 00342 NIVissimTL::NIVissimTLSignalGroup::clearDict(); 00343 NIVissimTrafficDescription::clearDict(); 00344 NIVissimVehTypeClass::clearDict(); 00345 NIVissimVehicleType::clearDict(); 00346 NIVissimConnectionCluster::clearDict(); 00347 NIVissimEdge::clearDict(); 00348 NIVissimAbstractEdge::clearDict(); 00349 NIVissimConnection::clearDict(); 00350 for (ToParserMap::iterator i=myParsers.begin(); i!=myParsers.end(); i++) { 00351 delete(*i).second; 00352 } 00353 }
| NIImporter_Vissim::NIImporter_Vissim | ( | const NIImporter_Vissim & | ) | [private] |
Invalidated copy constructor.
| bool NIImporter_Vissim::admitContinue | ( | const std::string & | tag | ) | [protected] |
Definition at line 373 of file NIImporter_Vissim.cpp.
References myKnownElements, and myLastSecure.
Referenced by NIImporter_Vissim::VissimSingleTypeParser::readEndSecure().
00373 { 00374 ToElemIDMap::const_iterator i=myKnownElements.find(tag); 00375 if (i==myKnownElements.end()) { 00376 return true; 00377 } 00378 myLastSecure = tag; 00379 return false; 00380 }
| void NIImporter_Vissim::buildParsers | ( | ) | [private] |
adds id-to-parser - relationships of elements to parse into myParsers
Definition at line 557 of file NIImporter_Vissim.cpp.
References myColorMap, myParsers, VE_Auswertungsdefinition, VE_Baujahrverteilungsdefinition, VE_Detektorendefinition, VE_DynUml, VE_Einheitendefinition, VE_Emission, VE_Fahrtverlaufdateien, VE_Fahrverhaltendefinition, VE_Fahrzeugklassendefinition, VE_Fahrzeugtypdefinition, VE_Fensterdefinition, VE_Gefahrenwarnsystemdefinition, VE_Gelbverhaltendefinition, VE_Geschwindigkeitsverteilungsdefinition, VE_Haltestellendefinition, VE_Kantensperrung, VE_Kennungszeile, VE_Knotendefinition, VE_Laengenverteilungsdefinition, VE_Langsamfahrbereichdefinition, VE_Laufleistungsverteilungsdefinition, VE_Leistungsverteilungsdefinition, VE_Lichtsignalanlagendefinition, VE_Liniendefinition, VE_Linksverkehr, VE_LSAKopplungdefinition, VE_Massenverteilungsdefinition, VE_Maxbeschleunigungskurvedefinition, VE_Maxverzoegerungskurvedefinition, VE_Messungsdefinition, VE_Netzobjektdefinition, VE_Parkplatzdefinition, VE_Querschnittsmessungsdefinition, VE_Querverkehrsstoerungsdefinition, VE_Rautedefinition, VE_Reisezeitmessungsdefinition, VE_Richtungsentscheidungsdefinition, VE_Richtungspfeildefinition, VE_Routenentscheidungsdefinition, VE_Signalgeberdefinition, VE_Signalgruppendefinition, VE_Simdauer, VE_SimRate, VE_Startuhrzeit, VE_Startzufallszahl, VE_Stauparameterdefinition, VE_Stauzaehlerdefinition, VE_Stopschilddefinition, VE_Streckendefinition, VE_Streckentypdefinition, VE_TEAPACdefinition, VE_Verbindungsdefinition, VE_Verkehrszusammensetzungsdefinition, VE_Verlustzeitmessungsdefinition, VE_VWunschentscheidungsdefinition, VE_Wunschbeschleunigungskurvedefinition, VE_Wunschverzoegerungskurvedefinition, VE_Zeitenverteilungsdefinition, VE_Zeitschrittfaktor, and VE_Zuflussdefinition.
Referenced by NIImporter_Vissim().
00557 { 00558 myParsers[VE_Simdauer] = 00559 new NIVissimSingleTypeParser_Simdauer(*this); 00560 myParsers[VE_Startuhrzeit] = 00561 new NIVissimSingleTypeParser_Startuhrzeit(*this); 00562 myParsers[VE_DynUml] = 00563 new NIVissimSingleTypeParser_DynUml(*this); 00564 myParsers[VE_Streckendefinition] = 00565 new NIVissimSingleTypeParser_Streckendefinition(*this); 00566 myParsers[VE_Verbindungsdefinition] = 00567 new NIVissimSingleTypeParser_Verbindungsdefinition(*this); 00568 myParsers[VE_Richtungsentscheidungsdefinition] = 00569 new NIVissimSingleTypeParser_Richtungsentscheidungsdefinition(*this); 00570 myParsers[VE_Routenentscheidungsdefinition] = 00571 new NIVissimSingleTypeParser_Routenentscheidungsdefinition(*this); 00572 myParsers[VE_VWunschentscheidungsdefinition] = 00573 new NIVissimSingleTypeParser_VWunschentscheidungsdefinition(*this); 00574 myParsers[VE_Langsamfahrbereichdefinition] = 00575 new NIVissimSingleTypeParser_Langsamfahrbereichdefinition(*this); 00576 myParsers[VE_Zuflussdefinition] = 00577 new NIVissimSingleTypeParser_Zuflussdefinition(*this); 00578 myParsers[VE_Fahrzeugtypdefinition] = 00579 new NIVissimSingleTypeParser_Fahrzeugtypdefinition(*this, myColorMap); 00580 myParsers[VE_Fahrzeugklassendefinition] = 00581 new NIVissimSingleTypeParser_Fahrzeugklassendefinition(*this, myColorMap); 00582 myParsers[VE_Geschwindigkeitsverteilungsdefinition] = 00583 new NIVissimSingleTypeParser_Geschwindigkeitsverteilungsdefinition(*this); 00584 myParsers[VE_Laengenverteilungsdefinition] = 00585 new NIVissimSingleTypeParser_Laengenverteilungsdefinition(*this); 00586 myParsers[VE_Zeitenverteilungsdefinition] = 00587 new NIVissimSingleTypeParser_Zeitenverteilungsdefinition(*this); 00588 myParsers[VE_Querverkehrsstoerungsdefinition] = 00589 new NIVissimSingleTypeParser_Querverkehrsstoerungsdefinition(*this); 00590 myParsers[VE_Lichtsignalanlagendefinition] = 00591 new NIVissimSingleTypeParser_Lichtsignalanlagendefinition(*this); 00592 myParsers[VE_Signalgruppendefinition] = 00593 new NIVissimSingleTypeParser_Signalgruppendefinition(*this); 00594 myParsers[VE_Stopschilddefinition] = 00595 new NIVissimSingleTypeParser_Stopschilddefinition(*this); 00596 myParsers[VE_Knotendefinition] = 00597 new NIVissimSingleTypeParser_Knotendefinition(*this); 00598 myParsers[VE_Signalgeberdefinition] = 00599 new NIVissimSingleTypeParser_Signalgeberdefinition(*this); 00600 myParsers[VE_Detektorendefinition] = 00601 new NIVissimSingleTypeParser_Detektordefinition(*this); 00602 myParsers[VE_Haltestellendefinition] = 00603 new NIVissimSingleTypeParser_Haltestellendefinition(*this); 00604 myParsers[VE_Liniendefinition] = 00605 new NIVissimSingleTypeParser_Liniendefinition(*this); 00606 myParsers[VE_Reisezeitmessungsdefinition] = 00607 new NIVissimSingleTypeParser_Reisezeitmessungsdefinition(*this); 00608 myParsers[VE_Querschnittsmessungsdefinition] = 00609 new NIVissimSingleTypeParser_Querschnittsmessungsdefinition(*this); 00610 myParsers[VE_Messungsdefinition] = 00611 new NIVissimSingleTypeParser_Messungsdefinition(*this); 00612 myParsers[VE_Verlustzeitmessungsdefinition] = 00613 new NIVissimSingleTypeParser_Verlustzeitmessungsdefinition(*this); 00614 myParsers[VE_Stauzaehlerdefinition] = 00615 new NIVissimSingleTypeParser_Stauzaehlerdefinition(*this); 00616 myParsers[VE_Rautedefinition] = 00617 new NIVissimSingleTypeParser_Rautedefinition(*this); 00618 myParsers[VE_Richtungspfeildefinition] = 00619 new NIVissimSingleTypeParser_Richtungspfeildefinition(*this); 00620 myParsers[VE_Parkplatzdefinition] = 00621 new NIVissimSingleTypeParser_Parkplatzdefinition(*this); 00622 myParsers[VE_Fahrverhaltendefinition] = 00623 new NIVissimSingleTypeParser_Fahrverhaltendefinition(*this); 00624 myParsers[VE_Streckentypdefinition] = 00625 new NIVissimSingleTypeParser_Streckentypdefinition(*this); 00626 myParsers[VE_Kennungszeile] = 00627 new NIVissimSingleTypeParser_Kennungszeile(*this); 00628 myParsers[VE_Fensterdefinition] = 00629 new NIVissimSingleTypeParser_Fensterdefinition(*this); 00630 myParsers[VE_Auswertungsdefinition] = 00631 new NIVissimSingleTypeParser_Auswertungsdefinition(*this); 00632 myParsers[VE_Verkehrszusammensetzungsdefinition] = 00633 new NIVissimSingleTypeParser_Zusammensetzungsdefinition(*this); 00634 myParsers[VE_Kantensperrung] = 00635 new NIVissimSingleTypeParser_Kantensperrung(*this); 00636 00637 myParsers[VE_Startzufallszahl] = 00638 new NIVissimSingleTypeParser_Startzufallszahl(*this); 00639 myParsers[VE_SimRate] = 00640 new NIVissimSingleTypeParser_SimRate(*this); 00641 myParsers[VE_Zeitschrittfaktor] = 00642 new NIVissimSingleTypeParser_Zeitschrittfaktor(*this); 00643 myParsers[VE_Linksverkehr] = 00644 new NIVissimSingleTypeParser_Linksverkehr(*this); 00645 myParsers[VE_Stauparameterdefinition] = 00646 new NIVissimSingleTypeParser_Stauparameterdefinition(*this); 00647 myParsers[VE_Gelbverhaltendefinition] = 00648 new NIVissimSingleTypeParser_Gelbverhaltendefinition(*this); 00649 myParsers[VE_LSAKopplungdefinition] = 00650 new NIVissimSingleTypeParser_LSAKopplungsdefinition(*this); 00651 myParsers[VE_Gefahrenwarnsystemdefinition] = 00652 new NIVissimSingleTypeParser_Gefahrwarnungsdefinition(*this); 00653 myParsers[VE_TEAPACdefinition] = 00654 new NIVissimSingleTypeParser_TEAPACDefinition(*this); 00655 myParsers[VE_Netzobjektdefinition] = 00656 new NIVissimSingleTypeParser_Netzobjektdefinition(*this); 00657 myParsers[VE_Fahrtverlaufdateien] = 00658 new NIVissimSingleTypeParser_Fahrtverlaufdateien(*this); 00659 myParsers[VE_Emission] = 00660 new NIVissimSingleTypeParser_Emission(*this); 00661 myParsers[VE_Einheitendefinition] = 00662 new NIVissimSingleTypeParser_Einheitendefinition(*this); 00663 myParsers[VE_Baujahrverteilungsdefinition] = 00664 new NIVissimSingleTypeParser__XVerteilungsdefinition(*this); 00665 myParsers[VE_Laufleistungsverteilungsdefinition] = 00666 new NIVissimSingleTypeParser__XVerteilungsdefinition(*this); 00667 myParsers[VE_Massenverteilungsdefinition] = 00668 new NIVissimSingleTypeParser__XVerteilungsdefinition(*this); 00669 myParsers[VE_Leistungsverteilungsdefinition] = 00670 new NIVissimSingleTypeParser__XVerteilungsdefinition(*this); 00671 myParsers[VE_Maxbeschleunigungskurvedefinition] = 00672 new NIVissimSingleTypeParser__XKurvedefinition(*this); 00673 myParsers[VE_Wunschbeschleunigungskurvedefinition] = 00674 new NIVissimSingleTypeParser__XKurvedefinition(*this); 00675 myParsers[VE_Maxverzoegerungskurvedefinition] = 00676 new NIVissimSingleTypeParser__XKurvedefinition(*this); 00677 myParsers[VE_Wunschverzoegerungskurvedefinition] = 00678 new NIVissimSingleTypeParser__XKurvedefinition(*this); 00679 00680 }
| void NIImporter_Vissim::insertKnownElements | ( | ) | [private] |
adds name-to-id - relationships of known elements into myKnownElements
Definition at line 485 of file NIImporter_Vissim.cpp.
References myKnownElements, VE_Auswertungsdefinition, VE_Baujahrverteilungsdefinition, VE_Detektorendefinition, VE_DUMMY, VE_DynUml, VE_Einheitendefinition, VE_Emission, VE_Fahrtverlaufdateien, VE_Fahrverhaltendefinition, VE_Fahrzeugklassendefinition, VE_Fahrzeugtypdefinition, VE_Fensterdefinition, VE_Gefahrenwarnsystemdefinition, VE_Gelbverhaltendefinition, VE_Geschwindigkeitsverteilungsdefinition, VE_Haltestellendefinition, VE_Kantensperrung, VE_Kennungszeile, VE_Knotendefinition, VE_Laengenverteilungsdefinition, VE_Langsamfahrbereichdefinition, VE_Laufleistungsverteilungsdefinition, VE_Leistungsverteilungsdefinition, VE_Lichtsignalanlagendefinition, VE_Liniendefinition, VE_Linksverkehr, VE_LSAKopplungdefinition, VE_Massenverteilungsdefinition, VE_Maxbeschleunigungskurvedefinition, VE_Maxverzoegerungskurvedefinition, VE_Messungsdefinition, VE_Netzobjektdefinition, VE_Parkplatzdefinition, VE_Querschnittsmessungsdefinition, VE_Querverkehrsstoerungsdefinition, VE_Rautedefinition, VE_Reisezeitmessungsdefinition, VE_Richtungsentscheidungsdefinition, VE_Richtungspfeildefinition, VE_Routenentscheidungsdefinition, VE_Signalgeberdefinition, VE_Signalgruppendefinition, VE_Simdauer, VE_SimRate, VE_Startuhrzeit, VE_Startzufallszahl, VE_Stauparameterdefinition, VE_Stauzaehlerdefinition, VE_Stopschilddefinition, VE_Streckendefinition, VE_Streckentypdefinition, VE_TEAPACdefinition, VE_Verbindungsdefinition, VE_Verkehrszusammensetzungsdefinition, VE_Verlustzeitmessungsdefinition, VE_VWunschentscheidungsdefinition, VE_Wunschbeschleunigungskurvedefinition, VE_Wunschverzoegerungskurvedefinition, VE_Zeitenverteilungsdefinition, VE_Zeitschrittfaktor, and VE_Zuflussdefinition.
Referenced by NIImporter_Vissim().
00485 { 00486 myKnownElements["kennung"] = VE_Kennungszeile; 00487 myKnownElements["zufallszahl"] = VE_Startzufallszahl; 00488 myKnownElements["simulationsdauer"] = VE_Simdauer; 00489 myKnownElements["startuhrzeit"] = VE_Startuhrzeit; 00490 myKnownElements["simulationsrate"] = VE_SimRate; 00491 myKnownElements["zeitschritt"] = VE_Zeitschrittfaktor; 00492 myKnownElements["linksverkehr"] = VE_Linksverkehr; 00493 myKnownElements["dynuml"] = VE_DynUml; 00494 myKnownElements["stau"] = VE_Stauparameterdefinition; 00495 myKnownElements["gelbverhalten"] = VE_Gelbverhaltendefinition; 00496 myKnownElements["strecke"] = VE_Streckendefinition; 00497 myKnownElements["verbindung"] = VE_Verbindungsdefinition; 00498 myKnownElements["richtungsentscheidung"] = VE_Richtungsentscheidungsdefinition; 00499 myKnownElements["routenentscheidung"] = VE_Routenentscheidungsdefinition; 00500 myKnownElements["vwunschentscheidung"] = VE_VWunschentscheidungsdefinition; 00501 myKnownElements["langsamfahrbereich"] = VE_Langsamfahrbereichdefinition; 00502 myKnownElements["zufluss"] = VE_Zuflussdefinition; 00503 myKnownElements["fahrzeugtyp"] = VE_Fahrzeugtypdefinition; 00504 myKnownElements["fahrzeugklasse"] = VE_Fahrzeugklassendefinition; 00505 myKnownElements["zusammensetzung"] = VE_Verkehrszusammensetzungsdefinition; 00506 myKnownElements["vwunsch"] = VE_Geschwindigkeitsverteilungsdefinition; 00507 myKnownElements["laengen"] = VE_Laengenverteilungsdefinition; 00508 myKnownElements["zeiten"] = VE_Zeitenverteilungsdefinition; 00509 myKnownElements["baujahre"] = VE_Baujahrverteilungsdefinition; 00510 myKnownElements["leistungen"] = VE_Laufleistungsverteilungsdefinition; 00511 myKnownElements["massen"] = VE_Massenverteilungsdefinition; 00512 myKnownElements["leistungen"] = VE_Leistungsverteilungsdefinition; 00513 myKnownElements["maxbeschleunigung"] = VE_Maxbeschleunigungskurvedefinition; 00514 myKnownElements["wunschbeschleunigung"] = VE_Wunschbeschleunigungskurvedefinition; 00515 myKnownElements["maxverzoegerung"] = VE_Maxverzoegerungskurvedefinition; 00516 myKnownElements["wunschverzoegerung"] = VE_Wunschverzoegerungskurvedefinition; 00517 myKnownElements["querverkehrsstoerung"] = VE_Querverkehrsstoerungsdefinition; 00518 myKnownElements["lsa"] = VE_Lichtsignalanlagendefinition; 00519 myKnownElements["signalgruppe"] = VE_Signalgruppendefinition; 00520 myKnownElements["signalgeber"] = VE_Signalgeberdefinition; 00521 myKnownElements["lsakopplung"] = VE_LSAKopplungdefinition; 00522 myKnownElements["detektor"] = VE_Detektorendefinition; 00523 myKnownElements["haltestelle"] = VE_Haltestellendefinition; 00524 myKnownElements["linie"] = VE_Liniendefinition; 00525 myKnownElements["stopschild"] = VE_Stopschilddefinition; 00526 myKnownElements["messung"] = VE_Messungsdefinition; 00527 myKnownElements["reisezeit"] = VE_Reisezeitmessungsdefinition; 00528 myKnownElements["verlustzeit"] = VE_Verlustzeitmessungsdefinition; 00529 myKnownElements["querschnittsmessung"] = VE_Querschnittsmessungsdefinition; 00530 myKnownElements["stauzaehler"] = VE_Stauzaehlerdefinition; 00531 myKnownElements["auswertung"] = VE_Auswertungsdefinition; 00532 myKnownElements["fenster"] = VE_Fensterdefinition; 00533 myKnownElements["motiv"] = VE_Gefahrenwarnsystemdefinition; 00534 myKnownElements["parkplatz"] = VE_Parkplatzdefinition; 00535 myKnownElements["knoten"] = VE_Knotendefinition; 00536 myKnownElements["teapac"] = VE_TEAPACdefinition; 00537 myKnownElements["netzobjekt"] = VE_Netzobjektdefinition; 00538 myKnownElements["richtungspfeil"] = VE_Richtungspfeildefinition; 00539 myKnownElements["raute"] = VE_Rautedefinition; 00540 myKnownElements["fahrverhalten"] = VE_Fahrverhaltendefinition; 00541 myKnownElements["fahrtverlaufdateien"] = VE_Fahrtverlaufdateien; 00542 myKnownElements["emission"] = VE_Emission; 00543 myKnownElements["einheit"] = VE_Einheitendefinition; 00544 myKnownElements["streckentyp"] = VE_Streckentypdefinition; 00545 myKnownElements["kantensperrung"] = VE_Kantensperrung; 00546 myKnownElements["kante"] = VE_Kantensperrung; 00547 00548 00549 myKnownElements["advance"] = VE_DUMMY; 00550 myKnownElements["temperatur"] = VE_DUMMY; 00551 00552 }
| void NIImporter_Vissim::load | ( | const OptionsCont & | options | ) | [protected] |
loads the vissim file
Definition at line 357 of file NIImporter_Vissim.cpp.
References MsgHandler::getErrorInstance(), OptionsCont::getFloat(), OptionsCont::getString(), MsgHandler::inform(), postLoadBuild(), and readContents().
00357 { 00358 // load file contents 00359 // try to open the file 00360 std::ifstream strm(options.getString("vissim").c_str()); 00361 if (!strm.good()) { 00362 MsgHandler::getErrorInstance()->inform("The vissim-file '" + options.getString("vissim") + "' was not found."); 00363 return; 00364 } 00365 if (!readContents(strm)) { 00366 return; 00367 } 00368 postLoadBuild(options.getFloat("vissim.offset")); 00369 }
| void NIImporter_Vissim::loadNetwork | ( | const OptionsCont & | oc, | |
| NBNetBuilder & | nb | |||
| ) | [static] |
Loads network definition from the assigned option and stores it in the given network builder.
If the option "vissim" is set, the file stored therein is read and the network definition stored therein is stored within the given network builder.
If the option "vissim" is not set, this method simply returns.
| [in] | oc | The options to use |
| [in] | nb | The network builder to fill |
Definition at line 123 of file NIImporter_Vissim.cpp.
References OptionsCont::getString(), and OptionsCont::isSet().
Referenced by NILoader::load().
00123 { 00124 if (!oc.isSet("vissim")) { 00125 return; 00126 } 00127 // load the visum network 00128 NIImporter_Vissim loader(nb, oc.getString("vissim")); 00129 loader.load(oc); 00130 }
| NIImporter_Vissim& NIImporter_Vissim::operator= | ( | const NIImporter_Vissim & | ) | [private] |
Invalidated assignment operator.
| void NIImporter_Vissim::postLoadBuild | ( | SUMOReal | offset | ) | [private] |
Definition at line 426 of file NIImporter_Vissim.cpp.
References NIVissimEdge::buildConnectionClusters(), NIVissimNodeCluster::buildNBNodes(), NIVissimConnectionCluster::buildNodeClusters(), NIVissimBoundedClusterObject::closeLoading(), NIVissimNodeCluster::dict_addDisturbances(), NIVissimConnection::dict_assignToEdges(), NIVissimDistrictConnection::dict_BuildDistrictConnections(), NIVissimDistrictConnection::dict_BuildDistrictNodes(), NIVissimDistrictConnection::dict_BuildDistricts(), NIVissimConnection::dict_buildNBEdgeConnections(), NIVissimEdge::dict_buildNBEdges(), NIVissimDistrictConnection::dict_CheckEdgeEnds(), NIVissimEdge::dict_checkEdges2Join(), NIVissimEdge::dict_propagateSpeeds(), NIVissimDisturbance::dict_SetDisturbances(), NIVissimTL::dict_SetSignals(), OptionsCont::getBool(), NBNetBuilder::getDistrictCont(), NBNetBuilder::getEdgeCont(), NIVissimNodeDef::getMaxID(), NBNetBuilder::getNodeCont(), OptionsCont::getOptions(), NBNetBuilder::getTLLogicCont(), NIVissimConnectionCluster::joinBySameEdges(), myNetBuilder, NIVissimEdge::reportUnsetSpeeds(), and NIVissimNodeCluster::setCurrentVirtID().
Referenced by load().
00426 { 00427 // close the loading process 00428 NIVissimBoundedClusterObject::closeLoading(); 00429 NIVissimConnection::dict_assignToEdges(); 00430 NIVissimDisturbance::dict_SetDisturbances(); 00431 // build district->connections map 00432 NIVissimDistrictConnection::dict_BuildDistrictConnections(); 00433 // build clusters around nodes 00434 // NIVissimNodeDef::buildNodeClusters(); 00435 // build node clusters around traffic lights 00436 // NIVissimTL::buildNodeClusters(); 00437 00438 // when connections or disturbances are left, build nodes around them 00439 00440 // try to assign connection clusters to nodes 00441 // only left connections will be processed in 00442 // buildConnectionClusters & join 00443 //30.4. brauchen wir noch! NIVissimNodeDef::dict_assignConnectionsToNodes(); 00444 00445 // build clusters of connections with the same direction and a similar position along the streets 00446 NIVissimEdge::buildConnectionClusters(); 00447 // check whether further nodes (connection clusters by now) must be added 00448 NIVissimDistrictConnection::dict_CheckEdgeEnds(); 00449 00450 // join clusters when overlapping (different streets are possible) 00451 NIVissimEdge::dict_checkEdges2Join(); 00452 NIVissimConnectionCluster::joinBySameEdges(offset); 00453 // NIVissimConnectionCluster::joinByDisturbances(offset); 00454 00455 // NIVissimConnectionCluster::addTLs(offset); 00456 00457 // build nodes from clusters 00458 NIVissimNodeCluster::setCurrentVirtID(NIVissimNodeDef::getMaxID()); 00459 NIVissimConnectionCluster::buildNodeClusters(); 00460 00461 // NIVissimNodeCluster::dict_recheckEdgeChanges(); 00462 00463 NIVissimNodeCluster::buildNBNodes(myNetBuilder.getNodeCont()); 00464 NIVissimDistrictConnection::dict_BuildDistrictNodes( 00465 myNetBuilder.getDistrictCont(), myNetBuilder.getNodeCont()); 00466 NIVissimEdge::dict_propagateSpeeds(); 00467 NIVissimEdge::dict_buildNBEdges(myNetBuilder.getDistrictCont(), 00468 myNetBuilder.getNodeCont(), myNetBuilder.getEdgeCont(), 00469 offset); 00470 if (OptionsCont::getOptions().getBool("vissim.report-unset-speeds")) { 00471 NIVissimEdge::reportUnsetSpeeds(); 00472 } 00473 NIVissimDistrictConnection::dict_BuildDistricts(myNetBuilder.getDistrictCont(), 00474 myNetBuilder.getEdgeCont(), myNetBuilder.getNodeCont()); 00475 NIVissimConnection::dict_buildNBEdgeConnections(myNetBuilder.getEdgeCont()); 00476 NIVissimNodeCluster::dict_addDisturbances(myNetBuilder.getDistrictCont(), 00477 myNetBuilder.getNodeCont(), myNetBuilder.getEdgeCont()); 00478 NIVissimTL::dict_SetSignals(myNetBuilder.getTLLogicCont(), 00479 myNetBuilder.getEdgeCont()); 00480 00481 }
| bool NIImporter_Vissim::readContents | ( | std::istream & | strm | ) | [private] |
Definition at line 384 of file NIImporter_Vissim.cpp.
References myKnownElements, myLastSecure, myParsers, NIImporter_Vissim::VissimSingleTypeParser::parse(), and StringUtils::to_lower_case().
Referenced by load().
00384 { 00385 // read contents 00386 bool ok = true; 00387 while (strm.good()&&ok) { 00388 std::string tag; 00389 if (myLastSecure!="") { 00390 tag = myLastSecure; 00391 } else { 00392 strm >> tag; 00393 } 00394 myLastSecure = ""; 00395 bool parsed = false; 00396 while (!parsed&&strm.good()&&ok) { 00397 ToElemIDMap::iterator i=myKnownElements.find(StringUtils::to_lower_case(tag)); 00398 if (i!=myKnownElements.end()) { 00399 ToParserMap::iterator j=myParsers.find((*i).second); 00400 if (j!=myParsers.end()) { 00401 VissimSingleTypeParser *parser = (*j).second; 00402 ok = parser->parse(strm); 00403 parsed = true; 00404 } 00405 } 00406 if (!parsed) { 00407 std::string line; 00408 size_t pos; 00409 do { 00410 pos = strm.tellg(); 00411 getline(strm, line); 00412 } while (strm.good()&&(line==""||line[0]==' '||line[0]=='-')); 00413 if (!strm.good()) { 00414 return true; 00415 } 00416 strm.seekg(pos); 00417 strm >> tag; 00418 } 00419 } 00420 } 00421 return ok; 00422 }
ColorMap NIImporter_Vissim::myColorMap [private] |
a map from color names to color definitions
Definition at line 167 of file NIImporter_Vissim.h.
Referenced by buildParsers(), and NIImporter_Vissim().
Map from element names to their numerical representation.
Definition at line 158 of file NIImporter_Vissim.h.
Referenced by admitContinue(), insertKnownElements(), and readContents().
std::string NIImporter_Vissim::myLastSecure [private] |
Definition at line 169 of file NIImporter_Vissim.h.
Referenced by admitContinue(), and readContents().
NBNetBuilder& NIImporter_Vissim::myNetBuilder [private] |
ToParserMap NIImporter_Vissim::myParsers [private] |
Parsers by element id.
Definition at line 164 of file NIImporter_Vissim.h.
Referenced by buildParsers(), readContents(), and ~NIImporter_Vissim().
1.5.6