BALL::VIEW::ColorHSV Class Reference
[Different color classes]

#include <BALL/VIEW/DATATYPE/colorHSV.h>

List of all members.

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 ColorHSVoperator= (const ColorHSV &color)
void set (const ColorRGBA &color)
const ColorHSVoperator= (const ColorRGBA &color)
void get (ColorRGBA &color) const
void set (const char *value) throw (Exception::InvalidRange, ColorUnit::NotInHexFormat)
const ColorHSVoperator= (const char *value) throw (Exception::InvalidRange, ColorUnit::NotInHexFormat)
void get (char *value) const
void set (const String &value) throw (Exception::InvalidRange, ColorUnit::NotInHexFormat)
const ColorHSVoperator= (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)
ColorUnitHuegetHue ()
const ColorUnitHuegetHue () const
void setSaturation (const ColorUnit &saturation)
ColorUnitgetSaturation ()
const ColorUnitgetSaturation () const
void setValue (const ColorUnit &value)
ColorUnitgetValue ()
const ColorUnitgetValue () 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)

Detailed Description

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.


Constructor & Destructor Documentation

BALL::VIEW::ColorHSV::ColorHSV (  ) 

Default Constructor. Constructs new colorHSV. Initialized with color black (hue=0, saturation=0, value=0).

Returns:
ColorHSV new constructed colorHSV
BALL::VIEW::ColorHSV::ColorHSV ( const ColorHSV color  ) 

Copy constructor.

BALL::VIEW::ColorHSV::ColorHSV ( const ColorRGBA color  ) 

Constructor with ColorRGBA.

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.

Parameters:
value the pointer to a string representing a color
Exceptions:
InvalidRange if string length != 6 && string length != 7
NotInHexFormat if the string is not a valid hex format string
Returns:
ColorHSV new constructed colorHSV
See also:
ColorUnit
ColorUnitHue
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.

Parameters:
value a string representing a color
Exceptions:
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.

Parameters:
hue the hue component. See ColorUnitHue
saturation the staturation component. See ColorUnit
value the value component. See ColorUnit
Returns:
ColorHSV new constructed colorHSV
virtual BALL::VIEW::ColorHSV::~ColorHSV (  )  [virtual]

Destructor.


Member Function Documentation

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:

  • hue component is zero (0)
  • staturation component is zero (0)
  • value component is zero (0)
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.

Parameters:
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.

Parameters:
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.

Parameters:
value the pointer to string (at least 8 bytes long)
See also:
set
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.

Parameters:
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.

Returns:
ColorUnitHue& mutable reference to the hue component of this colorHSV
See also:
setHue
ColorUnitHue
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.

See also:
setSaturation
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.

Returns:
a string with hex format. See constructor for information concerning the string format
bool BALL::VIEW::ColorHSV::operator!= ( const ColorHSV color  )  const

Unequality test.

bool BALL::VIEW::ColorHSV::operator< ( const ColorHSV color  )  const

Smaller test. Smaller means that all components of this are smaller than all the components of color colorHSV.

bool BALL::VIEW::ColorHSV::operator<= ( const ColorHSV color  )  const

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.

Parameters:
value the color represented by a string
Exceptions:
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.

Parameters:
value the color represented by a string
Exceptions:
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 ColorRGBA color  ) 

Assignment operator with ColorRGBA. Assigns the colorRGBA color to this colorHSV. Calls set. The color of this is initialized to the color of the colorRGBA color.

Parameters:
color the colorRGBA to be copied
Returns:
ColorHSV& constant reference of this colorHSV
See also:
set
const ColorHSV& BALL::VIEW::ColorHSV::operator= ( const ColorHSV color  ) 

Assignment operator. Calls set.

bool BALL::VIEW::ColorHSV::operator== ( const ColorHSV color  )  const

Equality test.

bool BALL::VIEW::ColorHSV::operator> ( const ColorHSV color  )  const

Greater test. Greater means that all components of this are greater than all the components of color colorHSV.

bool BALL::VIEW::ColorHSV::operator>= ( const ColorHSV color  )  const

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.

Parameters:
value the color represented by a string
Exceptions:
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.

Parameters:
value the color represented by a string
Exceptions:
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.

Parameters:
hue the new hue component of this colorHSV
See also:
getHue
ColorUnitHue
void BALL::VIEW::ColorHSV::setSaturation ( const ColorUnit saturation  ) 

Changes the value of the saturation component.

See also:
getSaturation
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.


Friends And Related Function Documentation

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.

Parameters:
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.

Parameters:
s input stream from where to restore the color of this colorHSV
color the colorHSV to which the color will be restored

Member Data Documentation