SampleICC Main srcforge
Main Page | Class Hierarchy | Class List | File List | Class Members | File Members

CIccCLUT Class Reference

#include <IccTagLut.h>

List of all members.

Public Member Functions

 CIccCLUT (icUInt8Number nInputChannels, icUInt8Number nOutputChannels, icUInt8Number nPrecision=2)
 CIccCLUT (const CIccCLUT &ICLUT)
CIccCLUT & operator= (const CIccCLUT &CLUTClass)
virtual ~CIccCLUT ()
void Init (icUInt8Number nGridPoints)
void Init (icUInt8Number *pGridPoints)
bool ReadData (icUInt32Number size, CIccIO *pIO, icUInt8Number nPrecision)
bool WriteData (CIccIO *pIO, icUInt8Number nPrecision)
bool Read (icUInt32Number size, CIccIO *pIO)
bool Write (CIccIO *pIO)
void DumpLut (std::string &sDescription, const icChar *szName, icColorSpaceSignature csInput, icColorSpaceSignature csOutput)
icFloatNumber & operator[] (int index)
icFloatNumber * GetData (int index)
icUInt32Number NumPoints () const
icUInt8Number GridPoints () const
icUInt8Number GridPoint (int index) const
icUInt32Number GetDimSize (icUInt8Number nIndex) const
icUInt8Number GetInputDim () const
icUInt8Number GetOutputChannels () const
void Begin ()
void Interp3dTetra (icFloatNumber *destPixel, const icFloatNumber *srcPixel)
void Interp3d (icFloatNumber *destPixel, const icFloatNumber *srcPixel)
void Interp4d (icFloatNumber *destPixel, const icFloatNumber *srcPixel)
void Interp5d (icFloatNumber *destPixel, const icFloatNumber *srcPixel)
void Interp6d (icFloatNumber *destPixel, const icFloatNumber *srcPixel)
void InterpND (icFloatNumber *destPixel, const icFloatNumber *srcPixel)
void Iterate (IIccCLUTExec *pExec)
icValidateStatus Validate (icTagTypeSignature sig, std::string &sReport, const CIccProfile *pProfile=NULL) const
void SetClipFunc (icCLUTCLIPFUNC ClipFunc)
icUInt8Number GetPrecision ()

Protected Member Functions

void Iterate (std::string &sDescription, icUInt8Number nIndex, icUInt32Number nPos)
void SubIterate (IIccCLUTExec *pExec, icUInt8Number nIndex, icUInt32Number nPos)

Protected Attributes

icCLUTCLIPFUNC UnitClip
icUInt8Number m_nReserved2 [3]
icUInt8Number m_nInput
icUInt8Number m_nOutput
icUInt8Number m_nPrecision
icUInt8Number m_GridPoints [16]
icUInt32Number m_nNumPoints
icUInt32Number m_DimSize [16]
icFloatNumber * m_pData
icUInt8Number m_GridAdr [16]
icFloatNumber m_fGridAdr [16]
icChar * m_pOutText
icChar * m_pVal
icColorSpaceSignature m_csInput
icColorSpaceSignature m_csOutput
icUInt8Number m_MaxGridPoint [16]
icUInt32Number n000
icUInt32Number n001
icUInt32Number n010
icUInt32Number n011
icUInt32Number n100
icUInt32Number n101
icUInt32Number n110
icUInt32Number n111
icUInt32Number n1000
icUInt32Number n10000
icUInt32Number n100000
icUInt32Number * m_nOffset
icFloatNumber * m_g
icFloatNumber * m_s
icFloatNumber * m_df
icUInt32Number * m_ig
icUInt32Number m_nNodes
icUInt32Number m_nPower [16]


Detailed Description

Class: CIccCLUT

Purpose: The base multidimensional color look-up table (CLUT) class


Constructor & Destructor Documentation

CIccCLUT::CIccCLUT (  icUInt8Number  nInputChannels,
icUInt8Number  nOutputChannels,
icUInt8Number  nPrecision = 2
) 
 

Name: CIccCLUT::CIccCLUT

Purpose: Constructor

Args: nInputChannels = number of input channels, nOutputChannels = number of output channels

CIccCLUT::CIccCLUT (  const CIccCLUT &  ICLUT  ) 
 

Name: CIccCLUT::CIccCLUT

Purpose: Copy Constructor

Args: ICLUT = The CIccCLUT object to be copied

CIccCLUT::~CIccCLUT (   )  [virtual]
 

Name: CIccCLUT::~CIccCLUT

Purpose: Destructor


Member Function Documentation

void CIccCLUT::Begin (   ) 
 

Name: CIccCLUT::Begin

Purpose: Initializes the CLUT. Must be called before Apply().

void CIccCLUT::DumpLut (  std::string &  sDescription,
const icChar *  szName,
icColorSpaceSignature  csInput,
icColorSpaceSignature  csOutput
) 
 

Name: CIccCLUT::DumpLut

Purpose: Dump data associated with the tag to a string.

Args: sDescription = string to concatenate tag dump to, szName = name of the LUT to be printed, csInput = color space signature of the input data, csOutput = color space signature of the output data

icFloatNumber* CIccCLUT::GetData (  int  index  )  [inline]
 

icUInt32Number CIccCLUT::GetDimSize (  icUInt8Number  nIndex  )  const [inline]
 

icUInt8Number CIccCLUT::GetInputDim (   )  const [inline]
 

icUInt8Number CIccCLUT::GetOutputChannels (   )  const [inline]
 

icUInt8Number CIccCLUT::GetPrecision (   )  [inline]
 

icUInt8Number CIccCLUT::GridPoint (  int  index  )  const [inline]
 

icUInt8Number CIccCLUT::GridPoints (   )  const [inline]
 

void CIccCLUT::Init (  icUInt8Number *  pGridPoints  ) 
 

Name: CIccCLUT::Init

Purpose: Initializes and sets the size of the CLUT

Args: pGridPoints = number of grid points in the CLUT

void CIccCLUT::Init (  icUInt8Number  nGridPoints  ) 
 

Name: CIccCLUT::Init

Purpose: Initializes and sets the size of the CLUT

Args: nGridPoints = number of grid points in the CLUT

void CIccCLUT::Interp3d (  icFloatNumber *  destPixel,
const icFloatNumber *  srcPixel
) 
 

Name: CIccCLUT::Interp3d

Purpose: Three dimensional interpolation function

Args: Pixel = Pixel value to be found in the CLUT. Also used to store the result.

void CIccCLUT::Interp3dTetra (  icFloatNumber *  destPixel,
const icFloatNumber *  srcPixel
) 
 

Name: CIccCLUT::Interp3dTetra

Purpose: Tetrahedral interpolation function

Args: Pixel = Pixel value to be found in the CLUT. Also used to store the result.

void CIccCLUT::Interp4d (  icFloatNumber *  destPixel,
const icFloatNumber *  srcPixel
) 
 

Name: CIccCLUT::Interp4d

Purpose: Four dimensional interpolation function

Args: Pixel = Pixel value to be found in the CLUT. Also used to store the result.

void CIccCLUT::Interp5d (  icFloatNumber *  destPixel,
const icFloatNumber *  srcPixel
) 
 

Name: CIccCLUT::Interp5d

Purpose: Five dimensional interpolation function

Args: Pixel = Pixel value to be found in the CLUT. Also used to store the result.

void CIccCLUT::Interp6d (  icFloatNumber *  destPixel,
const icFloatNumber *  srcPixel
) 
 

Name: CIccCLUT::Interp6d

Purpose: Six dimensional interpolation function

Args: Pixel = Pixel value to be found in the CLUT. Also used to store the result.

void CIccCLUT::InterpND (  icFloatNumber *  destPixel,
const icFloatNumber *  srcPixel
) 
 

Name: CIccCLUT::InterpND

Purpose: Generic N-dimensional interpolation function

Args: Pixel = Pixel value to be found in the CLUT. Also used to store the result.

void CIccCLUT::Iterate (  std::string &  sDescription,
icUInt8Number  nIndex,
icUInt32Number  nPos
)  [protected]
 

Name: CIccCLUT::Iterate

Purpose: Iterate through the CLUT to dump the data

Args: sDescription = string to concatenate data dump to, nIndex = the channel number, nPos = the current position in the CLUT

void CIccCLUT::Iterate (  IIccCLUTExec *  pExec  ) 
 

Name: CIccCLUT::Iterate

Purpose: Iterate through the CLUT to get the data and execute PixelOp

Args: pExec = pointer to the IIccCLUTExec object that implements the IIccCLUTExec::Apply() function

icUInt32Number CIccCLUT::NumPoints (   )  const [inline]
 

CIccCLUT & CIccCLUT::operator= (  const CIccCLUT &  CLUTTag  ) 
 

Name: CIccCLUT::operator=

Purpose: Copy Operator

Args: CLUTTag = The CIccCLUT object to be copied

icFloatNumber& CIccCLUT::operator[] (  int  index  )  [inline]
 

bool CIccCLUT::Read (  icUInt32Number  size,
CIccIO *  pIO
) 
 

Name: CIccCLUT::Read

Purpose: Read in the tag contents into a data block

Args: size - # of bytes in tag, pIO - IO object to read tag from

Return: true = successful, false = failure

bool CIccCLUT::ReadData (  icUInt32Number  size,
CIccIO *  pIO,
icUInt8Number  nPrecision
) 
 

Name: CIccCLUT::ReadData

Purpose: Reads the CLUT data points into the data buffer

Args: size = # of bytes in the tag, pIO = IO object to read data from, nPrecision = data precision (8bit encoded as 1 or 16bit encoded as 2)

Return: true = data read succesfully, false = read data failed

void CIccCLUT::SetClipFunc (  icCLUTCLIPFUNC  ClipFunc  )  [inline]
 

void CIccCLUT::SubIterate (  IIccCLUTExec *  pExec,
icUInt8Number  nIndex,
icUInt32Number  nPos
)  [protected]
 

Name: CIccCLUT::SubIterate

Purpose: Iterate through the CLUT to get the data

Args: pExec = pointer to the IIccCLUTExec object that implements the IIccCLUTExec::Apply() function, nIndex = the channel number, nPos = the current position in the CLUT

icValidateStatus CIccCLUT::Validate (  icTagTypeSignature  sig,
std::string &  sReport,
const CIccProfile *  pProfile = NULL
)  const
 

Name: CIccCLUT::Validate

Purpose: Check tag data validity.

Args: sig = signature of tag being validated, sReport = String to add report information to

Return: icValidateStatusOK if valid, or other error status.

bool CIccCLUT::Write (  CIccIO *  pIO  ) 
 

Name: CIccCLUT::Write

Purpose: Write the tag to a file

Args: pIO - The IO object to write tag to.

Return: true = succesful, false = failure

bool CIccCLUT::WriteData (  CIccIO *  pIO,
icUInt8Number  nPrecision
) 
 

Name: CIccCLUT::WriteData

Purpose: Writes the CLUT data points from the data buffer

Args: pIO = IO object to write data to, nPrecision = data precision (8bit encoded as 1 or 16bit encoded as 2)

Return: true = data written succesfully, false = write operation failed


Member Data Documentation

icColorSpaceSignature CIccCLUT::m_csInput [protected]
 

icColorSpaceSignature CIccCLUT::m_csOutput [protected]
 

icFloatNumber * CIccCLUT::m_df [protected]
 

icUInt32Number CIccCLUT::m_DimSize[16] [protected]
 

icFloatNumber CIccCLUT::m_fGridAdr[16] [protected]
 

icFloatNumber* CIccCLUT::m_g [protected]
 

icUInt8Number CIccCLUT::m_GridAdr[16] [protected]
 

icUInt8Number CIccCLUT::m_GridPoints[16] [protected]
 

icUInt32Number* CIccCLUT::m_ig [protected]
 

icUInt8Number CIccCLUT::m_MaxGridPoint[16] [protected]
 

icUInt8Number CIccCLUT::m_nInput [protected]
 

icUInt32Number CIccCLUT::m_nNodes [protected]
 

icUInt32Number CIccCLUT::m_nNumPoints [protected]
 

icUInt32Number* CIccCLUT::m_nOffset [protected]
 

icUInt8Number CIccCLUT::m_nOutput [protected]
 

icUInt32Number CIccCLUT::m_nPower[16] [protected]
 

icUInt8Number CIccCLUT::m_nPrecision [protected]
 

icUInt8Number CIccCLUT::m_nReserved2[3] [protected]
 

icFloatNumber* CIccCLUT::m_pData [protected]
 

icChar* CIccCLUT::m_pOutText [protected]
 

icChar * CIccCLUT::m_pVal [protected]
 

icFloatNumber * CIccCLUT::m_s [protected]
 

icUInt32Number CIccCLUT::n000 [protected]
 

icUInt32Number CIccCLUT::n001 [protected]
 

icUInt32Number CIccCLUT::n010 [protected]
 

icUInt32Number CIccCLUT::n011 [protected]
 

icUInt32Number CIccCLUT::n100 [protected]
 

icUInt32Number CIccCLUT::n1000 [protected]
 

icUInt32Number CIccCLUT::n10000 [protected]
 

icUInt32Number CIccCLUT::n100000 [protected]
 

icUInt32Number CIccCLUT::n101 [protected]
 

icUInt32Number CIccCLUT::n110 [protected]
 

icUInt32Number CIccCLUT::n111 [protected]
 

icCLUTCLIPFUNC CIccCLUT::UnitClip [protected]
 


The documentation for this class was generated from the following files:
Generated on Tue Jun 26 17:51:44 2007 for IccProfLib by  doxygen 1.3.9.1