Hoyt's FORK of DemoIccMAX 2.1.17.hoyt
Documentation for Hoyt's FORK of DemoIccMAX
Loading...
Searching...
No Matches
CIccMultiProcessElement Class Referenceabstract

Class: CIccMultiProcessElement. More...

#include <IccTagMPE.h>

+ Inheritance diagram for CIccMultiProcessElement:
+ Collaboration diagram for CIccMultiProcessElement:

Public Member Functions

virtual void Apply (CIccApplyMpe *pApply, icFloatNumber *pDestPixel, const icFloatNumber *pSrcPixel) const =0
 
virtual bool Begin (icElemInterp nIterp=icElemInterpLinear, CIccTagMultiProcessElement *pMPE=NULL)=0
 
 CIccMultiProcessElement ()
 
virtual void Describe (std::string &sDescription, int nVerboseness)=0
 
virtual icAcsSignature GetBAcsSig ()
 
virtual const icCharGetClassName () const =0
 
virtual icAcsSignature GetEAcsSig ()
 
virtual IIccExtensionMpeGetExtension ()
 
virtual CIccApplyMpeGetNewApply (CIccApplyTagMpe *pApplyTag)
 Name: CIccMultiProcessElement::GetNewApply()
 
virtual icElemTypeSignature GetType () const =0
 
virtual bool IsAcs ()
 
virtual bool IsLateBinding () const
 
virtual bool IsLateBindingReflectance () const
 
virtual bool IsSupported ()
 
virtual CIccMultiProcessElementNewCopy () const =0
 
virtual icUInt16Number NumInputChannels () const
 
virtual icUInt16Number NumOutputChannels () const
 
virtual bool Read (icUInt32Number size, CIccIO *pIO)=0
 
virtual icValidateStatus Validate (std::string sigPath, std::string &sReport, const CIccTagMultiProcessElement *pMPE=NULL, const CIccProfile *pProfile=NULL) const =0
 Name: CIccProcessElement::Validate.
 
virtual bool Write (CIccIO *pIO)=0
 
virtual ~CIccMultiProcessElement ()
 

Static Public Member Functions

static CIccMultiProcessElementCreate (icElemTypeSignature sig)
 Name: CIccMultiProcessElement::Create.
 

Public Attributes

icUInt32Number m_nReserved
 

Protected Attributes

icUInt16Number m_nInputChannels
 
icUInt16Number m_nOutputChannels
 

Detailed Description

Class: CIccMultiProcessElement.

Purpose: Base Class for Multi Process Elements

Definition at line 145 of file IccTagMPE.h.

Constructor & Destructor Documentation

◆ CIccMultiProcessElement()

CIccMultiProcessElement::CIccMultiProcessElement ( )
inline

Definition at line 148 of file IccTagMPE.h.

icUInt16Number m_nOutputChannels
Definition IccTagMPE.h:192
icUInt16Number m_nInputChannels
Definition IccTagMPE.h:191
icUInt32Number m_nReserved
Definition IccTagMPE.h:188

◆ ~CIccMultiProcessElement()

virtual CIccMultiProcessElement::~CIccMultiProcessElement ( )
inlinevirtual

Definition at line 150 of file IccTagMPE.h.

150{ }

Member Function Documentation

◆ Apply()

virtual void CIccMultiProcessElement::Apply ( CIccApplyMpe * pApply,
icFloatNumber * pDestPixel,
const icFloatNumber * pSrcPixel ) const
pure virtual

Implemented in CIccMpeAcs, CIccMpeCalculator, CIccMpeCAM, CIccMpeCLUT, CIccMpeCurveSet, CIccMpeEmissionMatrix, CIccMpeInvEmissionMatrix, CIccMpeJabToXYZ, CIccMpeMatrix, CIccMpeSpectralCLUT, CIccMpeSpectralMatrix, CIccMpeSpectralObserver, CIccMpeTintArray, CIccMpeToneMap, CIccMpeUnknown, and CIccMpeXYZToJab.

Referenced by CIccTagMultiProcessElement::Apply(), and main().

+ Here is the caller graph for this function:

◆ Begin()

virtual bool CIccMultiProcessElement::Begin ( icElemInterp nIterp = icElemInterpLinear,
CIccTagMultiProcessElement * pMPE = NULL )
pure virtual

◆ Create()

CIccMultiProcessElement * CIccMultiProcessElement::Create ( icElemTypeSignature sig)
static

Name: CIccMultiProcessElement::Create.

Purpose:

Args:

Return:

Definition at line 131 of file IccTagMPE.cpp.

132{
134}
icArraySignature sig
static CIccMultiProcessElement * CreateElement(icElemTypeSignature elemTypeSig)
Function: CreateElement(elemTypeSig) Create a element of type elemTypeSig.

References CIccMpeCreator::CreateElement(), and sig.

Referenced by CIccDefaultEncProfileConverter::ConvertFromParams(), CIccMpeCalculator::Read(), CIccSampledCalculatorCurve::Read(), and CIccTagMultiProcessElement::Read().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ Describe()

virtual void CIccMultiProcessElement::Describe ( std::string & sDescription,
int nVerboseness )
pure virtual

Implemented in CIccMpeAcs, CIccMpeCalculator, CIccMpeCAM, CIccMpeCLUT, CIccMpeCurveSet, CIccMpeExtCLUT, CIccMpeMatrix, CIccMpeSpectralCLUT, CIccMpeSpectralMatrix, CIccMpeSpectralObserver, CIccMpeTintArray, CIccMpeToneMap, and CIccMpeUnknown.

Referenced by CIccMpeCalculator::Describe().

+ Here is the caller graph for this function:

◆ GetBAcsSig()

virtual icAcsSignature CIccMultiProcessElement::GetBAcsSig ( )
inlinevirtual

Reimplemented in CIccMpeBAcs.

Definition at line 178 of file IccTagMPE.h.

178{ return icSigAcsZero; }
#define icSigAcsZero
Convenience Definition - Not defined in ICC specification.

References icSigAcsZero.

◆ GetClassName()

◆ GetEAcsSig()

virtual icAcsSignature CIccMultiProcessElement::GetEAcsSig ( )
inlinevirtual

Reimplemented in CIccMpeEAcs.

Definition at line 179 of file IccTagMPE.h.

179{ return icSigAcsZero; }

References icSigAcsZero.

◆ GetExtension()

virtual IIccExtensionMpe * CIccMultiProcessElement::GetExtension ( )
inlinevirtual

◆ GetNewApply()

CIccApplyMpe * CIccMultiProcessElement::GetNewApply ( CIccApplyTagMpe * pApplyTag)
virtual

Name: CIccMultiProcessElement::GetNewApply()

Purpose:

Args:

Return:

Reimplemented in CIccMpeCalculator, CIccMpeCLUT, and CIccMpeSpectralCLUT.

Definition at line 146 of file IccTagMPE.cpp.

147{
148 return new CIccApplyMpe(this);
149}
Class: CIccApplyMpe.
Definition IccTagMPE.h:203

Referenced by CIccApplyTagMpe::AppendElem().

+ Here is the caller graph for this function:

◆ GetType()

virtual icElemTypeSignature CIccMultiProcessElement::GetType ( ) const
pure virtual

◆ IsAcs()

virtual bool CIccMultiProcessElement::IsAcs ( )
inlinevirtual

Reimplemented in CIccMpeAcs.

Definition at line 177 of file IccTagMPE.h.

177{ return false; }

Referenced by CIccTagMultiProcessElement::Apply().

+ Here is the caller graph for this function:

◆ IsLateBinding()

virtual bool CIccMultiProcessElement::IsLateBinding ( ) const
inlinevirtual

Reimplemented in CIccMpeCalculator, CIccMpeSpectralCLUT, CIccMpeSpectralMatrix, and CIccMpeSpectralObserver.

Definition at line 184 of file IccTagMPE.h.

184{ return false; }

◆ IsLateBindingReflectance()

virtual bool CIccMultiProcessElement::IsLateBindingReflectance ( ) const
inlinevirtual

Reimplemented in CIccMpeCalculator, CIccMpeReflectanceCLUT, and CIccMpeReflectanceObserver.

Definition at line 185 of file IccTagMPE.h.

185{ return false; }

◆ IsSupported()

virtual bool CIccMultiProcessElement::IsSupported ( )
inlinevirtual

Reimplemented in CIccMpeUnknown.

Definition at line 162 of file IccTagMPE.h.

162{ return true; }

◆ NewCopy()

◆ NumInputChannels()

virtual icUInt16Number CIccMultiProcessElement::NumInputChannels ( ) const
inlinevirtual

Definition at line 159 of file IccTagMPE.h.

159{ return m_nInputChannels; }

Referenced by SIccCalcOp::ArgsUsed(), CIccCalculatorFunc::Begin(), and CIccCalculatorFunc::Validate().

+ Here is the caller graph for this function:

◆ NumOutputChannels()

virtual icUInt16Number CIccMultiProcessElement::NumOutputChannels ( ) const
inlinevirtual

Definition at line 160 of file IccTagMPE.h.

160{ return m_nOutputChannels; }

Referenced by CIccCalculatorFunc::Apply(), SIccCalcOp::ArgsPushed(), CIccCalculatorFunc::Begin(), CIccTagMultiProcessElement::Begin(), CIccCalculatorFunc::Validate(), and CIccTagMultiProcessElement::Validate().

+ Here is the caller graph for this function:

◆ Read()

virtual bool CIccMultiProcessElement::Read ( icUInt32Number size,
CIccIO * pIO )
pure virtual

Implemented in CIccMpeAcs, CIccMpeCalculator, CIccMpeCAM, CIccMpeCLUT, CIccMpeCurveSet, CIccMpeExtCLUT, CIccMpeMatrix, CIccMpeSpectralCLUT, CIccMpeSpectralMatrix, CIccMpeSpectralObserver, CIccMpeTintArray, CIccMpeToneMap, and CIccMpeUnknown.

Referenced by CIccMpeCalculator::Read(), and CIccTagMultiProcessElement::Read().

+ Here is the caller graph for this function:

◆ Validate()

icValidateStatus CIccMultiProcessElement::Validate ( std::string sigPath,
std::string & sReport,
const CIccTagMultiProcessElement * pMPE = NULL,
const CIccProfile * pProfile = NULL ) const
pure virtual

Name: CIccProcessElement::Validate.

Purpose:

Args:

Return:

Implemented in CIccMpeAcs, CIccMpeCalculator, CIccMpeCAM, CIccMpeCLUT, CIccMpeCurveSet, CIccMpeExtCLUT, CIccMpeInvEmissionMatrix, CIccMpeMatrix, CIccMpeSpectralCLUT, CIccMpeSpectralMatrix, CIccMpeSpectralObserver, CIccMpeTintArray, CIccMpeToneMap, and CIccMpeUnknown.

Definition at line 454 of file IccTagMPE.cpp.

455{
457
458 CIccInfo Info;
459 std::string sSigPathName = Info.GetSigPathName(sigPath+icGetSigPath(GetType()));
460 if (m_nReserved!=0) {
461 sReport += icMsgValidateNonCompliant;
462 sReport += sSigPathName;
463 sReport += " - Reserved Value must be zero.\n";
464
466 }
467
468 return rv;
469}
icValidateStatus
Definition IccDefs.h:118
@ icValidateOK
Definition IccDefs.h:119
@ icValidateNonCompliant
Definition IccDefs.h:121
std::string icGetSigPath(icUInt32Number nSig)
Definition IccUtil.cpp:1191
const char * icMsgValidateNonCompliant
Definition IccUtil.cpp:91
Type: Class.
Definition IccUtil.h:303
std::string GetSigPathName(std::string sigPath)
Definition IccUtil.cpp:1614
virtual icElemTypeSignature GetType() const =0

References CIccInfo::GetSigPathName(), icGetSigPath(), icMsgValidateNonCompliant, icValidateNonCompliant, and icValidateOK.

Referenced by CIccMpeAcs::Validate(), CIccMpeCalculator::Validate(), CIccMpeCLUT::Validate(), CIccMpeCurveSet::Validate(), CIccMpeMatrix::Validate(), CIccMpeSpectralCLUT::Validate(), CIccMpeSpectralMatrix::Validate(), CIccMpeSpectralObserver::Validate(), CIccMpeTintArray::Validate(), CIccMpeToneMap::Validate(), and CIccTagMultiProcessElement::Validate().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ Write()

Member Data Documentation

◆ m_nInputChannels

◆ m_nOutputChannels

◆ m_nReserved


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