[ VIGRA Homepage | Function Index | Class Index | Namespaces | File List | Main Page ]
|   | RGBValue |  | 
Class for a single RGB value. More...
#include <vigra/rgbvalue.hxx>

| Public Types | |
| enum | |
| typedef Base::const_iterator | const_iterator | 
| typedef Base::iterator | iterator | 
| typedef Base::NormType | NormType | 
| typedef Base::SquaredNormType | SquaredNormType | 
| typedef Base::value_type | value_type | 
| Public Member Functions | |
| value_type const & | blue () const | 
| value_type & | blue () | 
| value_type const & | green () const | 
| value_type & | green () | 
| value_type | luminance () const | 
| NormType | magnitude () const | 
| RGBValue | operator- () const | 
| RGBValue & | operator= (TinyVector< value_type, 3 > const &r) | 
| template<class U, unsigned int R, unsigned int G, unsigned int B> | |
| RGBValue & | operator= (RGBValue< U, R, G, B > const &r) | 
| value_type const & | red () const | 
| value_type & | red () | 
| RGBValue (TinyVector< value_type, 3 > const &r) | |
| template<class U, unsigned int R, unsigned int G, unsigned int B> | |
| RGBValue (RGBValue< U, R, G, B > const &r) | |
| RGBValue () | |
| template<class Iterator> | |
| RGBValue (Iterator i, Iterator end) | |
| RGBValue (value_type gray) | |
| RGBValue (value_type first, value_type second, value_type third) | |
| template<class V> | |
| void | setBlue (V value) | 
| template<class V> | |
| void | setGreen (V value) | 
| template<class V> | |
| void | setRed (V value) | 
| SquaredNormType | squaredMagnitude () const | 
This class contains three values (of the specified type) that represent red, green, and blue color channels. By means of the template parameters RED_IDX, GREEN_IDX, BLUE_IDX, the indices 0, 1, 2 can be assigned to the three colors arbitrarily, so that, for example, a BGR type can be created as
    typedef RGBValue<unsigned char, 2,1,0> BGRValue;
The standard order red=0, green=1, blue=2 is the default. There are three possibilities to access the color values: accessor functions (red(), green(), blue()), index operator (operator[](dx), where the rgb[RED_IDX] returns red etc.) and iterator (STL-compatible random access iterator that references the three colors in turn). The latter two methods, together with the necessary embedded typedefs, ensure compatibility of a RGBValue with a STL vector.
Arithmetic operations are defined as component-wise applications of these operations. Addition, subtraction, and multiplication of two RGBValues (+=, -=, *=, +, -, *, unary -), multiplication and division of an RGBValue with a double, and NumericTraits/PromoteTraits are defined, so that RGBValue fulfills the requirements of a Linear Algebra.
A number of accessors are provided that support access to RGBValues as a whole, to a selected color component, or to the luminance value.
#include <vigra/rgbvalue.hxx>
 Namespace: vigra 
invert.cxx, invert_explicitly.cxx, palette.cxx, and watershed.cxx.
| typedef Base::const_iterator const_iterator | 
STL-compatible definition of const iterator
Reimplemented from TinyVector< VALUETYPE, 3 >.
| typedef Base::iterator iterator | 
STL-compatible definition of iterator
Reimplemented from TinyVector< VALUETYPE, 3 >.
| typedef Base::NormType NormType | 
norm type (result of magnitude())
Reimplemented from TinyVector< VALUETYPE, 3 >.
| typedef Base::SquaredNormType SquaredNormType | 
squared norm type (result of squaredManitude())
Reimplemented from TinyVector< VALUETYPE, 3 >.
| typedef Base::value_type value_type | 
STL-compatible definition of valuetype
Reimplemented from TinyVector< VALUETYPE, 3 >.
| anonymous enum | 
Color index positions
| RGBValue | ( | value_type | first, | |
| value_type | second, | |||
| value_type | third | |||
| ) | 
Construct from explicit color values. first, second, third are written in this order, irrespective of how the color indices are specified.
| RGBValue | ( | value_type | gray | ) | 
Construct gray value
| template<class Iterator> | ||||
| RGBValue | ( | Iterator | i, | |
| Iterator | end | |||
| ) | ||||
Construct from another sequence (must have length 3!)
| RGBValue | ( | ) | 
Default constructor (sets all components to 0)
| template<class U, unsigned int R, unsigned int G, unsigned int B> | |||||
| RGBValue | ( | RGBValue< U, R, G, B > const & | r | ) | |
Copy constructor.
| RGBValue | ( | TinyVector< value_type, 3 > const & | r | ) | 
construct from TinyVector
| value_type const& blue | ( | ) | const | 
Get blue component.
| value_type& blue | ( | ) | 
Access blue component.
| value_type const& green | ( | ) | const | 
Get green component.
| value_type& green | ( | ) | 
Access green component.
| value_type luminance | ( | ) | const | 
Calculate luminance.
| NormType magnitude | ( | ) | const | 
Calculate magnitude.
Reimplemented from TinyVectorBase.
| RGBValue& operator= | ( | TinyVector< value_type, 3 > const & | r | ) | 
assign TinyVector.
| value_type const& red | ( | ) | const | 
Get red component.
| value_type& red | ( | ) | 
Access red component.
| template<class V> | |||||
| void setBlue | ( | V | value | ) | |
Set blue component.The type V of the passed in value is automatically converted to VALUETYPE. 
| template<class V> | |||||
| void setGreen | ( | V | value | ) | |
Set green component.The type V of the passed in value is automatically converted to VALUETYPE. 
| template<class V> | |||||
| void setRed | ( | V | value | ) | |
Set red component. The type V of the passed in value is automatically converted to VALUETYPE. 
| SquaredNormType squaredMagnitude | ( | ) | const | 
Calculate squared magnitude.
Reimplemented from TinyVectorBase.
| 
© Ullrich Köthe     (ullrich.koethe@iwr.uni-heidelberg.de)  | 
html generated using doxygen and Python
 |