[ VIGRA Homepage | Function Index | Class Index | Namespaces | File List | Main Page ]

| Functions for RGBValue |

Implement basic arithmetic and equality for RGBValue. More...

## Functions

template<class T, unsigned int RIDX, unsigned int GIDX, unsigned int BIDX>
RGBValue< T, RIDX, GIDX, BIDX > | abs (RGBValue< T, RIDX, GIDX, BIDX > const &v)
| component-wise absolute value
template<class V, unsigned int RIDX, unsigned int GIDX, unsigned int BIDX>
RGBValue< V, RIDX, GIDX, BIDX > | ceil (RGBValue< V, RIDX, GIDX, BIDX > const &r)
template<class V1, unsigned int R, unsigned int G, unsigned int B, class V2>
PromoteTraits< RGBValue< V1, R, G, B >, RGBValue< V2, R, G, B > >::Promote | cross (RGBValue< V1, R, G, B > const &r1, RGBValue< V2, R, G, B > const &r2)
| cross product
template<class V1, unsigned int RIDX1, unsigned int GIDX1, unsigned int BIDX1, class V2, unsigned int RIDX2, unsigned int GIDX2, unsigned int BIDX2>
PromoteTraits< V1, V2 >::Promote | dot (RGBValue< V1, RIDX1, GIDX1, BIDX1 > const &r1, RGBValue< V2, RIDX2, GIDX2, BIDX2 > const &r2)
| dot product
template<class V, unsigned int RIDX, unsigned int GIDX, unsigned int BIDX>
RGBValue< V, RIDX, GIDX, BIDX > | floor (RGBValue< V, RIDX, GIDX, BIDX > const &r)
template<class V1, unsigned int RIDX1, unsigned int GIDX1, unsigned int BIDX1, class V2, unsigned int RIDX2, unsigned int GIDX2, unsigned int BIDX2>
bool | operator!= (RGBValue< V1, RIDX1, GIDX1, BIDX1 > const &l, RGBValue< V2, RIDX2, GIDX2, BIDX2 > const &r)
| component-wise not equal
template<class V, unsigned int R, unsigned int G, unsigned int B>
NumericTraits< RGBValue< V, R, G, B > >::RealPromote | operator* (RGBValue< V, R, G, B > const &r, double v)
| component-wise right scalar multiplication
template<class V, unsigned int R, unsigned int G, unsigned int B>
NumericTraits< RGBValue< V, R, G, B > >::RealPromote | operator* (double v, RGBValue< V, R, G, B > const &r)
| component-wise left scalar multiplication
template<class V1, unsigned int R, unsigned int G, unsigned int B, class V2>
PromoteTraits< RGBValue< V1, R, G, B >, RGBValue< V2, R, G, B > >::Promote | operator* (RGBValue< V1, R, G, B > const &r1, RGBValue< V2, R, G, B > const &r2)
| component-wise multiplication
template<class V, unsigned int RIDX, unsigned int GIDX, unsigned int BIDX>
RGBValue< V, RIDX, GIDX, BIDX > & | operator*= (RGBValue< V, RIDX, GIDX, BIDX > &l, double r)
| componentwise scalar multiply-assignment
template<class V1, unsigned int RIDX1, unsigned int GIDX1, unsigned int BIDX1, class V2, unsigned int RIDX2, unsigned int GIDX2, unsigned int BIDX2>
RGBValue< V1, RIDX1, GIDX1, BIDX1 > & | operator*= (RGBValue< V1, RIDX1, GIDX1, BIDX1 > &l, RGBValue< V2, RIDX2, GIDX2, BIDX2 > const &r)
| componentwise multiply-assignment
template<class V1, unsigned int R, unsigned int G, unsigned int B, class V2>
PromoteTraits< RGBValue< V1, R, G, B >, RGBValue< V2, R, G, B > >::Promote | operator+ (RGBValue< V1, R, G, B > const &r1, RGBValue< V2, R, G, B > const &r2)
| component-wise addition
template<class V1, unsigned int RIDX1, unsigned int GIDX1, unsigned int BIDX1, class V2, unsigned int RIDX2, unsigned int GIDX2, unsigned int BIDX2>
RGBValue< V1, RIDX1, GIDX1, BIDX1 > & | operator+= (RGBValue< V1, RIDX1, GIDX1, BIDX1 > &l, RGBValue< V2, RIDX2, GIDX2, BIDX2 > const &r)
| componentwise add-assignment
template<class V1, unsigned int R, unsigned int G, unsigned int B, class V2>
PromoteTraits< RGBValue< V1, R, G, B >, RGBValue< V2, R, G, B > >::Promote | operator- (RGBValue< V1, R, G, B > const &r1, RGBValue< V2, R, G, B > const &r2)
| component-wise subtraction
template<class V1, unsigned int RIDX1, unsigned int GIDX1, unsigned int BIDX1, class V2, unsigned int RIDX2, unsigned int GIDX2, unsigned int BIDX2>
RGBValue< V1, RIDX1, GIDX1, BIDX1 > & | operator-= (RGBValue< V1, RIDX1, GIDX1, BIDX1 > &l, RGBValue< V2, RIDX2, GIDX2, BIDX2 > const &r)
| componentwise subtract-assignment
template<class V, unsigned int R, unsigned int G, unsigned int B>
NumericTraits< RGBValue< V, R, G, B > >::RealPromote | operator/ (RGBValue< V, R, G, B > const &r, double v)
| component-wise scalar division
template<class V1, unsigned int R, unsigned int G, unsigned int B, class V2>
PromoteTraits< RGBValue< V1, R, G, B >, RGBValue< V2, R, G, B > >::Promote | operator/ (RGBValue< V1, R, G, B > const &r1, RGBValue< V2, R, G, B > const &r2)
| component-wise division
template<class V, unsigned int RIDX, unsigned int GIDX, unsigned int BIDX>
RGBValue< V, RIDX, GIDX, BIDX > & | operator/= (RGBValue< V, RIDX, GIDX, BIDX > &l, double r)
| componentwise scalar divide-assignment
template<class V1, unsigned int RIDX1, unsigned int GIDX1, unsigned int BIDX1, class V2, unsigned int RIDX2, unsigned int GIDX2, unsigned int BIDX2>
RGBValue< V1, RIDX1, GIDX1, BIDX1 > & | operator/= (RGBValue< V1, RIDX1, GIDX1, BIDX1 > &l, RGBValue< V2, RIDX2, GIDX2, BIDX2 > const &r)
| componentwise divide-assignment
template<class V1, unsigned int RIDX1, unsigned int GIDX1, unsigned int BIDX1, class V2, unsigned int RIDX2, unsigned int GIDX2, unsigned int BIDX2>
bool | operator== (RGBValue< V1, RIDX1, GIDX1, BIDX1 > const &l, RGBValue< V2, RIDX2, GIDX2, BIDX2 > const &r)
| component-wise equal

## Detailed Description

Implement basic arithmetic and equality for RGBValue.

These functions fulfill the requirements of a Linear Algebra. Return types are determined according to Numeric and Promote Traits of RGBValue.

#include <vigra/rgbvalue.hxx>
Namespace: vigra

## Function Documentation

template<class V, unsigned int RIDX, unsigned int GIDX, unsigned int BIDX>
RGBValue<V, RIDX, GIDX, BIDX> vigra::ceil | ( | RGBValue< V, RIDX, GIDX, BIDX > const & | r | ) |

Apply ceil() function to each RGB component.

template<class V, unsigned int RIDX, unsigned int GIDX, unsigned int BIDX>
RGBValue<V, RIDX, GIDX, BIDX> vigra::floor | ( | RGBValue< V, RIDX, GIDX, BIDX > const & | r | ) |

Apply floor() function to each RGB component.

© Ullrich Köthe (ullrich.koethe@iwr.uni-heidelberg.de) Heidelberg Collaboratory for Image Processing, University of Heidelberg, Germany | html generated using doxygen and Python vigra 1.7.1 (3 Dec 2010)