#include <BALL/VIEW/DATATYPE/colorHSV.h>
Public Member Functions | |
Constructors | |
ColorHSV () | |
ColorHSV (const ColorHSV &color) | |
ColorHSV (const ColorRGBA &color) | |
ColorHSV (const char *value) throw (Exception::InvalidRange, ColorUnit::NotInHexFormat) | |
ColorHSV (const String &value) throw (Exception::InvalidRange, ColorUnit::NotInHexFormat) | |
ColorHSV (const ColorUnitHue &hue, const ColorUnit &saturation, const ColorUnit &value) | |
Destructors | |
virtual | ~ColorHSV () |
virtual void | clear () |
Converters | |
operator String () const | |
Assignment | |
void | set (const ColorHSV &color) |
const ColorHSV & | operator= (const ColorHSV &color) |
void | set (const ColorRGBA &color) |
const ColorHSV & | operator= (const ColorRGBA &color) |
void | get (ColorRGBA &color) const |
void | set (const char *value) throw (Exception::InvalidRange, ColorUnit::NotInHexFormat) |
const ColorHSV & | operator= (const char *value) throw (Exception::InvalidRange, ColorUnit::NotInHexFormat) |
void | get (char *value) const |
void | set (const String &value) throw (Exception::InvalidRange, ColorUnit::NotInHexFormat) |
const ColorHSV & | operator= (const String &value) throw (Exception::InvalidRange, ColorUnit::NotInHexFormat) |
void | get (String &value) const |
void | swap (ColorHSV &color) |
Accessors: inspectors and mutators | |
void | setHue (const ColorUnitHue &hue) |
ColorUnitHue & | getHue () |
const ColorUnitHue & | getHue () const |
void | setSaturation (const ColorUnit &saturation) |
ColorUnit & | getSaturation () |
const ColorUnit & | getSaturation () const |
void | setValue (const ColorUnit &value) |
ColorUnit & | getValue () |
const ColorUnit & | getValue () const |
void | set (const ColorUnitHue &hue, const ColorUnit &saturation, const ColorUnit &value) |
void | get (ColorUnitHue &hue, ColorUnit &saturation, ColorUnit &value) const |
Predicates | |
bool | operator== (const ColorHSV &color) const |
bool | operator!= (const ColorHSV &color) const |
bool | operator< (const ColorHSV &color) const |
bool | operator<= (const ColorHSV &color) const |
bool | operator> (const ColorHSV &color) const |
bool | operator>= (const ColorHSV &color) const |
debuggers and diagnostics | |
virtual void | dump (std::ostream &s=std::cout, Size depth=0) const |
Private Member Functions | |
void | calculateHSV_ (const ColorUnit red, const ColorUnit green, const ColorUnit blue) |
void | calculateRGB_ (ColorUnit &red, ColorUnit &green, ColorUnit &blue) const |
void | stringToHSV_ (const String &value) throw (Exception::InvalidRange, ColorUnit::NotInHexFormat) |
Private Attributes | |
ColorUnitHue | hue_ |
ColorUnit | saturation_ |
ColorUnit | value_ |
Friends | |
Class friends | |
- class ColorRGBA | |
class | ColorRGBA |
Storers | |
std::istream & | operator>> (std::istream &s, ColorHSV &color) |
std::ostream & | operator<< (std::ostream &s, const ColorHSV &color) |
ColorHSV class. An instance of ColorHSV represents a color consisting of the components hue, saturation and value. The components staturation and values are ColorUnit 's. The component hue is of class type ColorUnitHue . See description of these classes for further informations concerning type conversions.
BALL::VIEW::ColorHSV::ColorHSV | ( | ) |
Default Constructor. Constructs new colorHSV. Initialized with color black (hue=0, saturation=0, value=0).
BALL::VIEW::ColorHSV::ColorHSV | ( | const ColorHSV & | color | ) |
Copy constructor.
BALL::VIEW::ColorHSV::ColorHSV | ( | const char * | value | ) | throw (Exception::InvalidRange, ColorUnit::NotInHexFormat) |
Constructor with parameter char*. Constructs new colorHSV by initialising its value with the given pointer to a string representing a color value in hex format. The length of the string can either be 6 or 7 characters depending whether the hue component is 2 or 3 bytes long. See ColorUnitHue and ColorUnit for information concerning to string format.
value | the pointer to a string representing a color |
InvalidRange | if string length != 6 && string length != 7 | |
NotInHexFormat | if the string is not a valid hex format string |
BALL::VIEW::ColorHSV::ColorHSV | ( | const String & | value | ) | throw (Exception::InvalidRange, ColorUnit::NotInHexFormat) |
Constructor with Parameter string. Constructs new ColorHSV by initialising its value with a string representing a color value in hex format. The length of the string can either be 6 or 7 characters depending whether the hue component is 2 or 3 bytes long. See ColorUnitHue and ColorUnit for information concerning to string format.
value | a string representing a color |
InvalidRange | if string length != 6 && string length != 7 | |
NotInHexFormat | if the string is not a valid hex format string |
BALL::VIEW::ColorHSV::ColorHSV | ( | const ColorUnitHue & | hue, | |
const ColorUnit & | saturation, | |||
const ColorUnit & | value | |||
) |
Detailed component initializing constructor.
hue | the hue component. See ColorUnitHue | |
saturation | the staturation component. See ColorUnit | |
value | the value component. See ColorUnit |
virtual BALL::VIEW::ColorHSV::~ColorHSV | ( | ) | [virtual] |
Destructor.
void BALL::VIEW::ColorHSV::calculateHSV_ | ( | const ColorUnit | red, | |
const ColorUnit | green, | |||
const ColorUnit | blue | |||
) | [private] |
void BALL::VIEW::ColorHSV::calculateRGB_ | ( | ColorUnit & | red, | |
ColorUnit & | green, | |||
ColorUnit & | blue | |||
) | const [private] |
virtual void BALL::VIEW::ColorHSV::clear | ( | ) | [virtual] |
Explicit default initialization. Sets the color of this colorHSV to the default color (black). The value of this colorHSV is:
virtual void BALL::VIEW::ColorHSV::dump | ( | std::ostream & | s = std::cout , |
|
Size | depth = 0 | |||
) | const [virtual] |
Internal value dump. Dumps the current color of this colorHSV to the output ostream s with dumping depth depth.
s | output stream where to output the color of this colorHSV | |
depth | the dumping depth |
void BALL::VIEW::ColorHSV::get | ( | ColorUnitHue & | hue, | |
ColorUnit & | saturation, | |||
ColorUnit & | value | |||
) | const |
Inspection of the colorHSV's components.
void BALL::VIEW::ColorHSV::get | ( | String & | value | ) | const |
Copying to string. Calls set. The string value is initialized to the color of this colorHSV. The format of the string is the same as the one given to the constructor.
value | the string receiving the color in hex format |
void BALL::VIEW::ColorHSV::get | ( | char * | value | ) | const |
Copying to char*. Calls set. The string value is initialized to the color of this colorHSV. At least 8 bytes must be allocated for the string. The format of the string is the same as the one given to the constructor.
value | the pointer to string (at least 8 bytes long) |
void BALL::VIEW::ColorHSV::get | ( | ColorRGBA & | color | ) | const |
Copying to ColorRGBA. Calls set. The color of the colorRGBA color is initialized to the color of this colorHSV.
color | the colorRGBA to be assigned to |
const ColorUnitHue& BALL::VIEW::ColorHSV::getHue | ( | ) | const |
Non-mutable inspection of the hue component. For further information see ColorUnitHue& getHue().
ColorUnitHue& BALL::VIEW::ColorHSV::getHue | ( | ) |
Mutable inspection of the hue component. Accesses the mutual reference of the hue component of this colorHSV. See ColorUnitHue for further information concerning type conversion.
const ColorUnit& BALL::VIEW::ColorHSV::getSaturation | ( | ) | const |
Non-mutable inspection of the saturation component.
ColorUnit& BALL::VIEW::ColorHSV::getSaturation | ( | ) |
Mutable inspection of the saturation component.
const ColorUnit& BALL::VIEW::ColorHSV::getValue | ( | ) | const |
Non-mutable inspection of the value component. For further information see ColorUnit& getValue().
ColorUnit& BALL::VIEW::ColorHSV::getValue | ( | ) |
Mutable inspection of the value component.
BALL::VIEW::ColorHSV::operator String | ( | ) | const |
Conversion to string.
Smaller test. Smaller means that all components of this are smaller than all the components of color colorHSV.
Smaller or equal test. Smaller or equal means that all components of this are smaller or equal than all the components of color colorHSV.
const ColorHSV& BALL::VIEW::ColorHSV::operator= | ( | const String & | value | ) | throw (Exception::InvalidRange, ColorUnit::NotInHexFormat) |
Assignment operator with string. Assigns the color represented by the string value to this colorHSV. Calls set. See constructor for format description.
value | the color represented by a string |
InvalidRange | if string length != 6 && string length != 7 | |
NotInHexFormat | if the string is not a valid hex format string |
const ColorHSV& BALL::VIEW::ColorHSV::operator= | ( | const char * | value | ) | throw (Exception::InvalidRange, ColorUnit::NotInHexFormat) |
Assignment operator with char*. Calls set. The color of this is initialized to the color represented by the string value. See constructor for format description.
value | the color represented by a string |
InvalidRange | if string length != 6 && string length != 7 | |
NotInHexFormat | if the string is not a valid hex format string |
Assignment operator. Calls set.
Greater test. Greater means that all components of this are greater than all the components of color colorHSV.
Greater or equal test. Greater or equal means that all components of this are greater or equal than all the components of color colorHSV.
void BALL::VIEW::ColorHSV::set | ( | const ColorUnitHue & | hue, | |
const ColorUnit & | saturation, | |||
const ColorUnit & | value | |||
) |
Changes the values of the hue, saturation and value component.
void BALL::VIEW::ColorHSV::set | ( | const String & | value | ) | throw (Exception::InvalidRange, ColorUnit::NotInHexFormat) |
Assignment with string. Assigns the color represented by the string value to this colorHSV. The color of this is initialized to the color represented by the string value. See constructor for format description.
value | the color represented by a string |
InvalidRange | if string length != 6 && string length != 7 | |
NotInHexFormat | if the string is not a valid hex format string |
void BALL::VIEW::ColorHSV::set | ( | const char * | value | ) | throw (Exception::InvalidRange, ColorUnit::NotInHexFormat) |
Assignment with char*. The color of this is initialized to the color represented by the string value. See constructor for format description.
value | the color represented by a string |
InvalidRange | if string length != 6 && string length != 7 | |
NotInHexFormat | if the string is not a valid hex format string |
void BALL::VIEW::ColorHSV::set | ( | const ColorRGBA & | color | ) |
Assignment with ColorRGBA. The color of this is initialized to the color of the colorRGBA color.
void BALL::VIEW::ColorHSV::set | ( | const ColorHSV & | color | ) |
Assignment.
void BALL::VIEW::ColorHSV::setHue | ( | const ColorUnitHue & | hue | ) |
Changes the value of the hue component. Changes the value of of the hue component of this colorHSV to the value represented by the parameter hue. See ColorUnitHue for further information concerning the format.
hue | the new hue component of this colorHSV |
void BALL::VIEW::ColorHSV::setSaturation | ( | const ColorUnit & | saturation | ) |
Changes the value of the saturation component.
void BALL::VIEW::ColorHSV::setValue | ( | const ColorUnit & | value | ) |
Changes the value of the value component.
void BALL::VIEW::ColorHSV::stringToHSV_ | ( | const String & | value | ) | throw (Exception::InvalidRange, ColorUnit::NotInHexFormat) [private] |
void BALL::VIEW::ColorHSV::swap | ( | ColorHSV & | color | ) |
Swapping of colorHSVs.
friend class ColorRGBA [friend] |
std::ostream& operator<< | ( | std::ostream & | s, | |
const ColorHSV & | color | |||
) | [friend] |
Friendly stream output. Writes colorHSV data to the output stream s and store the color of this. The color will be stored as an vector in integer format. The output will look like '(0-360, 0-255, 0-255)'. This method is provided for convienience.
s | output stream to where the color of this colorHSV will be stored | |
color | the colorHSV from which the color will be stored |
std::istream& operator>> | ( | std::istream & | s, | |
ColorHSV & | color | |||
) | [friend] |
Friendly stream input. Reads colorHSV data from the input stream s and restore the color of this. The hue, saturation and value component are read as integers from the input stream. The method expects an vector as written as the one by the output stream operator. This method is provided for convienience.
s | input stream from where to restore the color of this colorHSV | |
color | the colorHSV to which the color will be restored |
ColorUnitHue BALL::VIEW::ColorHSV::hue_ [private] |
ColorUnit BALL::VIEW::ColorHSV::saturation_ [private] |
ColorUnit BALL::VIEW::ColorHSV::value_ [private] |