[ VIGRA Homepage | Function Index | Class Index | Namespaces | File List | Main Page ]
|
RGBValue< T, RED_IDX, GREEN_IDX, BLUE_IDX > Class Template Reference | ![]() |
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 Types inherited from TinyVectorBase< VALUETYPE, SIZE, VALUETYPE[SIZE], TinyVector< VALUETYPE, SIZE > > | |
| enum | |
| typedef value_type const * | const_iterator |
| typedef VALUETYPE const * | const_pointer |
| typedef VALUETYPE const & | const_reference |
| typedef std::ptrdiff_t | difference_type |
| typedef value_type * | iterator |
| typedef SquareRootTraits < SquaredNormType > ::SquareRootResult | NormType |
| typedef VALUETYPE * | pointer |
| typedef VALUETYPE & | reference |
| typedef double | scalar_multiplier |
| typedef unsigned int | size_type |
| typedef NormTraits< VALUETYPE > ::SquaredNormType | SquaredNormType |
| typedef VALUETYPE | value_type |
Public Member Functions | |
| value_type & | blue () |
| value_type const & | blue () const |
| value_type & | green () |
| value_type const & | green () const |
| value_type | luminance () const |
| NormType | magnitude () const |
| RGBValue | operator- () const |
| template<class U , unsigned int R, unsigned int G, unsigned int B> | |
| RGBValue & | operator= (RGBValue< U, R, G, B > const &r) |
| RGBValue & | operator= (TinyVector< value_type, 3 > const &r) |
| value_type & | red () |
| value_type const & | red () const |
| RGBValue (value_type first, value_type second, value_type third) | |
| RGBValue (value_type gray) | |
| RGBValue (const_pointer i) | |
| RGBValue (const_pointer i, ReverseCopyTag reverse) | |
| RGBValue () | |
| template<class U , unsigned int R, unsigned int G, unsigned int B> | |
| RGBValue (RGBValue< U, R, G, B > const &r) | |
| RGBValue (TinyVector< value_type, 3 > const &r) | |
| template<class V > | |
| void | setBlue (V value) |
| template<class V > | |
| void | setGreen (V value) |
| template<class V > | |
| void | setRed (V value) |
| SquaredNormType | squaredMagnitude () const |
Public Member Functions inherited from TinyVector< VALUETYPE, 3 > | |
| TinyVector & | copy (TinyVectorBase< U, USIZE, DATA, DERIVED > const &r) |
| TinyVector & | operator= (TinyVector const &r) |
| TinyVector & | operator= (TinyVectorBase< U, SIZE, DATA, DERIVED > const &r) |
| TinyVector & | operator= (Diff2D const &r) |
| TinyVector & | operator= (value_type const &v) |
| TinyVector (value_type const &initial) | |
| TinyVector (lemon::Invalid const &) | |
| TinyVector (Diff2D const &initial) | |
| TinyVector (value_type const &i1, value_type const &i2) | |
| TinyVector (value_type const &i1, value_type const &i2, value_type const &i3) | |
| TinyVector (value_type const &i1, value_type const &i2, value_type const &i3, value_type const &i4) | |
| TinyVector (value_type const &i1, value_type const &i2, value_type const &i3, value_type const &i4, value_type const &i5) | |
| TinyVector () | |
| TinyVector (SkipInitializationTag) | |
| TinyVector (TinyVector const &r) | |
| TinyVector (U const *data) | |
| TinyVector (const_pointer data, ReverseCopyTag) | |
| TinyVector (TinyVectorBase< U, SIZE, DATA, DERIVED > const &r) | |
Public Member Functions inherited from TinyVectorBase< VALUETYPE, SIZE, VALUETYPE[SIZE], TinyVector< VALUETYPE, SIZE > > | |
| bool | all () const |
| bool | any () const |
| iterator | begin () |
| const_iterator | begin () const |
| const_iterator | cbegin () const |
| const_iterator | cend () const |
| iterator | end () |
| const_iterator | end () const |
| void | init (Iterator i, Iterator end) |
| void | init (value_type initial) |
| NormType | magnitude () const |
| VALUETYPE const & | maximum () const |
| VALUETYPE const & | minimum () const |
| DERIVED & | operator%= (TinyVectorBase< T1, SIZE, VALUETYPE, TinyVector< VALUETYPE, SIZE > > const &r) |
| DERIVED & | operator*= (TinyVectorBase< T1, SIZE, VALUETYPE, TinyVector< VALUETYPE, SIZE > > const &r) |
| DERIVED & | operator*= (double r) |
| DERIVED & | operator+= (TinyVectorBase< T1, SIZE, VALUETYPE, TinyVector< VALUETYPE, SIZE > > const &r) |
| DERIVED & | operator+= (double r) |
| DERIVED & | operator-= (TinyVectorBase< T1, SIZE, VALUETYPE, TinyVector< VALUETYPE, SIZE > > const &r) |
| DERIVED & | operator-= (double r) |
| DERIVED & | operator/= (TinyVectorBase< T1, SIZE, VALUETYPE, TinyVector< VALUETYPE, SIZE > > const &r) |
| DERIVED & | operator/= (double r) |
| reference | operator[] (difference_type i) |
| const_reference | operator[] (difference_type i) const |
| size_type | size () const |
| SquaredNormType | squaredMagnitude () const |
| TinyVectorView< VALUETYPE, TO-FROM > | subarray () const |
Additional Inherited Members | |
Static Public Member Functions inherited from TinyVectorBase< VALUETYPE, SIZE, VALUETYPE[SIZE], TinyVector< VALUETYPE, SIZE > > | |
| static TinyVector< VALUETYPE, SIZE > | linearSequence (VALUETYPE start=VALUETYPE(), VALUETYPE step=VALUETYPE(1)) |
| Factory function for a linear sequence. More... | |
|
static TinyVector< VALUETYPE, SIZE > | unitVector (int k) |
| Factory function for a unit vector for dimension k. | |
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
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
| typedef Base::value_type value_type |
STL-compatible definition of valuetype
| typedef Base::iterator iterator |
STL-compatible definition of iterator
| typedef Base::const_iterator const_iterator |
STL-compatible definition of const iterator
| typedef Base::SquaredNormType SquaredNormType |
squared norm type (result of squaredManitude())
| typedef Base::NormType NormType |
norm type (result of magnitude())
| 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.
|
explicit |
Copy from raw memory. The order is preserved, irrespective of how the color indices are specified.
| RGBValue | ( | const_pointer | i, |
| ReverseCopyTag | reverse | ||
| ) |
Construct by reverse copying from raw memory.
| RGBValue | ( | ) |
Default constructor (sets all components to 0)
| RGBValue | ( | TinyVector< value_type, 3 > const & | r | ) |
construct from TinyVector
| RGBValue& operator= | ( | TinyVector< value_type, 3 > const & | r | ) |
assign TinyVector.
| value_type& red | ( | ) |
Access red component.
| value_type& green | ( | ) |
Access green component.
| value_type& blue | ( | ) |
Access blue component.
| value_type const& red | ( | ) | const |
Get red component.
| value_type const& green | ( | ) | const |
Get green component.
| value_type const& blue | ( | ) | const |
Get blue component.
| value_type luminance | ( | ) | const |
Calculate luminance.
| NormType magnitude | ( | ) | const |
Calculate magnitude.
| SquaredNormType squaredMagnitude | ( | ) | const |
Calculate squared magnitude.
| void setRed | ( | V | value | ) |
Set red component. The type V of the passed in value is automatically converted to VALUETYPE.
| void setGreen | ( | V | value | ) |
Set green component.The type V of the passed in value is automatically converted to VALUETYPE.
| void setBlue | ( | V | value | ) |
Set blue component.The type V of the passed in value is automatically converted to VALUETYPE.
|
© Ullrich Köthe (ullrich.koethe@iwr.uni-heidelberg.de) |
html generated using doxygen and Python
|