![]() |
Eclipse SUMO - Simulation of Urban MObility
|
#include <RGBColor.h>
Public Member Functions | |
unsigned char | alpha () const |
Returns the alpha-amount of the color. More... | |
unsigned char | blue () const |
Returns the blue-amount of the color. More... | |
RGBColor | changedBrightness (int change, int toChange=3) const |
Returns a new color with altered brightness. More... | |
unsigned char | green () const |
Returns the green-amount of the color. More... | |
RGBColor | invertedColor () const |
obtain inverted of current RGBColor More... | |
bool | operator!= (const RGBColor &c) const |
bool | operator== (const RGBColor &c) const |
unsigned char | red () const |
Returns the red-amount of the color. More... | |
RGBColor () | |
Constructor. More... | |
RGBColor (const RGBColor &col) | |
Copy constructor. More... | |
RGBColor (unsigned char red, unsigned char green, unsigned char blue, unsigned char alpha=255) | |
Constructor. More... | |
void | set (unsigned char r, unsigned char g, unsigned char b, unsigned char a) |
assigns new values More... | |
void | setAlpha (unsigned char alpha) |
Sets a new alpha value. More... | |
~RGBColor () | |
Destructor. More... | |
Static Public Member Functions | |
static RGBColor | fromHSV (double h, double s, double v) |
Converts the given hsv-triplet to rgb, inspired by http://alvyray.com/Papers/CG/hsv2rgb.htm. More... | |
static std::mt19937 * | getColorRNG () |
static RGBColor | interpolate (const RGBColor &minColor, const RGBColor &maxColor, double weight) |
Interpolates between two colors. More... | |
static RGBColor | parseColor (std::string coldef) |
Parses a color information. More... | |
static RGBColor | parseColorReporting (const std::string &coldef, const std::string &objecttype, const char *objectid, bool report, bool &ok) |
Parses a color information. More... | |
static RGBColor | randomHue (double s=1, double v=1) |
Return color with random hue. More... | |
Static Public Attributes | |
static const RGBColor | DEFAULT_COLOR = RGBColor::YELLOW |
The default color (for vehicle types and vehicles) More... | |
static const std::string | DEFAULT_COLOR_STRING = toString(RGBColor::DEFAULT_COLOR) |
The string description of the default color. More... | |
static const RGBColor | RED = RGBColor(255, 0, 0, 255) |
named colors More... | |
static const RGBColor | GREEN = RGBColor(0, 255, 0, 255) |
static const RGBColor | BLUE = RGBColor(0, 0, 255, 255) |
static const RGBColor | YELLOW = RGBColor(255, 255, 0, 255) |
static const RGBColor | CYAN = RGBColor(0, 255, 255, 255) |
static const RGBColor | MAGENTA = RGBColor(255, 0, 255, 255) |
static const RGBColor | ORANGE = RGBColor(255, 128, 0, 255) |
static const RGBColor | WHITE = RGBColor(255, 255, 255, 255) |
static const RGBColor | BLACK = RGBColor(0, 0, 0, 255) |
static const RGBColor | GREY = RGBColor(128, 128, 128, 255) |
static const RGBColor | INVISIBLE = RGBColor(0, 0, 0, 0) |
Private Attributes | |
unsigned char | myAlpha |
unsigned char | myBlue |
unsigned char | myGreen |
unsigned char | myRed |
The color amounts. More... | |
Static Private Attributes | |
static std::mt19937 | myRNG |
A random number generator to generate random colors independent of other randomness. More... | |
Friends | |
std::ostream & | operator<< (std::ostream &os, const RGBColor &col) |
Writes the color to the given stream. More... | |
The definition of a color in the RGB-space with an alpha channel. The cube is meant to lie between (0, 0, 0) and (255, 255, 255)
Definition at line 39 of file RGBColor.h.
RGBColor::RGBColor | ( | ) |
Constructor.
Definition at line 63 of file RGBColor.cpp.
Referenced by fromHSV(), interpolate(), invertedColor(), parseColor(), and parseColorReporting().
RGBColor::RGBColor | ( | unsigned char | red, |
unsigned char | green, | ||
unsigned char | blue, | ||
unsigned char | alpha = 255 |
||
) |
Constructor.
[in] | red | The red component's value |
[in] | green | The green component's value |
[in] | blue | The blue component's value |
Definition at line 67 of file RGBColor.cpp.
RGBColor::RGBColor | ( | const RGBColor & | col | ) |
Copy constructor.
Definition at line 71 of file RGBColor.cpp.
RGBColor::~RGBColor | ( | ) |
Destructor.
Definition at line 75 of file RGBColor.cpp.
|
inline |
Returns the alpha-amount of the color.
Definition at line 82 of file RGBColor.h.
References myAlpha.
Referenced by GNEEdge::drawEdgeName(), GNEEdge::drawGeometryPoints(), GNEJunction::drawGL(), GUIJunctionWrapper::drawGL(), GUIEdge::drawGL(), GNELane::drawGL(), GUILane::drawGL(), GLHelper::drawText(), GLHelper::drawTextBox(), MFXUtils::getFXColor(), GUISUMOAbstractView::makeSnapshot(), libsumo::Helper::makeTraCIColor(), GUISUMOAbstractView::onConfigure(), GUISUMOAbstractView::paintGL(), setAlpha(), GLHelper::setColor(), and BinaryFormatter::writeAttr().
|
inline |
Returns the blue-amount of the color.
Definition at line 75 of file RGBColor.h.
References myBlue.
Referenced by changedBrightness(), GLHelper::drawText(), GUIParameterTracker::GUIParameterTrackerPanel::drawValue(), MFXUtils::getFXColor(), GUISUMOAbstractView::makeSnapshot(), libsumo::Helper::makeTraCIColor(), GUISUMOAbstractView::onConfigure(), GUISUMOAbstractView::paintGL(), GLHelper::setColor(), and BinaryFormatter::writeAttr().
RGBColor RGBColor::changedBrightness | ( | int | change, |
int | toChange = 3 |
||
) | const |
Returns a new color with altered brightness.
[in] | change | The absolute change applied to all channels (within bounds) |
[in] | change | The number of colors to change |
Definition at line 153 of file RGBColor.cpp.
References blue(), changedBrightness(), green(), MAX2(), MIN2(), myAlpha, myBlue, myGreen, myRed, and red().
Referenced by changedBrightness(), GUIBasePersonHelper::drawAction_drawAsPoly(), GUIVehicle::drawAction_drawCarriageClass(), GUIBaseVehicleHelper::drawAction_drawVehicleAsPoly(), GNEEdge::drawGeometryPoints(), GNETAZ::drawGL(), GNEPoly::drawGL(), GUILane::drawGL(), GUIPerson::drawGLAdditional(), GUIBaseVehicle::drawRoute(), and GNELane::drawStartEndShapePoints().
|
static |
Converts the given hsv-triplet to rgb, inspired by http://alvyray.com/Papers/CG/hsv2rgb.htm.
[in] | h | Hue (0-360) |
[in] | s | Saturation (0-1) |
[in] | v | Value (0-1) |
Definition at line 298 of file RGBColor.cpp.
References RGBColor().
Referenced by GUIViewTraffic::buildColorRainbow(), randomHue(), GNEVehicle::setColor(), GUIContainer::setFunctionalColor(), GUIPerson::setFunctionalColor(), GNELane::setFunctionalColor(), GUILane::setFunctionalColor(), and GUIBaseVehicle::setFunctionalColor().
|
inlinestatic |
Definition at line 112 of file RGBColor.h.
References myRNG.
Referenced by GUILane::setFunctionalColor().
|
inline |
Returns the green-amount of the color.
Definition at line 68 of file RGBColor.h.
References myGreen.
Referenced by changedBrightness(), GLHelper::drawText(), GUIParameterTracker::GUIParameterTrackerPanel::drawValue(), MFXUtils::getFXColor(), GUISUMOAbstractView::makeSnapshot(), libsumo::Helper::makeTraCIColor(), GUISUMOAbstractView::onConfigure(), GUISUMOAbstractView::paintGL(), GLHelper::setColor(), and BinaryFormatter::writeAttr().
|
static |
Interpolates between two colors.
The interpolated color is calculated as a weighted average of the RGB values of minColor and maxColor, giving weight to maxColor and 1-weight to minColor.
[in] | minColor | The color to interpolate from |
[in] | maxColor | The color to interpolate to |
[in] | weight | The weight of the first color |
Definition at line 282 of file RGBColor.cpp.
References myAlpha, myBlue, myGreen, myRed, and RGBColor().
Referenced by GUISUMOAbstractView::displayColorLegend(), and GUIPropertyScheme< T >::interpolate().
RGBColor RGBColor::invertedColor | ( | ) | const |
obtain inverted of current RGBColor
Definition at line 142 of file RGBColor.cpp.
References myAlpha, myBlue, myGreen, myRed, and RGBColor().
Referenced by GNETAZ::drawGL(), and GNEPoly::drawGL().
bool RGBColor::operator!= | ( | const RGBColor & | c | ) | const |
bool RGBColor::operator== | ( | const RGBColor & | c | ) | const |
|
static |
Parses a color information.
It is assumed that the color is stored as "<RED>,<GREEN>,<BLUE>" and each color is represented as a double. Alternatively the color can be stored as "<RED>,<GREEN>,<BLUE>,<ALPHA>" and each color is represented as an unsigned byte.
[in] | coldef | The color definition to parse |
EmptyData | If the definition has less than three entries |
NumberFormatException | If one of the components is not numeric |
Definition at line 176 of file RGBColor.cpp.
References BLACK, BLUE, CYAN, StringTokenizer::getVector(), GREEN, GREY, StringUtils::hexToInt(), MAGENTA, ORANGE, RED, RGBColor(), StringUtils::toDouble(), StringUtils::toInt(), WHITE, and YELLOW.
Referenced by PCTypeMap::add(), NLHandler::addDistrict(), GNEPolygonFrame::addPOI(), GNEPolygonFrame::addPOILane(), GNEPolygonFrame::addPolygon(), SUMOSAXAttributesImpl_Cached::getColor(), SUMOSAXAttributesImpl_Xerces::getColor(), PCLoaderVisum::load(), PCLoaderArcView::load(), PCLoaderDlrNavteq::loadPOIFile(), PCLoaderDlrNavteq::loadPolyFile(), PCLoaderXML::myStartElement(), GNEFrameAttributesModuls::AttributesEditorRow::onCmdOpenAttributeDialog(), GNEFrameAttributesModuls::AttributesCreatorRow::onCmdSelectColorButton(), GNETAZFrame::TAZParameters::onCmdSetColorAttribute(), GNEVehicleTypeDialog::VTypeAtributes::VTypeAttributeRow::openColorDialog(), parseColorReporting(), PCTypeMap::PCTypeMap(), and GUILane::setFunctionalColor().
|
static |
Parses a color information.
It is assumed that the color is stored as "<RED>,<GREEN>,<BLUE>" and each color is represented as a double. Alternatively the color can be stored as "<RED>,<GREEN>,<BLUE>,<ALPHA>" and each color is represented as an unsigned byte.
[in] | coldef | The color definition to parse |
[in] | objecttype | The type of the currently parsed object |
[in] | objectid | The id of the currently parsed object |
[in] | report | Whether errors shall be reported |
[in,out] | ok | Whether parsing was successful |
EmptyData | If the definition has less than three entries |
NumberFormatException | If one of the components is not numeric |
Definition at line 256 of file RGBColor.cpp.
References parseColor(), RGBColor(), UNUSED_PARAMETER, and WRITE_ERROR.
Referenced by GUISettingsHandler::myStartElement(), and GUISettingsHandler::parseTextSettings().
|
static |
Return color with random hue.
[in] | s | Saturation (0-1) |
[in] | v | Value (0-1) |
Definition at line 327 of file RGBColor.cpp.
References fromHSV(), myRNG, and RandHelper::rand().
Referenced by GLHelper::debugVertices().
|
inline |
Returns the red-amount of the color.
Definition at line 61 of file RGBColor.h.
References myRed.
Referenced by changedBrightness(), GLHelper::drawText(), GUIParameterTracker::GUIParameterTrackerPanel::drawValue(), MFXUtils::getFXColor(), GUISUMOAbstractView::makeSnapshot(), libsumo::Helper::makeTraCIColor(), GUISUMOAbstractView::onConfigure(), GUISUMOAbstractView::paintGL(), GLHelper::setColor(), and BinaryFormatter::writeAttr().
void RGBColor::set | ( | unsigned char | r, |
unsigned char | g, | ||
unsigned char | b, | ||
unsigned char | a | ||
) |
|
inline |
Sets a new alpha value.
[in] | alpha | The new value to use |
Definition at line 97 of file RGBColor.h.
References alpha(), and myAlpha.
Referenced by Shape::setShapeAlpha().
|
friend |
Writes the color to the given stream.
[out] | os | The stream to write to |
[in] | col | The color to write |
Definition at line 88 of file RGBColor.cpp.
Definition at line 197 of file RGBColor.h.
Referenced by GNEInternalLane::colorForLinksState(), GUISUMOAbstractView::displayColorLegend(), GUISUMOAbstractView::displayLegend(), GNECalibrator::drawCalibratorSymbol(), GNEDetectorE1::drawGL(), GNEDetectorE1Instant::drawGL(), GUICalibrator::drawGL(), GNEDetectorE2::drawGL(), GUITriggeredRerouter::GUITriggeredRerouterEdge::drawGL(), GNEEdge::drawRerouterSymbol(), GNEViewNetHelper::TestingMode::drawTestingElements(), GUIParameterTracker::GUIParameterTrackerPanel::drawValue(), GLHelper::getDottedcontourColors(), GUIVisualizationSettings::initNeteditDefaults(), GUIVisualizationSettings::initSumoGuiDefaults(), NIImporter_Vissim::NIImporter_Vissim(), GNEFrameAttributesModuls::AttributesEditorRow::onCmdOpenAttributeDialog(), GUIParam_PopupMenuInterface::onCmdOpenTracker(), GNEVehicleTypeDialog::VTypeAtributes::VTypeAttributeRow::openColorDialog(), operator<<(), parseColor(), and GUISUMOAbstractView::showToolTipFor().
Definition at line 191 of file RGBColor.h.
Referenced by AGActivityTripWriter::AGActivityTripWriter(), GNEViewNet::buildColorRainbow(), GUIViewTraffic::buildColorRainbow(), GNEPoly::drawGL(), GNEViewNet::drawTemporalDrawShape(), GUIVisualizationSettings::initNeteditDefaults(), GUIVisualizationSettings::initSumoGuiDefaults(), operator<<(), parseColor(), RODFDetectorCon::saveAsPOIs(), GNEVehicle::setColor(), GUIBaseVehicle::setFunctionalColor(), and NBSign::writeAsPOI().
Definition at line 193 of file RGBColor.h.
Referenced by GNEViewNet::buildColorRainbow(), GUIViewTraffic::buildColorRainbow(), GNEViewNet::drawLaneCandidates(), GUIVisualizationSettings::initNeteditDefaults(), GUIVisualizationSettings::initSumoGuiDefaults(), NIImporter_Vissim::NIImporter_Vissim(), operator<<(), and parseColor().
|
static |
The default color (for vehicle types and vehicles)
Definition at line 203 of file RGBColor.h.
Referenced by MSRoute::getColor(), SUMOVehicleParserHelper::parseCommonAttributes(), MSBaseVehicle::replaceRouteEdges(), MSTriggeredRerouter::rerouteParkingArea(), GNEVehicle::setColor(), and GUIBaseVehicle::setFunctionalColor().
|
static |
The string description of the default color.
Definition at line 206 of file RGBColor.h.
Definition at line 190 of file RGBColor.h.
Referenced by AGActivityTripWriter::AGActivityTripWriter(), GNEViewNet::buildColorRainbow(), GUIViewTraffic::buildColorRainbow(), GUIBaseVehicle::drawLinkItem(), GNEViewNet::drawTemporalDrawShape(), MSActuatedTrafficLightLogic::gapControl(), GUIVisualizationSettings::initNeteditDefaults(), GUIVisualizationSettings::initSumoGuiDefaults(), NIImporter_Vissim::NIImporter_Vissim(), GUIApplicationWindow::onCmdGaming(), operator<<(), parseColor(), RODFDetectorCon::saveAsPOIs(), GNEAdditionalFrame::SelectorParentLanes::SelectorParentLanes(), GNELane::setLaneColor(), and MSActuatedTrafficLightLogic::trySwitch().
Definition at line 198 of file RGBColor.h.
Referenced by GUIBaseVehicleHelper::drawAction_drawVehicleAsPoly(), GNEDetectorE3::drawGL(), GUIVisualizationSettings::initNeteditDefaults(), GUIVisualizationSettings::initSumoGuiDefaults(), NIImporter_Vissim::NIImporter_Vissim(), operator<<(), parseColor(), and NBSign::writeAsPOI().
Definition at line 199 of file RGBColor.h.
Referenced by GLHelper::drawTextSettings().
Definition at line 194 of file RGBColor.h.
Referenced by GNEViewNet::buildColorRainbow(), GUIViewTraffic::buildColorRainbow(), GLHelper::drawBoundary(), GNEViewNetHelper::TestingMode::drawTestingElements(), GUIVisualizationSettings::initNeteditDefaults(), GUIVisualizationSettings::initSumoGuiDefaults(), NIImporter_Vissim::NIImporter_Vissim(), operator<<(), and parseColor().
|
private |
Definition at line 210 of file RGBColor.h.
Referenced by alpha(), changedBrightness(), interpolate(), invertedColor(), operator!=(), operator<<(), operator==(), set(), and setAlpha().
|
private |
Definition at line 210 of file RGBColor.h.
Referenced by blue(), changedBrightness(), interpolate(), invertedColor(), operator!=(), operator<<(), operator==(), and set().
|
private |
Definition at line 210 of file RGBColor.h.
Referenced by changedBrightness(), green(), interpolate(), invertedColor(), operator!=(), operator<<(), operator==(), and set().
|
private |
The color amounts.
Definition at line 210 of file RGBColor.h.
Referenced by changedBrightness(), interpolate(), invertedColor(), operator!=(), operator<<(), operator==(), red(), and set().
|
staticprivate |
A random number generator to generate random colors independent of other randomness.
Definition at line 213 of file RGBColor.h.
Referenced by getColorRNG(), and randomHue().
Definition at line 195 of file RGBColor.h.
Referenced by GNEViewNet::buildColorRainbow(), GUIViewTraffic::buildColorRainbow(), GNEPOI::drawGL(), GNEPersonPlanFrame::PersonPlanCreator::drawTemporalRoute(), GNEFrameModuls::EdgePathCreator::drawTemporalRoute(), GNERouteFrame::drawTemporalRoute(), GUIVisualizationSettings::initNeteditDefaults(), GUIVisualizationSettings::initSumoGuiDefaults(), operator<<(), and parseColor().
named colors
Definition at line 189 of file RGBColor.h.
Referenced by AGActivityTripWriter::AGActivityTripWriter(), GNEViewNet::buildColorRainbow(), GUIViewTraffic::buildColorRainbow(), GUISUMOAbstractView::drawFPS(), GNERerouter::drawGL(), GNEDetectorE2::drawGL(), GNEViewNet::drawLaneCandidates(), GNEViewNet::drawTemporalDrawShape(), MSActuatedTrafficLightLogic::gapControl(), GNEAdditionalHandler::GNEAdditionalHandler(), GUIVisualizationSettings::initNeteditDefaults(), GUIVisualizationSettings::initSumoGuiDefaults(), NIImporter_Vissim::NIImporter_Vissim(), GUIApplicationWindow::onCmdGaming(), operator<<(), parseColor(), RODFDetectorCon::saveAsPOIs(), GNEVehicle::setColor(), GUIBaseVehicle::setFunctionalColor(), and NBSign::writeAsPOI().
Definition at line 196 of file RGBColor.h.
Referenced by GUISUMOAbstractView::displayColorLegend(), GNEEdge::drawGeometryPoints(), GNEVaporizer::drawGL(), GNERouteProbe::drawGL(), GNEDetectorE1::drawGL(), GNEVariableSpeedSign::drawGL(), GNEDetectorE1Instant::drawGL(), GNELane::drawStartEndShapePoints(), GNEViewNetHelper::TestingMode::drawTestingElements(), GUITLLogicPhasesTrackerWindow::drawValues(), GLHelper::getDottedcontourColors(), GUIVisualizationSettings::initSumoGuiDefaults(), NIImporter_Vissim::NIImporter_Vissim(), operator<<(), parseColor(), GNEProhibitionFrame::ProhibitionLegend::ProhibitionLegend(), GNEVehicle::setColor(), GUIBaseVehicle::setFunctionalColor(), and GNETAZFrame::TAZEdgesGraphic::TAZEdgesGraphic().
Definition at line 192 of file RGBColor.h.
Referenced by SUMOVehicleParserHelper::beginVTypeParsing(), GNEViewNet::buildColorRainbow(), GUIViewTraffic::buildColorRainbow(), GUIVisualizationSettings::initNeteditDefaults(), GUIVisualizationSettings::initSumoGuiDefaults(), NIImporter_OpenDrive::loadNetwork(), NIImporter_Vissim::NIImporter_Vissim(), operator<<(), parseColor(), and NBSign::writeAsPOI().