void GNEClosingReroute::setAttribute(SumoXMLAttr key, const std::string& value) { switch (key) { case SUMO_ATTR_ID: changeAdditionalID(value); break; case SUMO_ATTR_EDGE: myClosedEdge = myViewNet->getNet()->retrieveEdge(value); break; case SUMO_ATTR_ALLOW: myPermissions = parseVehicleClasses(value); break; case SUMO_ATTR_DISALLOW: myPermissions = invertPermissions(parseVehicleClasses(value)); break; case GNE_ATTR_GENERIC: setGenericParametersStr(value); break; default: throw InvalidArgument(getTagStr() + " doesn't have an attribute of type '" + toString(key) + "'"); } // check if updated attribute requieres update geometry if (myTagProperty.hasAttribute(key) && myTagProperty.getAttributeProperties(key).requiereUpdateGeometry()) { updateGeometry(); } }
void GNEDetectorE1::setAttribute(SumoXMLAttr key, const std::string& value) { switch (key) { case SUMO_ATTR_ID: changeAdditionalID(value); break; case SUMO_ATTR_LANE: changeLaneParents(this, value); break; case SUMO_ATTR_POSITION: myPositionOverLane = parse<double>(value); break; case SUMO_ATTR_FREQUENCY: myFreq = parse<double>(value); break; case SUMO_ATTR_FILE: myFilename = value; break; case SUMO_ATTR_NAME: myAdditionalName = value; break; case SUMO_ATTR_VTYPES: myVehicleTypes = value; break; case SUMO_ATTR_FRIENDLY_POS: myFriendlyPosition = parse<bool>(value); break; case GNE_ATTR_BLOCK_MOVEMENT: myBlockMovement = parse<bool>(value); break; case GNE_ATTR_SELECTED: if (parse<bool>(value)) { selectAttributeCarrier(); } else { unselectAttributeCarrier(); } break; case GNE_ATTR_GENERIC: setGenericParametersStr(value); break; default: throw InvalidArgument(getTagStr() + " doesn't have an attribute of type '" + toString(key) + "'"); } // check if updated attribute requieres update geometry if (myTagProperty.hasAttribute(key) && myTagProperty.getAttributeProperties(key).requiereUpdateGeometry()) { updateGeometry(); } }
void GNECalibrator::setAttribute(SumoXMLAttr key, const std::string& value) { switch (key) { case SUMO_ATTR_ID: changeAdditionalID(value); break; case SUMO_ATTR_EDGE: changeEdgeParents(this, value); break; case SUMO_ATTR_LANE: changeLaneParents(this, value); break; case SUMO_ATTR_POSITION: myPositionOverLane = parse<double>(value); break; case SUMO_ATTR_FREQUENCY: myFrequency = parse<double>(value); break; case SUMO_ATTR_NAME: myAdditionalName = value; break; case SUMO_ATTR_OUTPUT: myOutput = value; break; case SUMO_ATTR_ROUTEPROBE: myRouteProbe = value; break; case GNE_ATTR_SELECTED: if (parse<bool>(value)) { selectAttributeCarrier(); } else { unselectAttributeCarrier(); } break; case GNE_ATTR_GENERIC: setGenericParametersStr(value); break; default: throw InvalidArgument(getTagStr() + " doesn't have an attribute of type '" + toString(key) + "'"); } // check if updated attribute requieres update geometry if (myTagProperty.hasAttribute(key) && myTagProperty.getAttributeProperties(key).requiereUpdateGeometry()) { updateGeometry(); } }
void GNERouteProbReroute::setAttribute(SumoXMLAttr key, const std::string& value) { switch (key) { case SUMO_ATTR_ID: changeAdditionalID(value); break; case SUMO_ATTR_ROUTE: myNewRouteId = value; break; case SUMO_ATTR_PROB: myProbability = parse<double>(value); break; case GNE_ATTR_GENERIC: setGenericParametersStr(value); break; default: throw InvalidArgument(getTagStr() + " doesn't have an attribute of type '" + toString(key) + "'"); } // check if updated attribute requieres update geometry if (myTagProperty.hasAttribute(key) && myTagProperty.getAttributeProperties(key).requiereUpdateGeometry()) { updateGeometry(true); } }
void GNEDetectorExit::setAttribute(SumoXMLAttr key, const std::string& value) { switch (key) { case SUMO_ATTR_ID: changeAdditionalID(value); break; case SUMO_ATTR_LANE: myLane = changeLane(myLane, value); break; case SUMO_ATTR_POSITION: myPositionOverLane = parse<double>(value); break; case SUMO_ATTR_FRIENDLY_POS: myFriendlyPosition = parse<bool>(value); break; case GNE_ATTR_BLOCK_MOVEMENT: myBlockMovement = parse<bool>(value); break; case GNE_ATTR_PARENT: changeFirstAdditionalParent(value); break; case GNE_ATTR_SELECTED: if(parse<bool>(value)) { selectAttributeCarrier(); } else { unselectAttributeCarrier(); } break; case GNE_ATTR_GENERIC: setGenericParametersStr(value); break; default: throw InvalidArgument(toString(getTag()) + " doesn't have an attribute of type '" + toString(key) + "'"); } // After setting attribute always update Geometry updateGeometry(); }
void GNECalibratorFlow::setAttribute(SumoXMLAttr key, const std::string& value) { switch (key) { case SUMO_ATTR_ID: changeAdditionalID(value); break; case SUMO_ATTR_TYPE: myVehicleType = myViewNet->getNet()->retrieveDemandElement(SUMO_TAG_VTYPE, value); break; case SUMO_ATTR_ROUTE: myRoute = myViewNet->getNet()->retrieveDemandElement(SUMO_TAG_ROUTE, value); break; case SUMO_ATTR_VEHSPERHOUR: myVehsPerHour = value; break; case SUMO_ATTR_SPEED: mySpeed = value; break; case SUMO_ATTR_COLOR: myColor = parse<RGBColor>(value); break; case SUMO_ATTR_BEGIN: myBegin = parse<double>(value); break; case SUMO_ATTR_END: myEnd = parse<double>(value); break; case SUMO_ATTR_DEPARTLANE: myDepartLane = value; break; case SUMO_ATTR_DEPARTPOS: myDepartPos = value; break; case SUMO_ATTR_DEPARTSPEED: myDepartSpeed = value; break; case SUMO_ATTR_ARRIVALLANE: myArrivalLane = value; break; case SUMO_ATTR_ARRIVALPOS: myArrivalPos = value; break; case SUMO_ATTR_ARRIVALSPEED: myArrivalSpeed = value; break; case SUMO_ATTR_LINE: myLine = value; break; case SUMO_ATTR_PERSON_NUMBER: myPersonNumber = parse<int>(value); break; case SUMO_ATTR_CONTAINER_NUMBER: myContainerNumber = parse<int>(value); break; case SUMO_ATTR_REROUTE: myReroute = parse<bool>(value); break; case SUMO_ATTR_DEPARTPOS_LAT: myDepartPosLat = value; break; case SUMO_ATTR_ARRIVALPOS_LAT: myArrivalPosLat = value; break; case GNE_ATTR_GENERIC: setGenericParametersStr(value); break; default: throw InvalidArgument(getTagStr() + " doesn't have an attribute of type '" + toString(key) + "'"); } // check if updated attribute requieres update geometry if (myTagProperty.hasAttribute(key) && myTagProperty.getAttributeProperties(key).requiereUpdateGeometry()) { updateGeometry(true); } }