#include <NIVissimTL.h>
Definition at line 110 of file NIVissimTL.h.
Public Member Functions | |
| bool | addTo (NBLoadedTLDef *node) const |
| NIVissimTLSignalGroup (int lsaid, int id, const std::string &name, bool isGreenBegin, const DoubleVector ×, SUMOTime tredyellow, SUMOTime tyellow) | |
| ~NIVissimTLSignalGroup () | |
Static Public Member Functions | |
| static void | clearDict () |
| static NIVissimTLSignalGroup * | dictionary (int lsaid, int id) |
| static bool | dictionary (int lsaid, int id, NIVissimTLSignalGroup *o) |
| static SGroupDictType | getGroupsFor (int tlid) |
Private Attributes | |
| bool | myFirstIsRed |
| int | myID |
| int | myLSA |
| std::string | myName |
| DoubleVector | myTimes |
| SUMOTime | myTRedYellow |
| SUMOTime | myTYellow |
Static Private Attributes | |
| static GroupDictType | myDict |
| NIVissimTL::NIVissimTLSignalGroup::NIVissimTLSignalGroup | ( | int | lsaid, | |
| int | id, | |||
| const std::string & | name, | |||
| bool | isGreenBegin, | |||
| const DoubleVector & | times, | |||
| SUMOTime | tredyellow, | |||
| SUMOTime | tyellow | |||
| ) |
Definition at line 212 of file NIVissimTL.cpp.
00217 : myLSA(lsaid), myID(id), myName(name), myTimes(times), 00218 myFirstIsRed(!isGreenBegin), myTRedYellow(tredyellow), 00219 myTYellow(tyellow) {}
| NIVissimTL::NIVissimTLSignalGroup::~NIVissimTLSignalGroup | ( | ) |
| bool NIVissimTL::NIVissimTLSignalGroup::addTo | ( | NBLoadedTLDef * | node | ) | const |
Definition at line 285 of file NIVissimTL.cpp.
References NBLoadedTLDef::addSignalGroup(), NBLoadedTLDef::addSignalGroupPhaseBegin(), myFirstIsRed, myID, myTimes, myTRedYellow, myTYellow, NBLoadedTLDef::setSignalYellowTimes(), NBTrafficLightDefinition::TLCOLOR_GREEN, and NBTrafficLightDefinition::TLCOLOR_RED.
00285 { 00286 // get the color at the begin 00287 NBTrafficLightDefinition::TLColor color = myFirstIsRed 00288 ? NBTrafficLightDefinition::TLCOLOR_RED : NBTrafficLightDefinition::TLCOLOR_GREEN; 00289 std::string id = toString<int>(myID); 00290 tl->addSignalGroup(id); // !!! myTimes als SUMOTime 00291 for (DoubleVector::const_iterator i=myTimes.begin(); i!=myTimes.end(); i++) { 00292 tl->addSignalGroupPhaseBegin(id, (SUMOTime) *i, color); 00293 color = color==NBTrafficLightDefinition::TLCOLOR_RED 00294 ? NBTrafficLightDefinition::TLCOLOR_GREEN : NBTrafficLightDefinition::TLCOLOR_RED; 00295 } 00296 if (myTimes.size()==0) { 00297 if (myFirstIsRed) { 00298 tl->addSignalGroupPhaseBegin(id, 0, NBTrafficLightDefinition::TLCOLOR_RED); 00299 } else { 00300 tl->addSignalGroupPhaseBegin(id, 0, NBTrafficLightDefinition::TLCOLOR_GREEN); 00301 } 00302 } 00303 tl->setSignalYellowTimes(id, myTRedYellow, myTYellow); 00304 return true; 00305 }
| void NIVissimTL::NIVissimTLSignalGroup::clearDict | ( | ) | [static] |
Definition at line 264 of file NIVissimTL.cpp.
References myDict.
Referenced by NIImporter_Vissim::~NIImporter_Vissim().
00264 { 00265 for (GroupDictType::iterator i=myDict.begin(); i!=myDict.end(); i++) { 00266 for (SGroupDictType::iterator j=(*i).second.begin(); j!=(*i).second.end(); j++) { 00267 delete(*j).second; 00268 } 00269 } 00270 myDict.clear(); 00271 }
| NIVissimTL::NIVissimTLSignalGroup * NIVissimTL::NIVissimTLSignalGroup::dictionary | ( | int | lsaid, | |
| int | id | |||
| ) | [static] |
Definition at line 251 of file NIVissimTL.cpp.
References myDict.
00251 { 00252 GroupDictType::iterator i = myDict.find(lsaid); 00253 if (i==myDict.end()) { 00254 return 0; 00255 } 00256 SGroupDictType::iterator j = (*i).second.find(id); 00257 if (j==(*i).second.end()) { 00258 return 0; 00259 } 00260 return (*j).second; 00261 }
| bool NIVissimTL::NIVissimTLSignalGroup::dictionary | ( | int | lsaid, | |
| int | id, | |||
| NIVissimTL::NIVissimTLSignalGroup * | o | |||
| ) | [static] |
Definition at line 226 of file NIVissimTL.cpp.
References myDict.
Referenced by NIVissimSingleTypeParser_Signalgruppendefinition::parseFixedTime().
00227 { 00228 GroupDictType::iterator i = myDict.find(lsaid); 00229 if (i==myDict.end()) { 00230 myDict[lsaid] = SGroupDictType(); 00231 i = myDict.find(lsaid); 00232 } 00233 SGroupDictType::iterator j = (*i).second.find(id); 00234 if (j==(*i).second.end()) { 00235 myDict[lsaid][id] = o; 00236 return true; 00237 } 00238 return false; 00239 /* 00240 GroupDictType::iterator i=myDict.find(id); 00241 if(i==myDict.end()) { 00242 myDict[id] = o; 00243 return true; 00244 } 00245 return false; 00246 */ 00247 }
| NIVissimTL::SGroupDictType NIVissimTL::NIVissimTLSignalGroup::getGroupsFor | ( | int | tlid | ) | [static] |
Definition at line 275 of file NIVissimTL.cpp.
References myDict.
Referenced by NIVissimTL::dict_SetSignals().
00275 { 00276 GroupDictType::iterator i = myDict.find(tlid); 00277 if (i==myDict.end()) { 00278 return SGroupDictType(); 00279 } 00280 return (*i).second; 00281 }
NIVissimTL::GroupDictType NIVissimTL::NIVissimTLSignalGroup::myDict [static, private] |
Definition at line 130 of file NIVissimTL.h.
Referenced by clearDict(), dictionary(), and getGroupsFor().
int NIVissimTL::NIVissimTLSignalGroup::myID [private] |
int NIVissimTL::NIVissimTLSignalGroup::myLSA [private] |
Definition at line 124 of file NIVissimTL.h.
std::string NIVissimTL::NIVissimTLSignalGroup::myName [private] |
Definition at line 126 of file NIVissimTL.h.
1.5.6