BALL::VIEW::ColorUnit Class Reference
[Format conversion classes used by the color classes]

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

List of all members.

Classes

class  NotInHexFormat

Public Member Functions

Constructors

 ColorUnit ()
 ColorUnit (const ColorUnit &color_unit)
 ColorUnit (const char *value) throw (Exception::InvalidRange, NotInHexFormat)
 ColorUnit (const String &value) throw (Exception::InvalidRange, NotInHexFormat)
 ColorUnit (const unsigned char value)
 ColorUnit (const short value) throw (Exception::InvalidRange)
 ColorUnit (const unsigned short value) throw (Exception::InvalidRange)
 ColorUnit (const int value) throw (Exception::InvalidRange)
 ColorUnit (const unsigned int value) throw (Exception::InvalidRange)
 ColorUnit (const long value) throw (Exception::InvalidRange)
 ColorUnit (const unsigned long value) throw (Exception::InvalidRange)
 ColorUnit (const float value) throw (Exception::InvalidRange)
 ColorUnit (const double value) throw (Exception::InvalidRange)
Destructors

 ~ColorUnit ()
void clear ()
Converters

 operator String () const
 operator char () const
 operator unsigned char () const
 operator short () const
 operator unsigned short () const
 operator int () const
 operator unsigned int () const
 operator long () const
 operator unsigned long () const
 operator float () const
 operator double () const
Assignment methods

void set (const ColorUnit &color_unit)
const ColorUnitoperator= (const ColorUnit &color_unit)
void swap (ColorUnit &color_unit)
Accessors: inspectors and mutators

void set (const char *value) throw (Exception::InvalidRange, NotInHexFormat)
const ColorUnitoperator= (const char *value) throw (Exception::InvalidRange, NotInHexFormat)
void get (char *value) const
void set (const String &value) throw (Exception::InvalidRange, NotInHexFormat)
const ColorUnitoperator= (const String &value) throw (Exception::InvalidRange, NotInHexFormat)
void get (String &value) const
void set (const unsigned char value)
const ColorUnitoperator= (const unsigned char value)
void get (unsigned char &value) const
void set (const short value) throw (Exception::InvalidRange)
const ColorUnitoperator= (const short value) throw (Exception::InvalidRange)
void get (short &value) const
void set (const unsigned short value) throw (Exception::InvalidRange)
const ColorUnitoperator= (const unsigned short value) throw (Exception::InvalidRange)
void get (unsigned short &value) const
void set (const int value) throw (Exception::InvalidRange)
const ColorUnitoperator= (const int value) throw (Exception::InvalidRange)
void get (int &value) const
void set (const unsigned int value) throw (Exception::InvalidRange)
const ColorUnitoperator= (const unsigned int value) throw (Exception::InvalidRange)
void get (unsigned int &value) const
void set (const long value) throw (Exception::InvalidRange)
const ColorUnitoperator= (const long value) throw (Exception::InvalidRange)
void get (long &value) const
void set (const unsigned long value) throw (Exception::InvalidRange)
const ColorUnitoperator= (const unsigned long value) throw (Exception::InvalidRange)
void get (unsigned long &value) const
void set (const float value) throw (Exception::InvalidRange)
const ColorUnitoperator= (const float value) throw (Exception::InvalidRange)
void get (float &value) const
void set (const double value) throw (Exception::InvalidRange)
const ColorUnitoperator= (const double value) throw (Exception::InvalidRange)
void get (double &value) const
Predicates

bool operator== (const ColorUnit &color_unit) const
bool operator!= (const ColorUnit &color_unit) const
bool operator< (const ColorUnit &color_unit) const
bool operator<= (const ColorUnit &color_unit) const
bool operator> (const ColorUnit &color_unit) const
bool operator>= (const ColorUnit &color_unit) const
debuggers and diagnostics

void dump (std::ostream &s=std::cout, Size depth=0) const

Private Member Functions

float hexToFloat_ (const char *value) throw (Exception::InvalidRange, NotInHexFormat)

Private Attributes

float value_

Friends

Storers

std::istream & operator>> (std::istream &s, ColorUnit &color_unit)
std::ostream & operator<< (std::ostream &s, const ColorUnit &color_unit)

Detailed Description

ColorUnit class. An instance of ColorUnit can represent a value for the red, green, blue and alpha component of the class ColorRGBA. Furthermore this class is used for the value and saturation component of the class ColorHSV. The class handles the many possible variations a color value can be set (e.g. integer, float, string values can be given as parameter). The integer values are of range 0-255, the float values are of range 0-1.0 and the strings given are in hex format "00"-"FF". ColorUnit provides certain conversion functions as well, that will convert its value to the needed type. This class is used by the class ColorRGBA and ColorHSV.


Constructor & Destructor Documentation

BALL::VIEW::ColorUnit::ColorUnit (  ) 

Default Constructor. Its value will be set to zero (0).

BALL::VIEW::ColorUnit::ColorUnit ( const ColorUnit color_unit  ) 

Copy constructor.

BALL::VIEW::ColorUnit::ColorUnit ( const char *  value  )  throw (Exception::InvalidRange, NotInHexFormat)

Constructor with Parameter char*, representing a value in hex format (00 - FF, or 00 - ff).

Parameters:
value the pointer to a string (00 - FF, or 00 - ff)
Exceptions:
InvalidRange if string length != 2
NotInHexFormat if string contains characters g-z or G-Z
BALL::VIEW::ColorUnit::ColorUnit ( const String value  )  throw (Exception::InvalidRange, NotInHexFormat)

Constructor with Parameter String.

Parameters:
value a string (00 - FF, or 00 - ff)
Exceptions:
InvalidRange if string length != 2
NotInHexFormat if string contains characters g-z or G-Z
BALL::VIEW::ColorUnit::ColorUnit ( const unsigned char  value  ) 

Constructor with Parameter unsigned char.

Parameters:
value a char (0 - 255)
BALL::VIEW::ColorUnit::ColorUnit ( const short  value  )  throw (Exception::InvalidRange)

Constructor with Parameter short.

Parameters:
value a short (0 - 255)
Exceptions:
InvalidRange if value < 0 || value > 255
BALL::VIEW::ColorUnit::ColorUnit ( const unsigned short  value  )  throw (Exception::InvalidRange)

Constructor with Parameter unsigned short.

Parameters:
value a unsigned short (0 - 255)
Exceptions:
InvalidRange if value > 255
BALL::VIEW::ColorUnit::ColorUnit ( const int  value  )  throw (Exception::InvalidRange)

Constructor with Parameter int.

Parameters:
value an int (0 - 255)
Exceptions:
InvalidRange if value < 0 || value > 255
BALL::VIEW::ColorUnit::ColorUnit ( const unsigned int  value  )  throw (Exception::InvalidRange)

Constructor with Parameter unsigned int.

Parameters:
value an unsigned int (0 - 255)
Exceptions:
InvalidRange if value > 255
BALL::VIEW::ColorUnit::ColorUnit ( const long  value  )  throw (Exception::InvalidRange)

Constructor with Parameter long.

Parameters:
value an long (0 - 255)
Exceptions:
InvalidRange if value < 0 || value > 255
BALL::VIEW::ColorUnit::ColorUnit ( const unsigned long  value  )  throw (Exception::InvalidRange)

Constructor with Parameter unsigned long.

Parameters:
value an unsigned long (0 - 255)
Exceptions:
InvalidRange if value > 255
BALL::VIEW::ColorUnit::ColorUnit ( const float  value  )  throw (Exception::InvalidRange)

Constructor with Parameter float.

Parameters:
value a float (0 - 1.0)
Exceptions:
InvalidRange if value < 0.0 || value > 1.0
BALL::VIEW::ColorUnit::ColorUnit ( const double  value  )  throw (Exception::InvalidRange)

Constructor with Parameter double.

Parameters:
value a double (0 - 1.0)
Exceptions:
InvalidRange if value < 0.0 || value > 1.0
BALL::VIEW::ColorUnit::~ColorUnit (  ) 

Destructor.


Member Function Documentation

void BALL::VIEW::ColorUnit::clear (  ) 

Explicit default initialization. Sets the value of this colorUnit to the default value. The value of this colorUnit is:

  • value is zero (0)
void BALL::VIEW::ColorUnit::dump ( std::ostream &  s = std::cout,
Size  depth = 0 
) const

Internal value dump. Dumps the current value of this colorUnit to the output ostream s with dumping depth depth. The value will be outputed as an integer of range 0-255.

Parameters:
s output stream where to output the value of this colorUnit
depth the dumping depth (depth is irrelevant here)
void BALL::VIEW::ColorUnit::get ( double value  )  const

Inspection of the colorUnit's value.

Parameters:
value a double receiving the value of this colorUnit (range: 0-1.0)
void BALL::VIEW::ColorUnit::get ( float value  )  const

Inspection of the colorUnit's value.

Parameters:
value a float receiving the value of this colorUnit (range: 0-1.0)
void BALL::VIEW::ColorUnit::get ( unsigned long &  value  )  const

Inspection of the colorUnit's value.

Parameters:
value an unsigned long receiving the value of this colorUnit (range: 0-255)
void BALL::VIEW::ColorUnit::get ( long &  value  )  const

Inspection of the colorUnit's value.

Parameters:
value a long receiving the value of this colorUnit (range: 0-255)
void BALL::VIEW::ColorUnit::get ( unsigned int &  value  )  const

Inspection of the colorUnit's value.

Parameters:
value an unsigned int receiving the value of this colorUnit (range: 0-255)
void BALL::VIEW::ColorUnit::get ( int &  value  )  const

Inspection of the colorUnit's value.

Parameters:
value an int receiving the value of this colorUnit (range: 0-255)
void BALL::VIEW::ColorUnit::get ( unsigned short &  value  )  const

Inspection of the colorUnit's value.

Parameters:
value an unsigned short receiving the value of this colorUnit (range: 0-255)
void BALL::VIEW::ColorUnit::get ( short &  value  )  const

Inspection of the colorUnit's value.

Parameters:
value a short receiving the value of this colorUnit (range: 0-255)
void BALL::VIEW::ColorUnit::get ( unsigned char &  value  )  const

Inspection of the colorUnit's value.

Parameters:
value an unsigned char receiving the value of this colorUnit (range: 0-255)
void BALL::VIEW::ColorUnit::get ( String value  )  const

Inspection of the colorUnit's value.

Parameters:
value a string receiving the value of this colorUnit in hex format ( "00"-"FF" or "00"-"ff")
void BALL::VIEW::ColorUnit::get ( char *  value  )  const

Inspection of the colorUnit's value. Memory must be allocated for this parameter. The memory must be at least the size of 3 bytes.

Parameters:
value a char* receiving the value of this colorUnit in hex format ( "00"-"FF" or "00"-"ff")
float BALL::VIEW::ColorUnit::hexToFloat_ ( const char *  value  )  throw (Exception::InvalidRange, NotInHexFormat) [private]
BALL::VIEW::ColorUnit::operator char (  )  const

Conversion to char.

Returns:
char with a value of range 0 - 255
BALL::VIEW::ColorUnit::operator double (  )  const

Conversion to double.

Returns:
double with a value of range 0 - 1.0
BALL::VIEW::ColorUnit::operator float (  )  const

Conversion to float.

Returns:
float with a value of range 0 - 1.0
BALL::VIEW::ColorUnit::operator int (  )  const

Conversion to int.

Returns:
int with a value of range 0 - 255
BALL::VIEW::ColorUnit::operator long (  )  const

Conversion to long.

Returns:
long with a value of range 0 - 255
BALL::VIEW::ColorUnit::operator short (  )  const

Conversion to short.

Returns:
short with a value of range 0 - 255
BALL::VIEW::ColorUnit::operator String (  )  const

Conversion to string.

Returns:
string with format "00"-"FF" or "00"-"ff"
BALL::VIEW::ColorUnit::operator unsigned char (  )  const

Conversion to unsigned char.

Returns:
unsigned char with a value of range 0 - 255
BALL::VIEW::ColorUnit::operator unsigned int (  )  const

Conversion to unsigned int.

Returns:
unsigned int with a value of range 0 - 255
BALL::VIEW::ColorUnit::operator unsigned long (  )  const

Conversion to unsigned long.

Returns:
unsigned long with a value of range 0 - 255
BALL::VIEW::ColorUnit::operator unsigned short (  )  const

Conversion to unsigned short.

Returns:
unsigned short with a value of range 0 - 255
bool BALL::VIEW::ColorUnit::operator!= ( const ColorUnit color_unit  )  const

Unequality test. Unequality means that the internals value (floats) of the colorUnit's are unequal.

bool BALL::VIEW::ColorUnit::operator< ( const ColorUnit color_unit  )  const

Smaller test. Smaller means that the internal value (float) this is smaller than the internal value (float) of color_unit colorUnit.

bool BALL::VIEW::ColorUnit::operator<= ( const ColorUnit color_unit  )  const

Smaller or equal test. Smaller or equal means that the internal value (float) this is smaller or equal than the internal value (float) of color_unit colorUnit.

const ColorUnit& BALL::VIEW::ColorUnit::operator= ( const double  value  )  throw (Exception::InvalidRange)

Assignment operator with double. Calls set.

Parameters:
value a double containing a value of range 0-1.0
Exceptions:
InvalidRange if value < 0.0 || value > 1.0
const ColorUnit& BALL::VIEW::ColorUnit::operator= ( const float  value  )  throw (Exception::InvalidRange)

Assignment operator with float. Calls set.

Parameters:
value a float containing a value of range 0-1.0
Exceptions:
InvalidRange if value < 0.0 || value > 1.0
const ColorUnit& BALL::VIEW::ColorUnit::operator= ( const unsigned long  value  )  throw (Exception::InvalidRange)

Assignment operator with unsigned long. Calls set.

Parameters:
value an unsigned long containing a value of range 0-255
Exceptions:
InvalidRange if value > 255
const ColorUnit& BALL::VIEW::ColorUnit::operator= ( const long  value  )  throw (Exception::InvalidRange)

Assignment operator with long. Calls set.

Parameters:
value a long containing a value of range 0-255
Exceptions:
InvalidRange if value < 0 || value > 255
const ColorUnit& BALL::VIEW::ColorUnit::operator= ( const unsigned int  value  )  throw (Exception::InvalidRange)

Assignment operator with unsigned int. Calls set.

Parameters:
value an unsigned int containing a value of range 0-255
Exceptions:
InvalidRange if value > 255
const ColorUnit& BALL::VIEW::ColorUnit::operator= ( const int  value  )  throw (Exception::InvalidRange)

Assignment operator with int. Calls set.

Parameters:
value an int containing a value of range 0-255
Exceptions:
InvalidRange if value < 0 || value > 255
const ColorUnit& BALL::VIEW::ColorUnit::operator= ( const unsigned short  value  )  throw (Exception::InvalidRange)

Assignment operator with unsigned short. Calls set.

Parameters:
value an unsigned short containing a value of range 0-255
Exceptions:
InvalidRange if value > 255
const ColorUnit& BALL::VIEW::ColorUnit::operator= ( const short  value  )  throw (Exception::InvalidRange)

Assignment operator with short. Calls set.

Parameters:
value a short containing a value of range 0-255
Exceptions:
InvalidRange if value < 0 || value > 255
const ColorUnit& BALL::VIEW::ColorUnit::operator= ( const unsigned char  value  ) 

Assignment operator with unsigned char. Calls set.

Parameters:
value an unsigned char containing a value of range 0-255
const ColorUnit& BALL::VIEW::ColorUnit::operator= ( const String value  )  throw (Exception::InvalidRange, NotInHexFormat)

Assignment operator with string. Calls set.

Parameters:
value a string containing a value in hex format ( "00"-"FF" or "00"-"ff")
Exceptions:
InvalidRange if string length != 2
NotInHexFormat if string contains characters g-z or G-Z
const ColorUnit& BALL::VIEW::ColorUnit::operator= ( const char *  value  )  throw (Exception::InvalidRange, NotInHexFormat)

Assignment operator with char*. Calls set.

Parameters:
value the pointer to a string containing a value in hex format ( "00"-"FF" or "00"-"ff")
Exceptions:
InvalidRange if string length != 2
NotInHexFormat if string contains characters g-z or G-Z
const ColorUnit& BALL::VIEW::ColorUnit::operator= ( const ColorUnit color_unit  ) 

Assignment operator.

See also:
set
bool BALL::VIEW::ColorUnit::operator== ( const ColorUnit color_unit  )  const

Equality test. Equality means that the internals value (floats) of the colorUnit's are equal.

bool BALL::VIEW::ColorUnit::operator> ( const ColorUnit color_unit  )  const

Greater test. Greater means that the internal value (float) this is greater than the internal value (float) of color_unit colorUnit.

bool BALL::VIEW::ColorUnit::operator>= ( const ColorUnit color_unit  )  const

Greater or equal test. Greater or equal means that the internal value (float) this is greater or equal than the internal value (float) of color_unit colorUnit.

void BALL::VIEW::ColorUnit::set ( const double  value  )  throw (Exception::InvalidRange)

Changes the value of the colorUnit.

Parameters:
value a double of range 0-1.0
Exceptions:
InvalidRange if value < 0.0 || value > 1.0
void BALL::VIEW::ColorUnit::set ( const float  value  )  throw (Exception::InvalidRange)

Changes the value of the colorUnit.

Parameters:
value a float of range 0-1.0
Exceptions:
InvalidRange if value < 0.0 || value > 1.0
void BALL::VIEW::ColorUnit::set ( const unsigned long  value  )  throw (Exception::InvalidRange)

Changes the value of the colorUnit.

Parameters:
value an unsigned long of range 0-255
Exceptions:
InvalidRange if value > 255
void BALL::VIEW::ColorUnit::set ( const long  value  )  throw (Exception::InvalidRange)

Changes the value of the colorUnit.

Parameters:
value a long of range 0-255
Exceptions:
InvalidRange if value < 0 || value > 255
void BALL::VIEW::ColorUnit::set ( const unsigned int  value  )  throw (Exception::InvalidRange)

Changes the value of the colorUnit.

Parameters:
value an unsigned int of range 0-255
Exceptions:
InvalidRange if value > 255
void BALL::VIEW::ColorUnit::set ( const int  value  )  throw (Exception::InvalidRange)

Changes the value of the colorUnit.

Parameters:
value an int of range 0-255
Exceptions:
InvalidRange if value < 0 || value > 255
void BALL::VIEW::ColorUnit::set ( const unsigned short  value  )  throw (Exception::InvalidRange)

Changes the value of the colorUnit.

Parameters:
value an unsigned short of range 0-255
Exceptions:
InvalidRange if value > 255
void BALL::VIEW::ColorUnit::set ( const short  value  )  throw (Exception::InvalidRange)

Changes the value of the colorUnit.

Parameters:
value a short of range 0-255
Exceptions:
InvalidRange if value < 0 || value > 255
void BALL::VIEW::ColorUnit::set ( const unsigned char  value  ) 

Changes the value of the colorUnit.

Parameters:
value an unsigned char of range 0-255
void BALL::VIEW::ColorUnit::set ( const String value  )  throw (Exception::InvalidRange, NotInHexFormat)

Changes the value of the colorUnit. Changes the value of this colorUnit to the value represented by a string value.

Parameters:
value a string (in the format "00"-"FF" or "00"-"ff")
Exceptions:
InvalidRange if string length != 2
NotInHexFormat if string contains characters g-z or G-Z
void BALL::VIEW::ColorUnit::set ( const char *  value  )  throw (Exception::InvalidRange, NotInHexFormat)

Changes the value of the colorUnit.

Parameters:
value the new value of this colorUnit (a string in the format "00"-"FF" or "00"-"ff")
Exceptions:
InvalidRange if string length != 2
NotInHexFormat if string contains characters g-z or G-Z
void BALL::VIEW::ColorUnit::set ( const ColorUnit color_unit  ) 

Assignment.

void BALL::VIEW::ColorUnit::swap ( ColorUnit color_unit  ) 

Swapping of colorUnits.


Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  s,
const ColorUnit color_unit 
) [friend]

Friendly stream output. Writes colorUnit data to the output stream s and store the value of this. The value will be stored in integer format of range 0-255.

Parameters:
s output stream to where the value of this colorUnit will be stored
color_unit the colorUnit from which the value will be stored
std::istream& operator>> ( std::istream &  s,
ColorUnit color_unit 
) [friend]

Friendly stream input. Reads colorUnit data from the input stream s and restore the value of this. The value will be needed in integer format of range 0-255. This method is provided for convienience.

Parameters:
s input stream from where to restore the value of this colorUnit
color_unit the colorUnit to which the value will be restored

Member Data Documentation