[ VIGRA Homepage |
Class Index |
Function Index |
File Index |
Main Page ]
|
RGBValue Class Template Reference
|
 |
Class for a single RGB value.
More...
#include "vigra/rgbvalue.hxx"
Inheritance diagram for RGBValue:
|
Public Types |
typedef Base::value_type | value_type |
typedef Base::iterator | iterator |
typedef Base::const_iterator | const_iterator |
typedef Base::SquaredNormType | SquaredNormType |
typedef Base::NormType | NormType |
enum | |
Public Methods |
| RGBValue (value_type first, value_type second, value_type third) |
| RGBValue (value_type gray) |
template<class Iterator> | RGBValue (Iterator i, Iterator end) |
| RGBValue () |
template<class U, unsigned int R, unsigned int G, unsigned int B> | RGBValue (RGBValue< U, R, G, B > const &r) |
template<class U, unsigned int R, unsigned int G, unsigned int B> RGBValue & | operator= (RGBValue< U, R, G, B > const &r) |
| RGBValue (TinyVector< value_type, 3 > const &r) |
RGBValue & | operator= (TinyVector< value_type, 3 > const &r) |
RGBValue | operator- () const |
value_type & | red () |
value_type & | green () |
value_type & | blue () |
value_type const & | red () const |
value_type const & | green () const |
value_type const & | blue () const |
value_type | luminance () const |
NormType | magnitude () const |
SquaredNormType | squaredMagnitude () const |
template<class V> void | setRed (V value) |
template<class V> void | setGreen (V value) |
template<class V> void | setBlue (V value) |
template<class VALUETYPE, unsigned int RED_IDX = 0, unsigned int GREEN_IDX = 1, unsigned int BLUE_IDX = 2>
class vigra::RGBValue< VALUETYPE, RED_IDX, GREEN_IDX, BLUE_IDX >
Class for a single RGB value.
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 LinearAlgebra.
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
- Examples:
-
invert.cxx, invert_explicitly.cxx, and watershed.cxx.
Member Typedef Documentation
typedef Base::const_iterator const_iterator
|
|
typedef Base::iterator iterator
|
|
typedef Base::NormType NormType
|
|
typedef Base::SquaredNormType SquaredNormType
|
|
typedef Base::value_type value_type
|
|
Member Enumeration Documentation
Constructor & Destructor Documentation
|
Construct from explicit color values. first, second, third are written in this order, irrespective of how the color indices are specified. |
RGBValue |
( |
Iterator |
i, |
|
|
Iterator |
end |
|
) |
[inline] |
|
|
Construct from another sequence (must have length 3!) |
|
Default constructor (sets all components to 0) |
RGBValue |
( |
RGBValue< U, R, G, B > const & |
r |
) |
[inline] |
|
Member Function Documentation
RGBValue operator- |
( |
|
) |
const [inline] |
|
|
Unary negation (construct RGBValue with negative values) |
RGBValue& operator= |
( |
RGBValue< U, R, G, B > const & |
r |
) |
[inline] |
|
void setBlue |
( |
V |
value |
) |
[inline] |
|
|
Set blue component.The type V of the passed in value is automatically converted to VALUETYPE . |
void setGreen |
( |
V |
value |
) |
[inline] |
|
|
Set green component.The type V of the passed in value is automatically converted to VALUETYPE . |
void setRed |
( |
V |
value |
) |
[inline] |
|
|
Set red component. The type V of the passed in value is automatically converted to VALUETYPE . |
The documentation for this class was generated from the following file: