// ----------- Handling of controlled links void MSTrafficLightLogic::addLink(MSLink* link, MSLane* lane, unsigned int pos) { // !!! should be done within the loader (checking necessary) myLinks.reserve(pos + 1); while (myLinks.size() <= pos) { myLinks.push_back(LinkVector()); } myLinks[pos].push_back(link); // myLanes.reserve(pos + 1); while (myLanes.size() <= pos) { myLanes.push_back(LaneVector()); } myLanes[pos].push_back(lane); link->setTLState((LinkState) getCurrentPhaseDef().getState()[pos], MSNet::getInstance()->getCurrentTimeStep()); }
void MS_E2_ZS_CollectorOverLanes::init(MSLane *lane, SUMOReal detLength) throw() { myLength = detLength; if (startPosM==0) { startPosM = (SUMOReal) 0.1; } SUMOReal length = lane->getLength() - startPosM - (SUMOReal) 0.1; SUMOReal dlength = detLength; if (length>dlength) { length = dlength; } myLengths.push_back(length); myLaneCombinations.push_back(LaneVector()); myLaneCombinations[0].push_back(lane); myDetectorCombinations.push_back(DetectorVector()); MSE2Collector *c = buildCollector(0, 0, lane, startPosM, length); myDetectorCombinations[0].push_back(c); myAlreadyBuild[lane] = c; extendTo(detLength); }