Imagine++
Imagine::RGB< T > Class Template Reference

RED GREEN BLUE color. More...

#include "Imagine/Common.h"

Inheritance diagram for Imagine::RGB< T >:
Imagine::FVector< T, 3 > Imagine::FArray< T, dim >

Public Member Functions

 RGB ()
 Empty constructor.
 
 RGB (const Base &x)
 Copy constructor.
 
template<typename T2>
 RGB (const FArray< T2, 4 > &x)
 Constructor from RGBA.
 
template<typename T2>
 RGB (const FVector< T2, 3 > &x)
 Constructor from other value type Constructs from RGB with different type.
 
 RGB (const T t[3])
 Constructor from C array.
 
 RGB (T r, T g, T b)
 Constructor with r,g,b values Constructs a RGB of type T.
 
 RGB (T v)
 Constructor with constant value.
 
T & b ()
 Write BLUE alias.
 
const T & b () const
 Read BLUE alias.
 
T & g ()
 Write GREEN alias.
 
const T & g () const
 Read GREEN alias.
 
 operator T () const
 To greyscale.
 
T & r ()
 Write RED alias.
 
const T & r () const
 Read RED alias.
 
- Public Member Functions inherited from Imagine::FVector< T, 3 >
 FVector ()
 Empty constructor.
 
 FVector ()
 Empty constructor.
 
 FVector (const FArray< T2, dim > &a)
 Copy constructor.
 
 FVector (const FArray< T2, dim > &a)
 Copy constructor.
 
 FVector (const T &v)
 Constructor with constant value.
 
 FVector (const T &v)
 Constructor with constant value.
 
 FVector (const T2 t[dim])
 Constructor from C array.
 
 FVector (const T2 t[dim])
 Constructor from C array.
 
 FVector (T x, T y)
 2D alias.
 
 FVector (T x, T y)
 2D alias.
 
 FVector (T x, T y, T z)
 3D alias.
 
 FVector (T x, T y, T z)
 3D alias.
 
FVectorfill (const T &v)
 Filling.
 
FVectorfill (const T &v)
 Filling.
 
FVectornormalize ()
 Euclidean in-place normalization.
 
FVectornormalize ()
 Euclidean in-place normalization.
 
operator* (const FVector &v) const
 Scalar product.
 
operator* (const FVector &v) const
 Scalar product.
 
FVector operator* (T s) const
 Scalar multiplication.
 
FVector operator* (T s) const
 Scalar multiplication.
 
FVectoroperator*= (T s)
 Scalar in place multiplication.
 
FVectoroperator*= (T s)
 Scalar in place multiplication.
 
FVector operator+ (const FVector &v) const
 Addition.
 
FVector operator+ (const FVector &v) const
 Addition.
 
FVector operator+ (T s) const
 Scalar Addition.
 
FVector operator+ (T s) const
 Scalar Addition.
 
FVectoroperator+= (const FVector &v)
 In place Addition.
 
FVectoroperator+= (const FVector &v)
 In place Addition.
 
FVectoroperator+= (T s)
 Scalar in place Addition.
 
FVectoroperator+= (T s)
 Scalar in place Addition.
 
FVector operator- () const
 Opposite.
 
FVector operator- () const
 Opposite.
 
FVector operator- (const FVector &v) const
 Substraction.
 
FVector operator- (const FVector &v) const
 Substraction.
 
FVector operator- (T s) const
 Scalar Substraction.
 
FVector operator- (T s) const
 Scalar Substraction.
 
FVectoroperator-= (const FVector &v)
 In place Substraction.
 
FVectoroperator-= (const FVector &v)
 In place Substraction.
 
FVectoroperator-= (T s)
 Scalar in place substractrion.
 
FVectoroperator-= (T s)
 Scalar in place substractrion.
 
FVector operator/ (T s) const
 Scalar division.
 
FVector operator/ (T s) const
 Scalar division.
 
FVectoroperator/= (T s)
 Scalar in place division.
 
FVectoroperator/= (T s)
 Scalar in place division.
 
FVectoroperator= (const FArray< T2, dim > &b)
 Assignment.
 
FVectoroperator= (const FArray< T2, dim > &b)
 Assignment.
 
operator^ (const FVector< T, 2 > &v) const
 2D cross product.
 
operator^ (const FVector< T, 2 > &v) const
 2D cross product.
 
FVector< T, 3 > operator^ (const FVector< T, 3 > &v) const
 3D cross product.
 
FVector< T, 3 > operator^ (const FVector< T, 3 > &v) const
 3D cross product.
 
T & x ()
 Write alias.
 
T & x ()
 Write alias.
 
const T & x () const
 Read alias.
 
const T & x () const
 Read alias.
 
T & y ()
 Write alias.
 
T & y ()
 Write alias.
 
const T & y () const
 Read alias.
 
const T & y () const
 Read alias.
 
T & z ()
 Write alias.
 
T & z ()
 Write alias.
 
const T & z () const
 Read alias.
 
const T & z () const
 Read alias.
 
- Public Member Functions inherited from Imagine::FArray< T, dim >
 FArray ()
 Empty constructor.
 
 FArray ()
 Empty constructor.
 
 FArray (const FArray< T2, S > &a)
 Copy constructor.
 
 FArray (const FArray< T2, S > &a)
 Copy constructor.
 
 FArray (const T &v)
 Constructor with constant value.
 
 FArray (const T &v)
 Constructor with constant value.
 
 FArray (const T2 t[S])
 Constructor from C array.
 
 FArray (const T2 t[S])
 Constructor from C array.
 
 FArray (T v0, T v1)
 2D alias.
 
 FArray (T v0, T v1)
 2D alias.
 
 FArray (T v0, T v1, T v2)
 3D alias.
 
 FArray (T v0, T v1, T v2)
 3D alias.
 
 FArray (T v0, T v1, T v2, T v3)
 4D alias.
 
 FArray (T v0, T v1, T v2, T v3)
 4D alias.
 
iterator begin ()
 Begin iterator.
 
iterator begin ()
 Begin iterator.
 
const_iterator begin () const
 Begin const iterator.
 
const_iterator begin () const
 Begin const iterator.
 
FArraycopy (const FArray< T2, S > &b)
 Copy.
 
FArraycopy (const FArray< T2, S > &b)
 Copy.
 
FArraycopy (const T2 t[S])
 C array of different type copy.
 
FArraycopy (const T2 t[S])
 C array of different type copy.
 
T * data ()
 Data pointer (write).
 
T * data ()
 Data pointer (write).
 
const T * data () const
 Data pointer (read).
 
const T * data () const
 Data pointer (read).
 
bool empty () const
 Is empty.
 
bool empty () const
 Is empty.
 
iterator end ()
 End iterator.
 
iterator end ()
 End iterator.
 
const_iterator end () const
 End const iterator.
 
const_iterator end () const
 End const iterator.
 
FArrayfill (const T &v)
 Filling.
 
FArrayfill (const T &v)
 Filling.
 
bool operator!= (const FArray &b) const
 Inequality test.
 
bool operator!= (const FArray &b) const
 Inequality test.
 
FArrayoperator= (const FArray< T2, S > &b)
 Assignment.
 
FArrayoperator= (const FArray< T2, S > &b)
 Assignment.
 
bool operator== (const FArray &b) const
 Equality test.
 
bool operator== (const FArray &b) const
 Equality test.
 
T & operator[] (int i)
 Write access.
 
T & operator[] (int i)
 Write access.
 
const T & operator[] (int i) const
 Read access.
 
const T & operator[] (int i) const
 Read access.
 
int size () const
 Size.
 
int size () const
 Size.
 

Additional Inherited Members

- Public Types inherited from Imagine::FArray< T, dim >
typedef const T * const_iterator
 Const iterator type.
 
typedef T * iterator
 Iterator type.
 
- Static Public Member Functions inherited from Imagine::FVector< T, 3 >
static FVector Zero ()
 Zero vector Vector with constant 0 value.
 
static FVector Zero ()
 Zero vector Vector with constant 0 value.
 
- Protected Attributes inherited from Imagine::FArray< T, dim >
_data [S]
 internal storage.
 
_data [S]
 internal storage.
 

Detailed Description

template<typename T>
class Imagine::RGB< T >

RED GREEN BLUE color

Parameters
Tvalue type
Examples
Common/test/test.cpp, Graphics/test/test.cpp, and Images/test/test.cpp.

Constructor & Destructor Documentation

◆ RGB() [1/7]

template<typename T>
Imagine::RGB< T >::RGB ( )
inline

Constructs an uninitialized RGB of type T

RGB<double> a; // uninitialized
RGB()
Empty constructor.
Definition Color.h:37

◆ RGB() [2/7]

template<typename T>
Imagine::RGB< T >::RGB ( T v)
inlineexplicit

Constructs a RGB of type T, each initialized to v

Parameters
vvalue used for initialization
RGB<double> b(.6); // filled with constant value
const T & b() const
Read BLUE alias.
Definition Color.h:118

◆ RGB() [3/7]

template<typename T>
Imagine::RGB< T >::RGB ( T r,
T g,
T b )
inline
Parameters
r,g,bRED, GREEN, BLUE values
RGB<double> c(.12,.3,.43); // rgb values

◆ RGB() [4/7]

template<typename T>
Imagine::RGB< T >::RGB ( const T t[3])
inlineexplicit

Constructs a RGB of type T, and copies values to it

Parameters
tC array used for initialization
double t1[]={.2,1.,.23}; // filled from C array
RGB<double> d(t1); // ...

◆ RGB() [5/7]

template<typename T>
Imagine::RGB< T >::RGB ( const Base & x)
inline

Constructs from another RGB

Parameters
xRGB to copy
RGB<double> e(d); // copy constructor

◆ RGB() [6/7]

template<typename T>
template<typename T2>
Imagine::RGB< T >::RGB ( const FVector< T2, 3 > & x)
inline
Parameters
xRGB to copy
Template Parameters
T2value type of x
RGB<float> f(e); // from another type

◆ RGB() [7/7]

template<typename T>
template<typename T2>
Imagine::RGB< T >::RGB ( const FArray< T2, 4 > & x)
inline

Constructs from RGBA (ignores a)

Parameters
xRGBA to copy
Template Parameters
T2value type of x
RGBA<double>g(.1,.2,.6,.3); // RGBA -> RGB
RED GREEN BLUE Alpha color.
Definition Color.h:140
const T & g() const
Read GREEN alias.
Definition Color.h:104
RGB<float> h(g); // ...

Member Function Documentation

◆ b() [1/2]

template<typename T>
T & Imagine::RGB< T >::b ( )
inline

Write BLUE alias

Returns
ref. to BLUE
e.b()=x; // Write BLUE alias
const T & x() const
Definition FVector.h:104

◆ b() [2/2]

template<typename T>
const T & Imagine::RGB< T >::b ( ) const
inline

Read BLUE alias

Returns
const ref. to BLUE
x=e.b(); // Read BLUE alias

◆ g() [1/2]

template<typename T>
T & Imagine::RGB< T >::g ( )
inline

Write GREEN alias

Returns
ref. to GREEN
e.g()=x; // Write GREEN alias

◆ g() [2/2]

template<typename T>
const T & Imagine::RGB< T >::g ( ) const
inline

Read GREEN alias

Returns
const ref. to GREEN
x=e.g(); // Read GREEN alias

◆ operator T()

template<typename T>
Imagine::RGB< T >::operator T ( ) const
inline

Convert to greyscale (grey=0.3*r+0.59*g+0.11*b)

Returns
greyscale value
float grey=float(c); // to greyscale
Image< octet, dim > grey(const Image< T, dim > &I, T m, T M)
Grey level representation.
Definition IO.h:289

◆ r() [1/2]

template<typename T>
T & Imagine::RGB< T >::r ( )
inline

Write RED alias

Returns
ref. to RED
e.r()=x; // Write RED alias

◆ r() [2/2]

template<typename T>
const T & Imagine::RGB< T >::r ( ) const
inline

Read RED alias

Returns
const ref. to RED
x=e.r(); // Read RED alias

The documentation for this class was generated from the following file: