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

Class: CIccTagLutBtoA. More...

#include <IccTagLut.h>

+ Inheritance diagram for CIccTagLutBtoA:
+ Collaboration diagram for CIccTagLutBtoA:

Public Member Functions

 CIccTagLutBtoA ()
 Name: CIccTagLutBtoA::CIccTagLutBtoA.
 
 CIccTagLutBtoA (const CIccTagLutBtoA &ITLB2A)
 Name: CIccTagLutBtoA::CIccTagLutBtoA.
 
virtual icTagTypeSignature GetType () const
 Function: GetType()
 
virtual CIccTagNewCopy () const
 Function: NewCopy(sDescription) Each derived tag will implement it's own NewCopy() function.
 
CIccTagLutBtoAoperator= (const CIccTagLutBtoA &ITLB2A)
 Name: CIccTagLutBtoA::operator=.
 
virtual icValidateStatus Validate (std::string sigPath, std::string &sReport, const CIccProfile *pProfile=NULL)
 Name: CIccTagLutBtoA::Validate.
 
- Public Member Functions inherited from CIccTagLutAtoB
 CIccTagLutAtoB ()
 Name: CIccTagLutAtoB::CIccTagLutAtoB.
 
 CIccTagLutAtoB (const CIccTagLutAtoB &ITLA2B)
 Name: CIccTagLutAtoB::CIccTagLutAtoB.
 
CIccTagLutAtoBoperator= (const CIccTagLutAtoB &ITLA2B)
 Name: CIccTagLutAtoB::operator=.
 
bool Read (icUInt32Number size, CIccIO *pIO)
 Name: CIccTagLutAtoB::Read.
 
bool Write (CIccIO *pIO)
 Name: CIccTagLutAtoB::Write.
 
virtual ~CIccTagLutAtoB ()
 Name: CIccTagLutAtoB::~CIccTagLutAtoB.
 
- Public Member Functions inherited from CIccMBB
 CIccMBB ()
 Name: CIccMBB::CIccMBB.
 
 CIccMBB (const CIccMBB &IMBB)
 Name: CIccMBB::CIccMBB.
 
void Cleanup ()
 Name: CIccMBB::Cleanup.
 
virtual void Describe (std::string &sDescription, int nVerboseness)
 Name: CIccMBB::Describe.
 
CIccCLUTGetCLUT () const
 
icColorSpaceSignature GetCsInput ()
 
icColorSpaceSignature GetCsOutput ()
 
LPIccCurveGetCurvesA () const
 
LPIccCurveGetCurvesB () const
 
LPIccCurveGetCurvesM () const
 
CIccMatrixGetMatrix () const
 
virtual icUInt8Number GetPrecision ()
 
void Init (icUInt8Number nInputChannels, icUInt8Number nOutputChannels)
 Name: CIccMBB::Init.
 
icUInt8Number InputChannels () const
 
bool IsInputB ()
 
virtual bool IsInputMatrix ()
 
virtual bool IsMBBType ()
 
CIccCLUTNewCLUT (icUInt8Number *pGridPoints, icUInt8Number nPrecision=2)
 Name: CIccMBB::NewCLUT.
 
CIccCLUTNewCLUT (icUInt8Number nGridPoints, icUInt8Number nPrecision=2)
 Name: CIccMBB::NewCLUT.
 
LPIccCurveNewCurvesA ()
 Name: CIccMBB::NewCurvesA.
 
LPIccCurveNewCurvesB ()
 Name: CIccMBB::NewCurvesB.
 
LPIccCurveNewCurvesM ()
 Name: CIccMBB::NewCurvesM.
 
CIccMatrixNewMatrix ()
 Name: CIccMBB::NewMatrix.
 
CIccMBBoperator= (const CIccMBB &IMBB)
 Name: CIccMBB::operator=.
 
icUInt8Number OutputChannels () const
 
CIccCLUTSetCLUT (CIccCLUT *clut)
 Name: CIccMBB::SetCLUT.
 
virtual void SetColorSpaces (icColorSpaceSignature csInput, icColorSpaceSignature csOutput)
 Name: CIccMBB::SetColorSpaces.
 
bool SwapMBCurves ()
 
virtual bool UseLegacyPCS () const
 
virtual ~CIccMBB ()
 Name: CIccMBB::~CIccMBB.
 
- Public Member Functions inherited from CIccTag
 CIccTag ()
 Name: CIccTag::CIccTag.
 
virtual void DetachIO ()
 Function: ReadAll() - Read All sub data for tag from file.
 
virtual const icCharGetClassName () const
 
virtual IIccExtensionTagGetExtension ()
 
virtual icArraySignature GetTagArrayType () const
 
virtual icStructSignature GetTagStructType () const
 
virtual bool IsArrayType ()
 
virtual bool IsNumArrayType () const
 
virtual bool IsSupported ()
 Function: IsSupported(size, pIO) - Check if tag fully supported for apply purposes.
 
virtual bool Read (icUInt32Number size, CIccIO *pIO, CIccProfile *pProfile)
 Function: Read(size, pIO) - Read tag from file.
 
virtual bool ReadAll ()
 Function: ReadAll() - Read All sub data for tag from file.
 
virtual icValidateStatus Validate (std::string sigPath, std::string &sReport, const CIccProfile *pProfile=NULL) const
 Function: Validate Each derived tag will implement it's own IsValid() function.
 
virtual ~CIccTag ()
 Name: CIccTag::CIccTag.
 

Additional Inherited Members

- Static Public Member Functions inherited from CIccTag
static CIccTagCreate (icTagTypeSignature sig)
 Name: CIccTag::Create.
 
- Public Attributes inherited from CIccTag
icUInt32Number m_nReserved
 
- Protected Attributes inherited from CIccTagLutAtoB
icUInt16Number m_nReservedWord
 
- Protected Attributes inherited from CIccMBB
bool m_bInputMatrix
 
bool m_bUseMCurvesAsBCurves
 
CIccCLUTm_CLUT
 
icColorSpaceSignature m_csInput
 
icColorSpaceSignature m_csOutput
 
LPIccCurvem_CurvesA
 
LPIccCurvem_CurvesB
 
LPIccCurvem_CurvesM
 
CIccMatrixm_Matrix
 
icUInt8Number m_nInput
 
icUInt8Number m_nOutput
 

Detailed Description

Class: CIccTagLutBtoA.

Purpose: The LutB2A tag type

Definition at line 527 of file IccTagLut.h.

Constructor & Destructor Documentation

◆ CIccTagLutBtoA() [1/2]

CIccTagLutBtoA::CIccTagLutBtoA ( )

Name: CIccTagLutBtoA::CIccTagLutBtoA.

Purpose: Constructor

Definition at line 4283 of file IccTagLut.cpp.

4284{
4285 m_bInputMatrix = true;
4286}
bool m_bInputMatrix
Definition IccTagLut.h:477

References CIccMBB::m_bInputMatrix.

◆ CIccTagLutBtoA() [2/2]

CIccTagLutBtoA::CIccTagLutBtoA ( const CIccTagLutBtoA & ITLB2A)

Name: CIccTagLutBtoA::CIccTagLutBtoA.

Purpose: Copy Constructor

Args: ITLB2A = The CIccTagLutBtoA object to be copied

Definition at line 4299 of file IccTagLut.cpp.

4299 : CIccTagLutAtoB(ITLB2A)
4300{
4301}
CIccTagLutAtoB()
Name: CIccTagLutAtoB::CIccTagLutAtoB.

Member Function Documentation

◆ GetType()

virtual icTagTypeSignature CIccTagLutBtoA::GetType ( ) const
inlinevirtual

Function: GetType()

Purpose: Get Tag Type. Each derived tag will implement it's own GetType() function.

Reimplemented from CIccTagLutAtoB.

Definition at line 535 of file IccTagLut.h.

535{ return icSigLutBtoAType; }
@ icSigLutBtoAType

References icSigLutBtoAType.

Referenced by Validate().

+ Here is the caller graph for this function:

◆ NewCopy()

virtual CIccTag * CIccTagLutBtoA::NewCopy ( ) const
inlinevirtual

Function: NewCopy(sDescription) Each derived tag will implement it's own NewCopy() function.

Parameter(s): none

Returns a new CIccTag object that is a copy of this object.

Reimplemented from CIccTagLutAtoB.

Definition at line 533 of file IccTagLut.h.

533{ return new CIccTagLutBtoA(*this); }
CIccTagLutBtoA()
Name: CIccTagLutBtoA::CIccTagLutBtoA.

◆ operator=()

CIccTagLutBtoA & CIccTagLutBtoA::operator= ( const CIccTagLutBtoA & ITLB2A)

Name: CIccTagLutBtoA::operator=.

Purpose: Copy Operator

Args: ITLB2A = The CIccTagLutBtoA object to be copied

Definition at line 4314 of file IccTagLut.cpp.

4315{
4316 if (&ITLB2A == this)
4317 return *this;
4318
4319 CIccMBB::operator=(ITLB2A);
4320
4321 return *this;
4322}
CIccMBB & operator=(const CIccMBB &IMBB)
Name: CIccMBB::operator=.

References CIccMBB::operator=().

+ Here is the call graph for this function:

◆ Validate()

icValidateStatus CIccTagLutBtoA::Validate ( std::string sigPath,
std::string & sReport,
const CIccProfile * pProfile = NULL )
virtual

Name: CIccTagLutBtoA::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.

Reimplemented from CIccTagLutAtoB.

Definition at line 4339 of file IccTagLut.cpp.

4340{
4341 icValidateStatus rv = CIccMBB::Validate(sigPath, sReport, pProfile);
4342
4343 CIccInfo Info;
4344 std::string sSigPathName = Info.GetSigPathName(sigPath);
4346
4347 if (!pProfile) {
4348 sReport += icMsgValidateWarning;
4349 sReport += sSigPathName;
4350 sReport += " - Tag validation incomplete: Pointer to profile unavailable.\n";
4352 return rv;
4353 }
4354
4355 switch(sig) {
4356 case icSigBToA0Tag:
4357 case icSigBToA1Tag:
4358 case icSigBToA2Tag:
4359 case icSigGamutTag:
4360 {
4361 icUInt32Number nInput = icGetSpaceSamples(pProfile->m_Header.pcs);
4362
4363 icUInt32Number nOutput;
4364 if (sig==icSigGamutTag) {
4365 nOutput = 1;
4366 }
4367 else {
4368 nOutput = icGetSpaceSamples(pProfile->m_Header.colorSpace);
4369 }
4370
4371 if (m_nOutput!=nOutput) {
4372 sReport += icMsgValidateCriticalError;
4373 sReport += sSigPathName;
4374 sReport += " - Incorrect number of output channels.\n";
4376 }
4377
4378 icUInt8Number i;
4379 if (m_CurvesB) {
4380 for (i=0; i<nInput; i++) {
4381 if (m_CurvesB[i]) {
4382 rv = icMaxStatus(rv, m_CurvesB[i]->Validate(sigPath+icGetSigPath(GetType()), sReport, pProfile));
4383 }
4384 else {
4385 sReport += icMsgValidateCriticalError;
4386 sReport += sSigPathName;
4387 sReport += " - Incorrect number of B-curves.\n";
4389 }
4390 }
4391 }
4392
4393 if (m_CurvesM) {
4394 for (i=0; i<nInput; i++) {
4395 if (m_CurvesM[i]) {
4396 rv = icMaxStatus(rv, m_CurvesM[i]->Validate(sigPath+icGetSigPath(GetType()), sReport, pProfile));
4397 }
4398 else {
4399 sReport += icMsgValidateCriticalError;
4400 sReport += sSigPathName;
4401 sReport += " - Incorrect number of M-curves.\n";
4403 }
4404 }
4405 }
4406
4407 if (m_CurvesA) {
4408 if (!m_CLUT) {
4409 sReport += icMsgValidateNonCompliant;
4410 sReport += sSigPathName;
4411 sReport += " - CLUT must be present if using A-curves.\n";
4412
4414 }
4415
4416 for (i=0; i<nOutput; i++) {
4417 if (m_CurvesA[i]) {
4418 rv = icMaxStatus(rv, m_CurvesA[i]->Validate(sigPath+icGetSigPath(GetType()), sReport, pProfile));
4419 }
4420 else {
4421 sReport += icMsgValidateCriticalError;
4422 sReport += sSigPathName;
4423 sReport += " - Incorrect number of A-curves.\n";
4425 }
4426 }
4427
4428 }
4429
4430 break;
4431 }
4432 default:
4433 {
4434 }
4435 }
4436
4437
4438 return rv;
4439}
icArraySignature sig
icValidateStatus
Definition IccDefs.h:118
@ icValidateCriticalError
Definition IccDefs.h:122
@ icValidateNonCompliant
Definition IccDefs.h:121
icValidateStatus icMaxStatus(icValidateStatus s1, icValidateStatus s2)
Name: icMaxStatus.
Definition IccUtil.cpp:244
std::string icGetSigPath(icUInt32Number nSig)
Definition IccUtil.cpp:1191
const char * icMsgValidateWarning
Definition IccUtil.cpp:90
icUInt32Number icGetSpaceSamples(icColorSpaceSignature sig)
Definition IccUtil.cpp:1303
const char * icMsgValidateNonCompliant
Definition IccUtil.cpp:91
const char * icMsgValidateCriticalError
Definition IccUtil.cpp:92
icSignature icGetFirstSigPathSig(std::string sigPath)
Definition IccUtil.cpp:1201
unsigned int icUInt32Number
Type: Class.
Definition IccUtil.h:303
std::string GetSigPathName(std::string sigPath)
Definition IccUtil.cpp:1614
LPIccCurve * m_CurvesB
Definition IccTagLut.h:490
CIccCLUT * m_CLUT
Definition IccTagLut.h:487
LPIccCurve * m_CurvesM
Definition IccTagLut.h:489
icUInt8Number m_nOutput
Definition IccTagLut.h:481
virtual icValidateStatus Validate(std::string sigPath, std::string &sReport, const CIccProfile *pProfile=NULL)
Name: CIccMBB::Validate.
LPIccCurve * m_CurvesA
Definition IccTagLut.h:486
virtual icTagTypeSignature GetType() const
Function: GetType()
Definition IccTagLut.h:535
virtual icValidateStatus Validate(std::string sigPath, std::string &sReport, const CIccProfile *pProfile=NULL)
Name: CIccTagLutBtoA::Validate.
unsigned char icUInt8Number
Number definitions.
icUInt32Number icSignature
@ icSigBToA2Tag
@ icSigBToA1Tag
@ icSigBToA0Tag
@ icSigGamutTag

References CIccInfo::GetSigPathName(), GetType(), icGetFirstSigPathSig(), icGetSigPath(), icGetSpaceSamples(), icMaxStatus(), icMsgValidateCriticalError, icMsgValidateNonCompliant, icMsgValidateWarning, icSigBToA0Tag, icSigBToA1Tag, icSigBToA2Tag, icSigGamutTag, icValidateCriticalError, icValidateNonCompliant, CIccMBB::m_CLUT, CIccMBB::m_CurvesA, CIccMBB::m_CurvesB, CIccMBB::m_CurvesM, CIccMBB::m_nOutput, sig, CIccMBB::Validate(), and Validate().

Referenced by Validate().

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

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