#include <GUILaneWrapper.h>

Definition at line 239 of file GUILaneWrapper.h.
Public Member Functions | |
| Colorer () | |
| void | fill (FXComboBox &cb) |
| Fills the given combobox with the names of available colorings. | |
| const size_t | getActive () const |
| SUMOReal | getColorValue (const GUILaneWrapper &lane) const |
| Sets the color using a value from the given instance of T. | |
| GUIColorScheme & | getScheme () |
| GUIColorScheme * | getSchemeByName (std::string name) |
| bool | operator== (const GUIColorer &c) const |
| void | save (OutputDevice &dev) const |
| void | setActive (size_t scheme) |
| virtual bool | setFunctionalColor (const GUILaneWrapper &i) const |
| Sets the color using a function call for the given instance of T. | |
| void | setGlColor (const GUILaneWrapper &i) const |
| Sets the color using a value from the given instance of T. | |
Protected Attributes | |
| size_t | myActiveScheme |
| std::vector< GUIColorScheme > | mySchemes |
| GUILaneWrapper::Colorer::Colorer | ( | ) |
Definition at line 662 of file GUILaneWrapper.cpp.
References GUIColorer< GUILaneWrapper >::mySchemes, and SUMOReal.
00662 { 00663 mySchemes.push_back(GUIColorScheme("uniform", RGBColor(0,0,0), "", true)); 00664 mySchemes.push_back(GUIColorScheme("by selection (lane-/streetwise)", RGBColor(0.7f, 0.7f, 0.7f), "unselected", true)); 00665 mySchemes.back().addColor(RGBColor(0, .4f, .8f), 1, "selected"); 00666 mySchemes.push_back(GUIColorScheme("by vclass", RGBColor(0,0,0), "all", true)); 00667 mySchemes.back().addColor(RGBColor(0, .1f, .5f), 1, "public"); 00668 // ... traffic states ... 00669 mySchemes.push_back(GUIColorScheme("by allowed speed (lanewise)", RGBColor(1,0,0))); 00670 mySchemes.back().addColor(RGBColor(0, 0, 1), (SUMOReal)(150.0/3.6)); 00671 mySchemes.push_back(GUIColorScheme("by current occupancy (lanewise)", RGBColor(0,0,1))); 00672 mySchemes.back().addColor(RGBColor(1, 0, 0), (SUMOReal)0.95); 00673 mySchemes.push_back(GUIColorScheme("by first vehicle waiting time (lanewise)", RGBColor(0,1,0))); 00674 mySchemes.back().addColor(RGBColor(1,0,0), (SUMOReal)200); 00675 mySchemes.push_back(GUIColorScheme("by lane number (streetwise)", RGBColor(1,0,0))); 00676 mySchemes.back().addColor(RGBColor(0,0,1), (SUMOReal)5); 00677 // ... emissions ... 00678 mySchemes.push_back(GUIColorScheme("by CO2 emissions (HBEFA)", RGBColor(0,1,0))); 00679 mySchemes.back().addColor(RGBColor(1,0,0), (SUMOReal)(10./7.5/5.)); 00680 mySchemes.push_back(GUIColorScheme("by CO emissions (HBEFA)", RGBColor(0,1,0))); 00681 mySchemes.back().addColor(RGBColor(1,0,0), (SUMOReal)(0.05/7.5/2.)); 00682 mySchemes.push_back(GUIColorScheme("by PMx emissions (HBEFA)", RGBColor(0,1,0))); 00683 mySchemes.back().addColor(RGBColor(1,0,0), (SUMOReal)(.005/7.5/5.)); 00684 mySchemes.push_back(GUIColorScheme("by NOx emissions (HBEFA)", RGBColor(0,1,0))); 00685 mySchemes.back().addColor(RGBColor(1,0,0), (SUMOReal)(.125/7.5/5.)); 00686 mySchemes.push_back(GUIColorScheme("by HC emissions (HBEFA)", RGBColor(0,1,0))); 00687 mySchemes.back().addColor(RGBColor(1,0,0), (SUMOReal)(.02/7.5/4.)); 00688 mySchemes.push_back(GUIColorScheme("by fuel consumption (HBEFA)", RGBColor(0,1,0))); 00689 mySchemes.back().addColor(RGBColor(1,0,0), (SUMOReal)(.005/7.5*100.)); 00690 mySchemes.push_back(GUIColorScheme("by noise emissions (Harmonoise)", RGBColor(0,1,0))); 00691 mySchemes.back().addColor(RGBColor(1,0,0), (SUMOReal)100); 00692 }
| void GUIColorer< GUILaneWrapper >::fill | ( | FXComboBox & | cb | ) | [inline, inherited] |
Fills the given combobox with the names of available colorings.
Definition at line 77 of file GUIColorer.h.
00077 { 00078 typename std::vector<GUIColorScheme>::iterator i; 00079 for (i=mySchemes.begin(); i!=mySchemes.end(); ++i) { 00080 cb.appendItem((*i).getName().c_str()); 00081 } 00082 cb.setCurrentItem((FXint)myActiveScheme); 00083 }
| const size_t GUIColorer< GUILaneWrapper >::getActive | ( | ) | const [inline, inherited] |
| SUMOReal GUILaneWrapper::Colorer::getColorValue | ( | const GUILaneWrapper & | i | ) | const [virtual] |
Sets the color using a value from the given instance of T.
Implements GUIColorer< GUILaneWrapper >.
Definition at line 696 of file GUILaneWrapper.cpp.
References GUILaneWrapper::firstWaitingTime(), MSLane::getAllowedClasses(), GUILaneWrapper::getEdgeLaneNumber(), GUIGlObject::getGlID(), MSLane::getHarmonoise_NoiseEmissions(), GUILaneWrapper::getLane(), MSLane::getMaxSpeed(), GUILaneWrapper::getNormedHBEFA_CO2Emissions(), GUILaneWrapper::getNormedHBEFA_COEmissions(), GUILaneWrapper::getNormedHBEFA_FuelConsumption(), GUILaneWrapper::getNormedHBEFA_HCEmissions(), GUILaneWrapper::getNormedHBEFA_NOxEmissions(), GUILaneWrapper::getNormedHBEFA_PMxEmissions(), MSLane::getNotAllowedClasses(), MSLane::getOccupancy(), GUILaneWrapper::getType(), gSelected, GUISelectedStorage::isSelected(), GUIColorer< GUILaneWrapper >::myActiveScheme, GUILaneWrapper::myLane, and SVC_PASSENGER.
00696 { 00697 switch (myActiveScheme) { 00698 case 1: 00699 return gSelected.isSelected(lane.getType(), lane.getGlID()); 00700 case 2: { 00701 const std::vector<SUMOVehicleClass> &allowed = lane.myLane.getAllowedClasses(); 00702 const std::vector<SUMOVehicleClass> &disallowed = lane.myLane.getNotAllowedClasses(); 00703 if ((allowed.size()==0 || find(allowed.begin(), allowed.end(), SVC_PASSENGER)!=allowed.end()) && find(disallowed.begin(), disallowed.end(), SVC_PASSENGER)==disallowed.end()) { 00704 return 0; 00705 } else { 00706 return 1; 00707 } 00708 } 00709 case 3: 00710 return lane.getLane().getMaxSpeed(); 00711 case 4: 00712 return lane.getLane().getOccupancy(); 00713 case 5: 00714 return lane.firstWaitingTime(); 00715 case 6: 00716 return lane.getEdgeLaneNumber(); 00717 case 7: 00718 return lane.getNormedHBEFA_CO2Emissions(); 00719 case 8: 00720 return lane.getNormedHBEFA_COEmissions(); 00721 case 9: 00722 return lane.getNormedHBEFA_PMxEmissions(); 00723 case 10: 00724 return lane.getNormedHBEFA_NOxEmissions(); 00725 case 11: 00726 return lane.getNormedHBEFA_HCEmissions(); 00727 case 12: 00728 return lane.getNormedHBEFA_FuelConsumption(); 00729 case 13: 00730 return lane.getLane().getHarmonoise_NoiseEmissions(); 00731 } 00732 return 0; 00733 }
| GUIColorScheme& GUIColorer< GUILaneWrapper >::getScheme | ( | ) | [inline, inherited] |
| GUIColorScheme* GUIColorer< GUILaneWrapper >::getSchemeByName | ( | std::string | name | ) | [inline, inherited] |
Definition at line 99 of file GUIColorer.h.
00099 { 00100 typename std::vector<GUIColorScheme>::iterator i; 00101 for (i=mySchemes.begin(); i!=mySchemes.end(); ++i) { 00102 if ((*i).getName() == name) { 00103 return &(*i); 00104 } 00105 } 00106 return 0; 00107 }
| bool GUIColorer< GUILaneWrapper >::operator== | ( | const GUIColorer< GUILaneWrapper > & | c | ) | const [inline, inherited] |
Definition at line 116 of file GUIColorer.h.
00116 { 00117 return myActiveScheme == c.myActiveScheme && mySchemes == c.mySchemes; 00118 }
| void GUIColorer< GUILaneWrapper >::save | ( | OutputDevice & | dev | ) | const [inline, inherited] |
Definition at line 109 of file GUIColorer.h.
00109 { 00110 typename std::vector<GUIColorScheme>::const_iterator i = mySchemes.begin(); 00111 for (; i!=mySchemes.end(); ++i) { 00112 i->save(dev); 00113 } 00114 }
| void GUIColorer< GUILaneWrapper >::setActive | ( | size_t | scheme | ) | [inline, inherited] |
Definition at line 85 of file GUIColorer.h.
00085 { 00086 if (scheme < mySchemes.size()) { 00087 myActiveScheme = scheme; 00088 } 00089 }
| virtual bool GUIColorer< GUILaneWrapper >::setFunctionalColor | ( | const GUILaneWrapper & | i | ) | const [inline, virtual, inherited] |
Sets the color using a function call for the given instance of T.
Definition at line 64 of file GUIColorer.h.
| void GUIColorer< GUILaneWrapper >::setGlColor | ( | const GUILaneWrapper & | i | ) | const [inline, inherited] |
Sets the color using a value from the given instance of T.
Definition at line 69 of file GUIColorer.h.
00069 { 00070 if (!setFunctionalColor(i)) { 00071 const RGBColor& c = mySchemes[myActiveScheme].getColor(getColorValue(i)); 00072 glColor3d(c.red(), c.green(), c.blue()); 00073 } 00074 }
size_t GUIColorer< GUILaneWrapper >::myActiveScheme [protected, inherited] |
std::vector<GUIColorScheme> GUIColorer< GUILaneWrapper >::mySchemes [protected, inherited] |
1.5.6