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... | |
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... | |
~RGBColor () | |
Destructor. More... | |
Static Public Member Functions | |
static RGBColor | fromHSV (SUMOReal h, SUMOReal s, SUMOReal v) |
Converts the given hsv-triplet to rgb. More... | |
static RGBColor | interpolate (const RGBColor &minColor, const RGBColor &maxColor, SUMOReal 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 Public Attributes | |
static const RGBColor | BLACK = RGBColor(0, 0, 0, 255) |
static const RGBColor | BLUE = RGBColor(0, 0, 255, 255) |
static const RGBColor | CYAN = RGBColor(0, 255, 255, 255) |
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 | GREEN = RGBColor(0, 255, 0, 255) |
static const RGBColor | GREY = RGBColor(128, 128, 128, 255) |
static const RGBColor | MAGENTA = RGBColor(255, 0, 255, 255) |
static const RGBColor | RED = RGBColor(255, 0, 0, 255) |
static const RGBColor | WHITE = RGBColor(255, 255, 255, 255) |
static const RGBColor | YELLOW = RGBColor(255, 255, 0, 255) |
Private Attributes | |
unsigned char | myAlpha |
unsigned char | myBlue |
unsigned char | myGreen |
unsigned char | myRed |
The color amounts. 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 47 of file RGBColor.h.
RGBColor::RGBColor | ( | ) |
Constructor.
Definition at line 70 of file RGBColor.cpp.
Referenced by fromHSV(), interpolate(), 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 74 of file RGBColor.cpp.
RGBColor::RGBColor | ( | const RGBColor & | col | ) |
Copy constructor.
Definition at line 78 of file RGBColor.cpp.
RGBColor::~RGBColor | ( | ) |
Destructor.
Definition at line 82 of file RGBColor.cpp.
|
inline |
Returns the alpha-amount of the color.
Definition at line 99 of file RGBColor.h.
References myAlpha.
Referenced by MFXUtils::getFXColor(), TraCIServerAPI_VehicleType::getVariable(), GUISUMOAbstractView::makeSnapshot(), GUISUMOAbstractView::onConfigure(), GUISUMOAbstractView::paintGL(), TraCIServerAPI_Polygon::processGet(), TraCIServerAPI_POI::processGet(), TraCIServerAPI_Vehicle::processGet(), TraCIServerAPI_Vehicle::processSet(), GLHelper::setColor(), and BinaryFormatter::writeAttr().
|
inline |
Returns the blue-amount of the color.
Definition at line 91 of file RGBColor.h.
References myBlue.
Referenced by changedBrightness(), GUIParameterTracker::GUIParameterTrackerPanel::drawValue(), MFXUtils::getFXColor(), TraCIServerAPI_VehicleType::getVariable(), GUISUMOAbstractView::makeSnapshot(), GUISUMOAbstractView::onConfigure(), GUISUMOAbstractView::paintGL(), TraCIServerAPI_POI::processGet(), TraCIServerAPI_Polygon::processGet(), TraCIServerAPI_Vehicle::processGet(), TraCIServerAPI_Vehicle::processSet(), GLHelper::setColor(), and BinaryFormatter::writeAttr().
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 146 of file RGBColor.cpp.
References blue(), changedBrightness(), green(), MAX2(), MIN2(), myAlpha, myBlue, myGreen, myRed, and red().
Referenced by changedBrightness(), GUIPerson::drawAction_drawAsPoly(), GUIVehicle::drawAction_drawRailCarriages(), and GUIVehicle::drawAction_drawVehicleAsPoly().
Converts the given hsv-triplet to rgb.
[in] | h | Hue (0-360) |
[in] | s | Saturation (0-1) |
[in] | v | Value (0-1) |
Definition at line 287 of file RGBColor.cpp.
References RGBColor(), and SUMOReal.
Referenced by GUILane::drawGL(), GUIPerson::setFunctionalColor(), GUILane::setFunctionalColor(), and GUIVehicle::setFunctionalColor().
|
inline |
Returns the green-amount of the color.
Definition at line 83 of file RGBColor.h.
References myGreen.
Referenced by changedBrightness(), GUIParameterTracker::GUIParameterTrackerPanel::drawValue(), MFXUtils::getFXColor(), TraCIServerAPI_VehicleType::getVariable(), GUISUMOAbstractView::makeSnapshot(), GUISUMOAbstractView::onConfigure(), GUISUMOAbstractView::paintGL(), TraCIServerAPI_POI::processGet(), TraCIServerAPI_Polygon::processGet(), TraCIServerAPI_Vehicle::processGet(), TraCIServerAPI_Vehicle::processSet(), 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 271 of file RGBColor.cpp.
References myAlpha, myBlue, myGreen, myRed, and RGBColor().
Referenced by GUIColorScheme::getColor().
|
static |
Parses a color information.
It is assumed that the color is stored as "<RED>,<GREEN>,<BLUE>" and each color is represented as a SUMOReal. 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 168 of file RGBColor.cpp.
References TplConvert::_2int(), TplConvert::_2SUMOReal(), TplConvert::_hex2int(), BLACK, BLUE, CYAN, StringTokenizer::getVector(), GREEN, GREY, MAGENTA, RED, RGBColor(), WHITE, and YELLOW.
Referenced by PCTypeMap::add(), NLHandler::addDistrict(), SUMOSAXAttributesImpl_Xerces::getColor(), PCLoaderVisum::load(), PCLoaderArcView::load(), PCLoaderDlrNavteq::loadPOIFile(), PCLoaderDlrNavteq::loadPolyFile(), PCLoaderXML::myStartElement(), parseColorReporting(), and PCTypeMap::PCTypeMap().
|
static |
Parses a color information.
It is assumed that the color is stored as "<RED>,<GREEN>,<BLUE>" and each color is represented as a SUMOReal. 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 245 of file RGBColor.cpp.
References parseColor(), RGBColor(), UNUSED_PARAMETER, and WRITE_ERROR.
Referenced by GUISettingsHandler::myStartElement(), and GUISettingsHandler::parseTextSettings().
|
inline |
Returns the red-amount of the color.
Definition at line 75 of file RGBColor.h.
References myRed.
Referenced by changedBrightness(), GUIParameterTracker::GUIParameterTrackerPanel::drawValue(), MFXUtils::getFXColor(), TraCIServerAPI_VehicleType::getVariable(), GUISUMOAbstractView::makeSnapshot(), GUISUMOAbstractView::onConfigure(), GUISUMOAbstractView::paintGL(), TraCIServerAPI_POI::processGet(), TraCIServerAPI_Polygon::processGet(), TraCIServerAPI_Vehicle::processGet(), TraCIServerAPI_Vehicle::processSet(), 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 86 of file RGBColor.cpp.
References myAlpha, myBlue, myGreen, and myRed.
Referenced by TraCIServerAPI_Vehicle::processSet(), and TraCIServer::readTypeCheckingColor().
|
friend |
Writes the color to the given stream.
[out] | os | The stream to write to |
[in] | col | The color to write |
Definition at line 95 of file RGBColor.cpp.
Definition at line 196 of file RGBColor.h.
Referenced by GUIVisualizationSettings::GUIVisualizationSettings(), NIImporter_Vissim::NIImporter_Vissim(), GUIParam_PopupMenuInterface::onCmdOpenTracker(), parseColor(), and GUISUMOAbstractView::showToolTipFor().
Definition at line 191 of file RGBColor.h.
Referenced by GUIVisualizationSettings::GUIVisualizationSettings(), parseColor(), RODFDetectorCon::saveAsPOIs(), and NBSign::writeAsPOI().
Definition at line 193 of file RGBColor.h.
Referenced by GUIVisualizationSettings::GUIVisualizationSettings(), NIImporter_Vissim::NIImporter_Vissim(), and parseColor().
|
static |
The default color (for vehicle types and vehicles)
Definition at line 199 of file RGBColor.h.
Referenced by MSRoute::getColor(), SUMOVehicleParserHelper::parseCommonAttributes(), MSBaseVehicle::replaceRouteEdges(), and GUIVehicle::setFunctionalColor().
|
static |
The string description of the default color.
Definition at line 203 of file RGBColor.h.
Definition at line 190 of file RGBColor.h.
Referenced by GUIVehicle::drawLinkItem(), GUIVisualizationSettings::GUIVisualizationSettings(), NIImporter_Vissim::NIImporter_Vissim(), GUIApplicationWindow::onCmdGaming(), parseColor(), and RODFDetectorCon::saveAsPOIs().
Definition at line 197 of file RGBColor.h.
Referenced by GUIVisualizationSettings::GUIVisualizationSettings(), NIImporter_Vissim::NIImporter_Vissim(), parseColor(), and NBSign::writeAsPOI().
Definition at line 194 of file RGBColor.h.
Referenced by GUIVisualizationSettings::GUIVisualizationSettings(), NIImporter_Vissim::NIImporter_Vissim(), and parseColor().
|
private |
Definition at line 208 of file RGBColor.h.
Referenced by alpha(), changedBrightness(), interpolate(), operator!=(), operator<<(), operator==(), and set().
|
private |
Definition at line 208 of file RGBColor.h.
Referenced by blue(), changedBrightness(), interpolate(), operator!=(), operator<<(), operator==(), and set().
|
private |
Definition at line 208 of file RGBColor.h.
Referenced by changedBrightness(), green(), interpolate(), operator!=(), operator<<(), operator==(), and set().
|
private |
The color amounts.
Definition at line 208 of file RGBColor.h.
Referenced by changedBrightness(), interpolate(), operator!=(), operator<<(), operator==(), red(), and set().
Definition at line 189 of file RGBColor.h.
Referenced by NLHandler::addPOI(), GUIVisualizationSettings::GUIVisualizationSettings(), NIImporter_Vissim::NIImporter_Vissim(), GUIApplicationWindow::onCmdGaming(), parseColor(), RODFDetectorCon::saveAsPOIs(), and NBSign::writeAsPOI().
Definition at line 195 of file RGBColor.h.
Referenced by GUIVisualizationSettings::GUIVisualizationSettings(), NIImporter_Vissim::NIImporter_Vissim(), and parseColor().
Definition at line 192 of file RGBColor.h.
Referenced by SUMOVehicleParserHelper::beginVTypeParsing(), GUIVisualizationSettings::GUIVisualizationSettings(), NIImporter_Vissim::NIImporter_Vissim(), parseColor(), and NBSign::writeAsPOI().