SUMOReal GUILaneWrapper::getColorValue(size_t activeScheme) const { switch (activeScheme) { case 1: return (gSelected.isSelected(getType(), getGlID()) || gSelected.isSelected(GLO_EDGE, dynamic_cast<GUIEdge*>(&(getLane().getEdge()))->getGlID())); case 2: { if (getLane().allowsVehicleClass(SVC_PASSENGER)) { return 0; } else { return 1; } } case 3: return getLane().getSpeedLimit(); case 4: return getLane().getOccupancy(); case 5: return firstWaitingTime(); case 6: return getEdgeLaneNumber(); case 7: return getNormedHBEFA_CO2Emissions(); case 8: return getNormedHBEFA_COEmissions(); case 9: return getNormedHBEFA_PMxEmissions(); case 10: return getNormedHBEFA_NOxEmissions(); case 11: return getNormedHBEFA_HCEmissions(); case 12: return getNormedHBEFA_FuelConsumption(); case 13: return getLane().getHarmonoise_NoiseEmissions(); case 14: { return getStoredEdgeTravelTime(); } case 15: { MSEdgeWeightsStorage& ews = MSNet::getInstance()->getWeightsStorage(); MSEdge& e = getLane().getEdge(); if (!ews.knowsTravelTime(&e)) { return -1; } else { SUMOReal value(0); ews.retrieveExistingTravelTime(&e, 0, 0, value); return 100 * getLane().getLength() / value / getLane().getSpeedLimit(); } } } return 0; }
SUMOReal GUILane::getColorValue(size_t activeScheme) const { switch (activeScheme) { case 1: return gSelected.isSelected(getType(), getGlID()) || gSelected.isSelected(GLO_EDGE, dynamic_cast<GUIEdge*>(myEdge)->getGlID()); case 2: return (SUMOReal)myPermissions; case 3: return getSpeedLimit(); case 4: return getBruttoOccupancy(); case 5: return getNettoOccupancy(); case 6: return firstWaitingTime(); case 7: return getEdgeLaneNumber(); case 8: return getCO2Emissions() / myLength; case 9: return getCOEmissions() / myLength; case 10: return getPMxEmissions() / myLength; case 11: return getNOxEmissions() / myLength; case 12: return getHCEmissions() / myLength; case 13: return getFuelConsumption() / myLength; case 14: return getHarmonoise_NoiseEmissions(); case 15: { return getStoredEdgeTravelTime(); } case 16: { MSEdgeWeightsStorage& ews = MSNet::getInstance()->getWeightsStorage(); if (!ews.knowsTravelTime(myEdge)) { return -1; } else { SUMOReal value(0); ews.retrieveExistingTravelTime(myEdge, 0, value); return 100 * myLength / value / getSpeedLimit(); } } case 17: { return 1 / myLengthGeometryFactor; } } return 0; }