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

CIccXform Class Reference

#include <IccCmm.h>

Inheritance diagram for CIccXform:

CIccXform3DLut CIccXform4DLut CIccXformMatrixTRC CIccXformMpe CIccXformNamedColor CIccXformNDLut List of all members.

Public Member Functions

 CIccXform ()
virtual ~CIccXform ()
virtual icXformType GetXformType ()=0
virtual icStatusCMM Begin ()
virtual void Apply (icFloatNumber *DstPixel, const icFloatNumber *SrcPixel)=0
virtual bool RemoveIO ()
virtual icColorSpaceSignature GetSrcSpace () const
 Returns the source color space of the transform.
virtual icColorSpaceSignature GetDstSpace () const
 Returns the destination color space of the transform.
virtual bool UseLegacyPCS () const
 Checks if version 2 PCS is to be used.
virtual bool IsVersion2 () const
 Checks if the profile is version 2.
bool IsInput () const
 Checks if the profile is to be used as input profile.
void SetParams (CIccProfile *pProfile, bool bInput, icRenderingIntent nIntent, icXformInterp nInterp)
 The following function is for Overriden create function.
virtual LPIccCurveExtractInputCurves ()=0
 Use these functions to extract the input/output curves from the xform.
virtual LPIccCurveExtractOutputCurves ()=0

Static Public Member Functions

CIccXformCreate (CIccProfile *pProfile, bool bInput=true, icRenderingIntent nIntent=icUnknownIntent, icXformInterp nInterp=icInterpLinear, icXformLutType nLutType=icXformLutColor, bool bUseMpeTags=true)
 Note: The returned CIccXform will own the profile.
CIccXformCreate (CIccProfile &pProfile, bool bInput=true, icRenderingIntent nIntent=icUnknownIntent, icXformInterp nInterp=icInterpLinear, icXformLutType nLutType=icXformLutColor, bool bUseMpeTags=true)

Protected Member Functions

const icFloatNumberCheckSrcAbs (const icFloatNumber *Pixel)
void CheckDstAbs (icFloatNumber *Pixel)

Protected Attributes

CIccProfilem_pProfile
bool m_bInput
icRenderingIntent m_nIntent
icFloatNumber m_AbsLab [3]
icXYZNumber m_MediaXYZ
icXformInterp m_nInterp

Detailed Description

Type: Class

Purpose: This is the base CMM xform object. A general static creation function, base behavior, and data are defined. The Create() function will assign a profile to the class. The CIccProfile object will then be owned by the xform object and later deleted when the IccXform is deleted.


Constructor & Destructor Documentation

CIccXform::CIccXform  ) 
 

Name: CIccXform::CIccXform

Purpose: Constructor

CIccXform::~CIccXform  )  [virtual]
 

Name: CIccXform::~CIccXform

Purpose: Destructor


Member Function Documentation

virtual void CIccXform::Apply icFloatNumber DstPixel,
const icFloatNumber SrcPixel
[pure virtual]
 

Implemented in CIccXformMatrixTRC, CIccXform3DLut, CIccXform4DLut, CIccXformNDLut, CIccXformNamedColor, and CIccXformMpe.

icStatusCMM CIccXform::Begin  )  [virtual]
 

Name: CIccXform::Begin

Purpose: This function will be called before the xform is applied. Derived objects should also call this base class function to initialize for Absolute Colorimetric Intent handling which is performed through the use of the CheckSrcAbs and CheckDstAbs functions.

Reimplemented in CIccXformMatrixTRC, CIccXform3DLut, CIccXform4DLut, CIccXformNDLut, CIccXformNamedColor, and CIccXformMpe.

void CIccXform::CheckDstAbs icFloatNumber Pixel  )  [protected]
 

Name: CIccXform::CheckDstAbs

Purpose: This function will be called by a derived CIccXform object's Apply() function AFTER the actual xform is performed to take care of Absolute to Relative adjustments needed by the xform (IE the PCS is always version 4 relative).

Args: Pixel = source pixel data which will be modified

const icFloatNumber * CIccXform::CheckSrcAbs const icFloatNumber Pixel  )  [protected]
 

Name: CIccXform::CheckSrcAbs

Purpose: This function will be called by a derived CIccXform object's Apply() function BEFORE the actual xform is performed to take care of Absolute to Relative adjustments needed by the xform (IE the PCS is always version 4 relative).

Args: Pixel = src pixel data (will not be modified)

Return: returns Pixel or adjusted pixel data.

CIccXform * CIccXform::Create CIccProfile pProfile,
bool  bInput = true,
icRenderingIntent  nIntent = icUnknownIntent,
icXformInterp  nInterp = icInterpLinear,
icXformLutType  nLutType = icXformLutColor,
bool  bUseMpeTags = true
[static]
 

Note: Provide an interface to work profile references. The IccProfile is copied, and the copy's ownership is turned over to the Returned CIccXform object.

CIccXform * CIccXform::Create CIccProfile pProfile,
bool  bInput = true,
icRenderingIntent  nIntent = icUnknownIntent,
icXformInterp  nInterp = icInterpLinear,
icXformLutType  nLutType = icXformLutColor,
bool  bUseMpeTags = true
[static]
 

Note: The returned CIccXform will own the profile.

Name: CIccXform::Create

Purpose: This is a static Creation function that creates derived CIccXform objects and initializes them.

Args: pProfile = pointer to a CIccProfile object that will be owned by the transform. This object will be destroyed when the returned CIccXform object is destroyed. The means that the CIccProfile object needs to be allocated on the heap. bInput = flag to indicate whether to use the input or output side of the profile, nIntent = the rendering intent to apply to the profile, nInterp = the interpolation algorithm to use for N-D luts. nLutType = selection of which transform lut to use

Return: A suitable pXform object

virtual LPIccCurve* CIccXform::ExtractInputCurves  )  [pure virtual]
 

Use these functions to extract the input/output curves from the xform.

Implemented in CIccXformMatrixTRC, CIccXform3DLut, CIccXform4DLut, CIccXformNDLut, CIccXformNamedColor, and CIccXformMpe.

virtual LPIccCurve* CIccXform::ExtractOutputCurves  )  [pure virtual]
 

Implemented in CIccXformMatrixTRC, CIccXform3DLut, CIccXform4DLut, CIccXformNDLut, CIccXformNamedColor, and CIccXformMpe.

icColorSpaceSignature CIccXform::GetDstSpace  )  const [virtual]
 

Returns the destination color space of the transform.

Name: CIccXformMatrixTRC::GetDstSpace

Purpose: Return the color space that is output by the transform. If a device space is either XYZ/Lab it is changed to dXYZ/dLab to avoid confusion with PCS encoding of these spaces. Device encoding of XYZ and Lab spaces left to the device.

Reimplemented in CIccXformNamedColor.

icColorSpaceSignature CIccXform::GetSrcSpace  )  const [virtual]
 

Returns the source color space of the transform.

Name: CIccXformMatrixTRC::GetSrcSpace

Purpose: Return the color space that is input to the transform. If a device space is either XYZ/Lab it is changed to dXYZ/dLab to avoid confusion with PCS encoding of these spaces. Device encoding of XYZ and Lab spaces left to the device.

Reimplemented in CIccXformNamedColor.

virtual icXformType CIccXform::GetXformType  )  [pure virtual]
 

Implemented in CIccXformMatrixTRC, CIccXform3DLut, CIccXform4DLut, CIccXformNDLut, CIccXformNamedColor, and CIccXformMpe.

bool CIccXform::IsInput  )  const [inline]
 

Checks if the profile is to be used as input profile.

virtual bool CIccXform::IsVersion2  )  const [inline, virtual]
 

Checks if the profile is version 2.

virtual bool CIccXform::RemoveIO  )  [inline, virtual]
 

void CIccXform::SetParams CIccProfile pProfile,
bool  bInput,
icRenderingIntent  nIntent,
icXformInterp  nInterp
 

The following function is for Overriden create function.

Name: CIccXform::SetParams

Purpose: This is an accessor function to set private values.

Args: pProfile = pointer to profile associated with transform bInput = indicates whether profile is input profile nIntent = rendering intent to apply to the profile nInterp = the interpolation algorithm to use for N-D luts

virtual bool CIccXform::UseLegacyPCS  )  const [inline, virtual]
 

Checks if version 2 PCS is to be used.

Reimplemented in CIccXform3DLut, CIccXform4DLut, CIccXformNDLut, CIccXformNamedColor, and CIccXformMpe.


Member Data Documentation

icFloatNumber CIccXform::m_AbsLab[3] [protected]
 

bool CIccXform::m_bInput [protected]
 

icXYZNumber CIccXform::m_MediaXYZ [protected]
 

icRenderingIntent CIccXform::m_nIntent [protected]
 

icXformInterp CIccXform::m_nInterp [protected]
 

CIccProfile* CIccXform::m_pProfile [protected]
 


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