![]() |
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 (unsigned char red, unsigned char green, unsigned char blue, unsigned char alpha=255) | |
Constructor. More... | |
RGBColor (const RGBColor &col) | |
Copy 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 40 of file RGBColor.h.
RGBColor::RGBColor | ( | ) |
Constructor.
Definition at line 64 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 68 of file RGBColor.cpp.
RGBColor::RGBColor | ( | const RGBColor & | col | ) |
Copy constructor.
Definition at line 72 of file RGBColor.cpp.
RGBColor::~RGBColor | ( | ) |
Destructor.
Definition at line 76 of file RGBColor.cpp.
|
inline |
Returns the alpha-amount of the color.
Definition at line 83 of file RGBColor.h.
References myAlpha.
Referenced by GUILane::drawAsWaterway(), GNEEdge::drawGeometryPoints(), GNEJunction::drawGL(), GUIEdge::drawGL(), GUILane::drawGL(), GLHelper::drawText(), GLHelper::drawTextBox(), MFXUtils::getFXColor(), libsumo::Person::getLanePosition(), 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 76 of file RGBColor.h.
References myBlue.
Referenced by changedBrightness(), GUILane::drawAsWaterway(), GLHelper::drawText(), GUIParameterTracker::GUIParameterTrackerPanel::drawValue(), MFXUtils::getFXColor(), libsumo::Person::getLanePosition(), 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 154 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(), GUIPerson::drawGLAdditional(), GNELane::drawStartEndShapePoints(), and setAlpha().
|
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 299 of file RGBColor.cpp.
References RGBColor().
Referenced by GUIViewTraffic::buildColorRainbow(), getColorRNG(), randomHue(), GNEVehicle::setColor(), GUIContainer::setFunctionalColor(), GUIPerson::setFunctionalColor(), GNELane::setFunctionalColor(), GUILane::setFunctionalColor(), and GUIBaseVehicle::setFunctionalColor().
|
inlinestatic |
Definition at line 113 of file RGBColor.h.
References fromHSV(), interpolate(), myRNG, operator!=(), operator<<, operator==(), parseColor(), parseColorReporting(), and randomHue().
Referenced by GUILane::setFunctionalColor().
|
inline |
Returns the green-amount of the color.
Definition at line 69 of file RGBColor.h.
References myGreen.
Referenced by changedBrightness(), GUILane::drawAsWaterway(), GLHelper::drawText(), GUIParameterTracker::GUIParameterTrackerPanel::drawValue(), MFXUtils::getFXColor(), libsumo::Person::getLanePosition(), 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 283 of file RGBColor.cpp.
References myAlpha, myBlue, myGreen, myRed, and RGBColor().
Referenced by GUISUMOAbstractView::displayColorLegend(), getColorRNG(), and GUIPropertyScheme< T >::interpolate().
RGBColor RGBColor::invertedColor | ( | ) | const |
obtain inverted of current RGBColor
Definition at line 143 of file RGBColor.cpp.
References myAlpha, myBlue, myGreen, myRed, and RGBColor().
Referenced by GNETAZ::drawGL(), GNEPoly::drawGL(), and setAlpha().
bool RGBColor::operator!= | ( | const RGBColor & | c | ) | const |
Definition at line 137 of file RGBColor.cpp.
References myAlpha, myBlue, myGreen, and myRed.
Referenced by getColorRNG().
bool RGBColor::operator== | ( | const RGBColor & | c | ) | const |
Definition at line 131 of file RGBColor.cpp.
References myAlpha, myBlue, myGreen, and myRed.
Referenced by getColorRNG().
|
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 177 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(), getColorRNG(), PCLoaderVisum::load(), PCLoaderArcView::load(), PCLoaderDlrNavteq::loadPOIFile(), PCLoaderDlrNavteq::loadPolyFile(), PCLoaderXML::myStartElement(), GNEFrameAttributesModuls::AttributesEditorRow::onCmdOpenAttributeDialog(), GNEFrameAttributesModuls::AttributesCreatorRow::onCmdSelectColorButton(), GNETAZFrame::TAZParameters::onCmdSetColorAttribute(), GNEVehicleTypeDialog::VTypeAtributes::VTypeAttributeRow::openColorDialog(), GNEAttributeCarrier::parse(), 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 257 of file RGBColor.cpp.
References parseColor(), RGBColor(), UNUSED_PARAMETER, and WRITE_ERROR.
Referenced by getColorRNG(), GUISettingsHandler::myStartElement(), and GUISettingsHandler::parseTextSettings().
|
static |
Return color with random hue.
[in] | s | Saturation (0-1) |
[in] | v | Value (0-1) |
Definition at line 328 of file RGBColor.cpp.
References fromHSV(), myRNG, and RandHelper::rand().
Referenced by GLHelper::debugVertices(), and getColorRNG().
|
inline |
Returns the red-amount of the color.
Definition at line 62 of file RGBColor.h.
References myRed.
Referenced by changedBrightness(), GUILane::drawAsWaterway(), GLHelper::drawText(), GUIParameterTracker::GUIParameterTrackerPanel::drawValue(), MFXUtils::getFXColor(), libsumo::Person::getLanePosition(), 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 | ||
) |
assigns new values
[in] | r | The red component's value |
[in] | g | The green component's value |
[in] | b | The blue component's value |
[in] | a | The alpha component's value |
Definition at line 80 of file RGBColor.cpp.
References myAlpha, myBlue, myGreen, and myRed.
Referenced by libsumo::Vehicle::remove(), and libsumo::Person::setParameter().
|
inline |
Sets a new alpha value.
[in] | alpha | The new value to use |
Definition at line 98 of file RGBColor.h.
References alpha(), changedBrightness(), invertedColor(), 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 89 of file RGBColor.cpp.
Referenced by getColorRNG().
Definition at line 198 of file RGBColor.h.
Referenced by GNEInternalLane::colorForLinksState(), GUISUMOAbstractView::displayColorLegend(), GUISUMOAbstractView::displayLegend(), GNEDetectorE1::drawGL(), GNEDetectorE1Instant::drawGL(), GUICalibrator::drawGL(), GNECalibrator::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(), parseColor(), and GUISUMOAbstractView::showToolTipFor().
Definition at line 192 of file RGBColor.h.
Referenced by AGActivityTripWriter::AGActivityTripWriter(), GNEViewNet::buildColorRainbow(), GUIViewTraffic::buildColorRainbow(), GNEPoly::drawGL(), GNEViewNet::drawTemporalDrawShape(), GUIVisualizationSettings::initNeteditDefaults(), GUIVisualizationSettings::initSumoGuiDefaults(), parseColor(), RODFDetectorCon::saveAsPOIs(), GNEVehicle::setColor(), GUIBaseVehicle::setFunctionalColor(), and NBSign::writeAsPOI().
Definition at line 194 of file RGBColor.h.
Referenced by GNEViewNet::buildColorRainbow(), GUIViewTraffic::buildColorRainbow(), GNEViewNet::drawLaneCandidates(), GUIVisualizationSettings::initNeteditDefaults(), GUIVisualizationSettings::initSumoGuiDefaults(), NIImporter_Vissim::NIImporter_Vissim(), and parseColor().
|
static |
The default color (for vehicle types and vehicles)
Definition at line 204 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 207 of file RGBColor.h.
Definition at line 191 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(), parseColor(), RODFDetectorCon::saveAsPOIs(), GNEAdditionalFrame::SelectorLaneParents::SelectorLaneParents(), GNELane::setLaneColor(), and MSActuatedTrafficLightLogic::trySwitch().
Definition at line 199 of file RGBColor.h.
Referenced by GUIBaseVehicleHelper::drawAction_drawVehicleAsPoly(), GNEDetectorE3::drawGL(), GUIVisualizationSettings::initNeteditDefaults(), GUIVisualizationSettings::initSumoGuiDefaults(), NIImporter_Vissim::NIImporter_Vissim(), parseColor(), and NBSign::writeAsPOI().
Definition at line 200 of file RGBColor.h.
Referenced by GLHelper::drawTextSettings().
Definition at line 195 of file RGBColor.h.
Referenced by GNEViewNet::buildColorRainbow(), GUIViewTraffic::buildColorRainbow(), GLHelper::drawBoundary(), GNEViewNetHelper::TestingMode::drawTestingElements(), GUIVisualizationSettings::initNeteditDefaults(), GUIVisualizationSettings::initSumoGuiDefaults(), NIImporter_Vissim::NIImporter_Vissim(), and parseColor().
|
private |
Definition at line 211 of file RGBColor.h.
Referenced by alpha(), changedBrightness(), interpolate(), invertedColor(), operator!=(), operator<<(), operator==(), set(), and setAlpha().
|
private |
Definition at line 211 of file RGBColor.h.
Referenced by blue(), changedBrightness(), interpolate(), invertedColor(), operator!=(), operator<<(), operator==(), and set().
|
private |
Definition at line 211 of file RGBColor.h.
Referenced by changedBrightness(), green(), interpolate(), invertedColor(), operator!=(), operator<<(), operator==(), and set().
|
private |
The color amounts.
Definition at line 211 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 214 of file RGBColor.h.
Referenced by getColorRNG(), and randomHue().
Definition at line 196 of file RGBColor.h.
Referenced by GNEViewNet::buildColorRainbow(), GUIViewTraffic::buildColorRainbow(), GNEPOI::drawGL(), GNEPersonPlanFrame::PersonPlanCreator::drawTemporalRoute(), GNEFrameModuls::EdgePathCreator::drawTemporalRoute(), GNERouteFrame::drawTemporalRoute(), GUIVisualizationSettings::initNeteditDefaults(), GUIVisualizationSettings::initSumoGuiDefaults(), and parseColor().
named colors
Definition at line 190 of file RGBColor.h.
Referenced by AGActivityTripWriter::AGActivityTripWriter(), GNEViewNet::buildColorRainbow(), GUIViewTraffic::buildColorRainbow(), GUISUMOAbstractView::drawFPS(), GNERerouter::drawGL(), GNEDetectorE2::drawGL(), GNEViewNet::drawLaneCandidates(), GNEViewNet::drawTemporalDrawShape(), GNEAdditionalHandler::GNEAdditionalHandler(), GUIVisualizationSettings::initNeteditDefaults(), GUIVisualizationSettings::initSumoGuiDefaults(), NIImporter_Vissim::NIImporter_Vissim(), GUIApplicationWindow::onCmdGaming(), parseColor(), RODFDetectorCon::saveAsPOIs(), GNEVehicle::setColor(), GUIBaseVehicle::setFunctionalColor(), and NBSign::writeAsPOI().
Definition at line 197 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(), parseColor(), GNEProhibitionFrame::ProhibitionLegend::ProhibitionLegend(), GNEVehicle::setColor(), GUIBaseVehicle::setFunctionalColor(), and GNETAZFrame::TAZEdgesGraphic::TAZEdgesGraphic().
Definition at line 193 of file RGBColor.h.
Referenced by SUMOVehicleParserHelper::beginVTypeParsing(), GNEViewNet::buildColorRainbow(), GUIViewTraffic::buildColorRainbow(), GNERoute::GNERoute(), GUIVisualizationSettings::initNeteditDefaults(), GUIVisualizationSettings::initSumoGuiDefaults(), NIImporter_OpenDrive::loadNetwork(), NIImporter_Vissim::NIImporter_Vissim(), parseColor(), and NBSign::writeAsPOI().