MeVisLabToolboxReference
ml::LUTIterator< T > Class Template Reference

The LUTIterator class template is used by a LUTFunction object for rendering into a LUTData object. More...

#include <mlLUTIterator.h>

Inheritance diagram for ml::LUTIterator< T >:
ml::LUTIteratorBase

List of all members.

Public Member Functions

 LUTIterator (LUTVisualType visualType, LUTData< T > &lutData)
 Constructor for addressing a 1D-LUT visualType is the type of the LUT being rendered, lutData is the object storing the rendered LUT.
 LUTIterator (LUTVisualType visualType, LUTData< T > &lutData, int row)
 Constructor for addressing a single row in a 2D-LUT visualType is the type of the LUT being rendered, lutData is the object storing the rendered LUT, row identifies the LUT row.
 LUTIterator (LUTVisualType visualType, LUTData< T > &lutData, int row, int layer)
 Constructor for addressing a single row in a 3D-LUT visualType is the type of the LUT being rendered, lutData is the object storing the rendered LUT, row and layer identify the LUT row.
virtual ~LUTIterator ()
 Destructor.
void operator++ (void)
 Increment operator.

Public Attributes

T ** chn
 Channel pointer array.

Protected Types

typedef void(LUTIterator< T >::* IncrementFnc )(void)
 Increment method pointer type definition.

Protected Member Functions

void init (LUTData< T > &lutData)
 Initialize.
void clear (void)
 Clean up.
void inc1 (void)
 ! Increment methods
void inc2 (void)
void inc3 (void)
void inc4 (void)
void inc5 (void)
void convertLtoRGB (void)
 Convert Luminance to RGB.
void convertRGBtoL (void)
 Convert RGB to Luminance.
void convertAndInc (void)
 Increment method including conversion.

Protected Attributes

IncrementFnc _inc
 Increment method pointers.
IncrementFnc _incConvert
IncrementFnc _incPointers
T * _dummy
 Dummy channel entries.
int _dpLut
 Pointer increment.

Detailed Description

template<typename T>
class ml::LUTIterator< T >

The LUTIterator class template is used by a LUTFunction object for rendering into a LUTData object.

For each lookup index, the LUT uses the channel pointers chn to store the LUT entry values, and calls the LUTIterator's increment operator to convert the entry values into the type of the LUTData object (if necessary) and to increment the channel data pointers.

Definition at line 131 of file mlLUTIterator.h.


Member Typedef Documentation

template<typename T>
typedef void(LUTIterator<T>::* ml::LUTIterator< T >::IncrementFnc)(void) [protected]

Increment method pointer type definition.

Definition at line 193 of file mlLUTIterator.h.


Constructor & Destructor Documentation

template<typename T >
ml::LUTIterator< T >::LUTIterator ( LUTVisualType  visualType,
LUTData< T > &  lutData 
)

Constructor for addressing a 1D-LUT visualType is the type of the LUT being rendered, lutData is the object storing the rendered LUT.

Definition at line 211 of file mlLUTIterator.h.

References ml::LUTIterator< T >::init().

template<typename T >
ml::LUTIterator< T >::LUTIterator ( LUTVisualType  visualType,
LUTData< T > &  lutData,
int  row 
)

Constructor for addressing a single row in a 2D-LUT visualType is the type of the LUT being rendered, lutData is the object storing the rendered LUT, row identifies the LUT row.

Definition at line 222 of file mlLUTIterator.h.

References ml::LUTIterator< T >::init().

template<typename T >
ml::LUTIterator< T >::LUTIterator ( LUTVisualType  visualType,
LUTData< T > &  lutData,
int  row,
int  layer 
)

Constructor for addressing a single row in a 3D-LUT visualType is the type of the LUT being rendered, lutData is the object storing the rendered LUT, row and layer identify the LUT row.

Definition at line 233 of file mlLUTIterator.h.

References ml::LUTIterator< T >::init().

template<typename T>
virtual ml::LUTIterator< T >::~LUTIterator ( ) [inline, virtual]

Destructor.

Definition at line 154 of file mlLUTIterator.h.


Member Function Documentation

template<typename T >
void ml::LUTIterator< T >::clear ( void  ) [protected]

Clean up.

Definition at line 338 of file mlLUTIterator.h.

template<typename T>
void ml::LUTIterator< T >::convertAndInc ( void  ) [inline, protected]

Increment method including conversion.

Definition at line 189 of file mlLUTIterator.h.

template<typename T>
void ml::LUTIterator< T >::convertLtoRGB ( void  ) [inline, protected]

Convert Luminance to RGB.

Definition at line 181 of file mlLUTIterator.h.

References L.

template<typename T>
void ml::LUTIterator< T >::convertRGBtoL ( void  ) [inline, protected]

Convert RGB to Luminance.

Definition at line 184 of file mlLUTIterator.h.

References B, G, L, ml::LUTConvertRGBtoL(), and R.

template<typename T>
void ml::LUTIterator< T >::inc1 ( void  ) [inline, protected]

! Increment methods

Definition at line 174 of file mlLUTIterator.h.

template<typename T>
void ml::LUTIterator< T >::inc2 ( void  ) [inline, protected]

Definition at line 175 of file mlLUTIterator.h.

template<typename T>
void ml::LUTIterator< T >::inc3 ( void  ) [inline, protected]

Definition at line 176 of file mlLUTIterator.h.

template<typename T>
void ml::LUTIterator< T >::inc4 ( void  ) [inline, protected]

Definition at line 177 of file mlLUTIterator.h.

template<typename T>
void ml::LUTIterator< T >::inc5 ( void  ) [inline, protected]

Definition at line 178 of file mlLUTIterator.h.

template<typename T>
void ml::LUTIterator< T >::operator++ ( void  ) [inline]

Increment operator.

Definition at line 158 of file mlLUTIterator.h.


Member Data Documentation

template<typename T>
int ml::LUTIterator< T >::_dpLut [protected]

Pointer increment.

Definition at line 202 of file mlLUTIterator.h.

template<typename T>
T* ml::LUTIterator< T >::_dummy [protected]

Dummy channel entries.

Definition at line 199 of file mlLUTIterator.h.

template<typename T>
IncrementFnc ml::LUTIterator< T >::_inc [protected]

Increment method pointers.

Definition at line 196 of file mlLUTIterator.h.

template<typename T>
IncrementFnc ml::LUTIterator< T >::_incConvert [protected]

Definition at line 196 of file mlLUTIterator.h.

template<typename T>
IncrementFnc ml::LUTIterator< T >::_incPointers [protected]

Definition at line 196 of file mlLUTIterator.h.

template<typename T>
T** ml::LUTIterator< T >::chn

Channel pointer array.

Definition at line 162 of file mlLUTIterator.h.


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