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

Class: CIccTagViewingConditions. More...

#include <IccTagBasic.h>

+ Inheritance diagram for CIccTagViewingConditions:
+ Collaboration diagram for CIccTagViewingConditions:

Public Member Functions

 CIccTagViewingConditions ()
 Name: CIccTagViewingConditions::CIccTagViewingConditions.
 
 CIccTagViewingConditions (const CIccTagViewingConditions &ITVC)
 Name: CIccTagViewingConditions::CIccTagViewingConditions.
 
virtual void Describe (std::string &sDescription, int nVerboseness)
 Name: CIccTagViewingConditions::Describe.
 
virtual const icCharGetClassName () const
 
virtual icTagTypeSignature GetType () const
 Function: GetType()
 
virtual CIccTagNewCopy () const
 Function: NewCopy(sDescription) Each derived tag will implement it's own NewCopy() function.
 
CIccTagViewingConditionsoperator= (const CIccTagViewingConditions &ViewCondTag)
 Name: CIccTagViewingConditions::operator=.
 
virtual bool Read (icUInt32Number size, CIccIO *pIO)
 Name: CIccTagViewingConditions::Read.
 
virtual icValidateStatus Validate (std::string sigPath, std::string &sReport, const CIccProfile *pProfile=NULL) const
 Name: CIccTagViewingConditions::Validate.
 
virtual bool Write (CIccIO *pIO)
 Name: CIccTagViewingConditions::Write.
 
virtual ~CIccTagViewingConditions ()
 Name: CIccTagViewingConditions::~CIccTagViewingConditions.
 
- Public Member Functions inherited from CIccTag
 CIccTag ()
 Name: CIccTag::CIccTag.
 
virtual void DetachIO ()
 Function: ReadAll() - Read All sub data for tag from file.
 
virtual IIccExtensionTagGetExtension ()
 
virtual icArraySignature GetTagArrayType () const
 
virtual icStructSignature GetTagStructType () const
 
virtual bool IsArrayType ()
 
virtual bool IsMBBType ()
 
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 ~CIccTag ()
 Name: CIccTag::CIccTag.
 

Public Attributes

icIlluminant m_illumType
 
icXYZNumber m_XYZIllum
 
icXYZNumber m_XYZSurround
 
- Public Attributes inherited from CIccTag
icUInt32Number m_nReserved
 

Additional Inherited Members

- Static Public Member Functions inherited from CIccTag
static CIccTagCreate (icTagTypeSignature sig)
 Name: CIccTag::Create.
 

Detailed Description

Class: CIccTagViewingConditions.

Purpose: Viewing conditions tag type

Definition at line 1425 of file IccTagBasic.h.

Constructor & Destructor Documentation

◆ CIccTagViewingConditions() [1/2]

CIccTagViewingConditions::CIccTagViewingConditions ( )

Name: CIccTagViewingConditions::CIccTagViewingConditions.

Purpose: Constructor

Definition at line 8884 of file IccTagBasic.cpp.

8885{
8886 m_XYZIllum.X = 0;
8887 m_XYZIllum.Y = 0;
8888 m_XYZIllum.Z = 0;
8889
8890 m_XYZSurround.X = 0;
8891 m_XYZSurround.Y = 0;
8892 m_XYZSurround.Z = 0;
8893
8895}
@ icIlluminantUnknown
icS15Fixed16Number Y
icS15Fixed16Number Z
icS15Fixed16Number X

References icIlluminantUnknown.

◆ CIccTagViewingConditions() [2/2]

CIccTagViewingConditions::CIccTagViewingConditions ( const CIccTagViewingConditions & ITVC)

Name: CIccTagViewingConditions::CIccTagViewingConditions.

Purpose: Copy Constructor

Args: ITVC = The CIccTagViewingConditions object to be copied

Definition at line 8908 of file IccTagBasic.cpp.

8909{
8910 m_illumType = ITVC.m_illumType;
8911
8912 memcpy(&m_XYZIllum, &ITVC.m_XYZIllum, sizeof(icXYZNumber));
8913 memcpy(&m_XYZSurround, &ITVC.m_XYZSurround, sizeof(icXYZNumber));
8914}

References m_illumType, m_XYZIllum, and m_XYZSurround.

◆ ~CIccTagViewingConditions()

CIccTagViewingConditions::~CIccTagViewingConditions ( )
virtual

Name: CIccTagViewingConditions::~CIccTagViewingConditions.

Purpose: Destructor

Definition at line 8949 of file IccTagBasic.cpp.

8950{
8951}

Member Function Documentation

◆ Describe()

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

Name: CIccTagViewingConditions::Describe.

Purpose: Dump data associated with the tag to a string

Args: sDescription - string to concatenate tag dump to

Reimplemented from CIccTag.

Definition at line 9049 of file IccTagBasic.cpp.

9050{
9051 icChar buf[128];
9052 CIccInfo Fmt;
9053
9054 sprintf(buf, "Illuminant Tristimulus values: X = %.4lf, Y = %.4lf, Z = %.4lf\n",
9058 sDescription += buf;
9059
9060 sprintf(buf, "Surround Tristimulus values: X = %.4lf, Y = %.4lf, Z = %.4lf\n",
9064 sDescription += buf;
9065
9066 sDescription += "Illuminant Type: ";
9067
9068 sDescription += Fmt.GetIlluminantName(m_illumType);
9069 sDescription += "\n";
9070
9071}
char icChar
Definition IccDefs.h:109
icFloatNumber icFtoD(icS15Fixed16Number num)
Definition IccUtil.cpp:559
Type: Class.
Definition IccUtil.h:303
const icChar * GetIlluminantName(icIlluminant val)
Definition IccUtil.cpp:2169

References CIccInfo::GetIlluminantName(), and icFtoD().

+ Here is the call graph for this function:

◆ GetClassName()

virtual const icChar * CIccTagViewingConditions::GetClassName ( ) const
inlinevirtual

Reimplemented from CIccTag.

Reimplemented in CIccTagXmlViewingConditions.

Definition at line 1435 of file IccTagBasic.h.

1435{ return "CIccTagViewingConditions"; }

◆ GetType()

virtual icTagTypeSignature CIccTagViewingConditions::GetType ( ) const
inlinevirtual

Function: GetType()

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

Reimplemented from CIccTag.

Definition at line 1434 of file IccTagBasic.h.

@ icSigViewingConditionsType

References icSigViewingConditionsType.

◆ NewCopy()

virtual CIccTag * CIccTagViewingConditions::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 CIccTag.

Definition at line 1431 of file IccTagBasic.h.

1431{return new CIccTagViewingConditions(*this);}
CIccTagViewingConditions()
Name: CIccTagViewingConditions::CIccTagViewingConditions.

◆ operator=()

CIccTagViewingConditions & CIccTagViewingConditions::operator= ( const CIccTagViewingConditions & ViewCondTag)

Name: CIccTagViewingConditions::operator=.

Purpose: Copy Operator

Args: ViewCondTag = The CIccTagViewingConditions object to be copied

Definition at line 8927 of file IccTagBasic.cpp.

8928{
8929 if (&ViewCondTag == this)
8930 return *this;
8931
8932 m_illumType = ViewCondTag.m_illumType;
8933
8934 memcpy(&m_XYZIllum, &ViewCondTag.m_XYZIllum, sizeof(icXYZNumber));
8935 memcpy(&m_XYZSurround, &ViewCondTag.m_XYZSurround, sizeof(icXYZNumber));
8936
8937 return *this;
8938}

References m_illumType, m_XYZIllum, and m_XYZSurround.

◆ Read()

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

Name: CIccTagViewingConditions::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

Reimplemented from CIccTag.

Definition at line 8968 of file IccTagBasic.cpp.

8969{
8971
8972 if (sizeof(icTagTypeSignature) +
8973 2*sizeof(icUInt32Number) +
8974 2*sizeof(icXYZNumber) > size)
8975 return false;
8976
8977 if (!pIO) {
8978 return false;
8979 }
8980
8981 if (!pIO->Read32(&sig))
8982 return false;
8983
8984 if (!pIO->Read32(&m_nReserved))
8985 return false;
8986
8987 if (pIO->Read32(&m_XYZIllum.X, 3) != 3)
8988 return false;
8989
8990 if (pIO->Read32(&m_XYZSurround.X, 3) != 3)
8991 return false;
8992
8993 if (!pIO->Read32(&m_illumType))
8994 return false;
8995
8996 return true;
8997}
icArraySignature sig
icTagTypeSignature
unsigned int icUInt32Number
icInt32Number Read32(void *pBuf32, icInt32Number nNum=1)
Definition IccIO.cpp:143
icUInt32Number m_nReserved

References CIccIO::Read32(), and sig.

+ Here is the call graph for this function:

◆ Validate()

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

Name: CIccTagViewingConditions::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 CIccTag.

Definition at line 9088 of file IccTagBasic.cpp.

9089{
9090 icValidateStatus rv = CIccTag::Validate(sigPath, sReport, pProfile);
9091
9092 CIccInfo Info;
9093 std::string sSigPathName = Info.GetSigPathName(sigPath);
9094
9095 rv = icMaxStatus(rv, Info.CheckData(sReport, m_XYZIllum, "XYZ Illuminant"));
9096 rv = icMaxStatus(rv, Info.CheckData(sReport, m_XYZSurround, "XYZ Surround"));
9097
9098 return rv;
9099}
icValidateStatus
Definition IccDefs.h:118
icValidateStatus icMaxStatus(icValidateStatus s1, icValidateStatus s2)
Name: icMaxStatus.
Definition IccUtil.cpp:244
std::string GetSigPathName(std::string sigPath)
Definition IccUtil.cpp:1614
icValidateStatus CheckData(std::string &sReport, const icDateTimeNumber &dateTime, std::string sDesc="")
Definition IccUtil.cpp:2414
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.

References CIccInfo::CheckData(), CIccInfo::GetSigPathName(), icMaxStatus(), and CIccTag::Validate().

+ Here is the call graph for this function:

◆ Write()

bool CIccTagViewingConditions::Write ( CIccIO * pIO)
virtual

Name: CIccTagViewingConditions::Write.

Purpose: Write the tag to a file

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

Return: true = succesful, false = failure

Reimplemented from CIccTag.

Definition at line 9013 of file IccTagBasic.cpp.

9014{
9016
9017 if (!pIO)
9018 return false;
9019
9020 if (!pIO->Write32(&sig))
9021 return false;
9022
9023 if (!pIO->Write32(&m_nReserved))
9024 return false;
9025
9026 if (pIO->Write32(&m_XYZIllum.X, 3) !=3)
9027 return false;
9028
9029 if (pIO->Write32(&m_XYZSurround.X, 3) !=3)
9030 return false;
9031
9032 if (!pIO->Write32(&m_illumType))
9033 return false;
9034
9035 return true;
9036}
icInt32Number Write32(void *pBuf32, icInt32Number nNum=1)
Definition IccIO.cpp:152
virtual icTagTypeSignature GetType() const
Function: GetType()

References sig, and CIccIO::Write32().

+ Here is the call graph for this function:

Member Data Documentation

◆ m_illumType

icIlluminant CIccTagViewingConditions::m_illumType

Definition at line 1445 of file IccTagBasic.h.

Referenced by CIccTagViewingConditions(), and operator=().

◆ m_XYZIllum

icXYZNumber CIccTagViewingConditions::m_XYZIllum

Definition at line 1443 of file IccTagBasic.h.

Referenced by CIccTagViewingConditions(), and operator=().

◆ m_XYZSurround

icXYZNumber CIccTagViewingConditions::m_XYZSurround

Definition at line 1444 of file IccTagBasic.h.

Referenced by CIccTagViewingConditions(), and operator=().


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