13#ifndef ML_LUTFCHANNEL_MAP_H
14#define ML_LUTFCHANNEL_MAP_H
112 template <
typename T>
Untyped base class for LUTData template classes.
A LUTData object stores an instance of a LUT, rendered for a specified visual type,...
A LUT function mapping the individual channels of the input LUT to the channels of the output LUT.
int getDepth(void) const override
Get native LUT depth (= number of layers, numbering starts at 0)
LUTFunction * _source
Input LUT function.
double getNativeMinIndex(void) const override
Get native minimum index.
void setSource(LUTFunction *source)
Set input LUT function.
bool isValid(void) const override
Return true if the LUT function is valid.
int getHeight(void) const override
Get native LUT height (= number of rows, numbering starts at 0)
bool renderLUTNative(LUTDataBase *lutData, LUTIteratorBase *lutIterator) const override
Render the lookup table into lutData using lutIterator to access and increment the LUT pointers.
ML_CLASS_HEADER(LUTFChannelMap)
double getNativeMinValue(void) const override
Get native minimum LUT value.
const Map * getMap(void) const
Get current channel map.
void setLAMap(Map l, Map a)
Specify channel map for L(A) output LUT.
Map
Channel source selector constants and type.
@ MAP_B
Red, green, blue channels.
@ MAP_L
Intensity channel.
double getNativeMaxIndex(void) const override
Get native maximum index.
void setRGBAMap(Map r, Map g, Map b, Map a)
Specify channel map for RGB(A) output LUT.
double getNativeMaxValue(void) const override
Get native maximum LUT value.
bool renderLUT(LUTData< T > *lutData, LUTIterator< T > *lutIterator, double minIndex, double maxIndex, bool rescale) const
Render a LUT primitive (as selected by the _shape member variable) into lutData using lutIterator to ...
bool renderLUTRescaled(LUTDataBase *lutData, LUTIteratorBase *lutIterator, double minIndex, double maxIndex) const override
Render rescaled LUT into lutData using lutIterator to access and increment the LUT pointers.
LUTFChannelMap(void)
Constructor.
Common base class for lookup tables.
LUT iterator base class with type independent functionality and declarations.
@ MAX_CHANNELS
Number of channels.
The LUTIterator class template is used by a LUTFunction object for rendering into a LUTData object.
#define MLLUT_EXPORT
System specific macro definitions.
Target mlrange_cast(Source arg)
Generic version of checked ML casts.