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

#include <IccTagXml.h>

+ Inheritance diagram for CIccTagXmlSpectralDataInfo:
+ Collaboration diagram for CIccTagXmlSpectralDataInfo:

Public Member Functions

virtual const char * GetClassName () const
 
virtual IIccExtensionTagGetExtension ()
 
virtual bool ParseXml (xmlNode *pNode, std::string &parseStr)
 
virtual bool ToXml (std::string &xml, std::string blanks="")
 
virtual ~CIccTagXmlSpectralDataInfo ()
 
- Public Member Functions inherited from CIccTagSpectralDataInfo
 CIccTagSpectralDataInfo ()
 Name: CIccTagSpectralDataInfo::CIccTagSpectralDataInfo.
 
 CIccTagSpectralDataInfo (const CIccTagSpectralDataInfo &ITRCS)
 Name: CIccTagSpectralDataInfo::CIccTagSpectralDataInfo.
 
virtual void Describe (std::string &sDescription, int nVerboseness)
 Name: CIccTagSpectralDataInfo::Describe.
 
virtual icTagTypeSignature GetType () const
 Function: GetType()
 
virtual CIccTagNewCopy () const
 Function: NewCopy(sDescription) Each derived tag will implement it's own NewCopy() function.
 
CIccTagSpectralDataInfooperator= (const CIccTagSpectralDataInfo &RespCurveSet16Tag)
 Name: CIccTagSpectralDataInfo::operator=.
 
virtual bool Read (icUInt32Number size, CIccIO *pIO)
 Name: CIccTagSpectralDataInfo::Read.
 
virtual icValidateStatus Validate (std::string sigPath, std::string &sReport, const CIccProfile *pProfile=NULL) const
 Name: CIccTagSpectralDataInfo::Validate.
 
virtual bool Write (CIccIO *pIO)
 Name: CIccTagSpectralDataInfo::Write.
 
virtual ~CIccTagSpectralDataInfo ()
 Name: CIccTagSpectralDataInfo::~CIccTagSpectralDataInfo.
 
- Public Member Functions inherited from CIccTag
 CIccTag ()
 Name: CIccTag::CIccTag.
 
virtual void DetachIO ()
 Function: ReadAll() - Read All sub data for tag from file.
 
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 Member Functions inherited from CIccTagXml
virtual const char * GetExtClassName () const
 
virtual const char * GetExtDerivedClassName () const
 
virtual ~CIccTagXml (void)
 

Additional Inherited Members

- Static Public Member Functions inherited from CIccTag
static CIccTagCreate (icTagTypeSignature sig)
 Name: CIccTag::Create.
 
- Public Attributes inherited from CIccTagSpectralDataInfo
icSpectralRange m_biSpectralRange
 
icSignature m_nSig
 
icSpectralRange m_spectralRange
 
- Public Attributes inherited from CIccTag
icUInt32Number m_nReserved
 

Detailed Description

Definition at line 435 of file IccTagXml.h.

Constructor & Destructor Documentation

◆ ~CIccTagXmlSpectralDataInfo()

virtual CIccTagXmlSpectralDataInfo::~CIccTagXmlSpectralDataInfo ( )
inlinevirtual

Definition at line 438 of file IccTagXml.h.

438{}

Member Function Documentation

◆ GetClassName()

virtual const char * CIccTagXmlSpectralDataInfo::GetClassName ( ) const
inlinevirtual

Reimplemented from CIccTagSpectralDataInfo.

Definition at line 440 of file IccTagXml.h.

440{return "CIccTagXmlSpectralDataInfo"; }

◆ GetExtension()

virtual IIccExtensionTag * CIccTagXmlSpectralDataInfo::GetExtension ( )
inlinevirtual

Reimplemented from CIccTag.

Definition at line 442 of file IccTagXml.h.

442{return this; }

◆ ParseXml()

bool CIccTagXmlSpectralDataInfo::ParseXml ( xmlNode * pNode,
std::string & parseStr )
virtual

Implements CIccTagXml.

Definition at line 617 of file IccTagXml.cpp.

618{
619 xmlNode *pChild;
620
621 if (!(pChild = icXmlFindNode(pNode, "SpectralSpace"))) {
622 parseStr += "No SpectralSpace section found\n";
623 return false;
624 }
625 m_nSig = icGetSigVal(pChild->children ? (const icChar*)pChild->children->content : "");
626
627 if (!(pChild = icXmlFindNode(pNode, "SpectralRange"))) {
628 parseStr += "No SpectralRange section found\n";
629 return false;
630 }
631
632 if (!(pChild = icXmlFindNode(pChild->children, "Wavelengths"))) {
633 parseStr += "SpectralRange missing Wavelengths\n";
634 return false;
635 }
636
639 m_spectralRange.steps = (icUInt16Number)atoi(icXmlAttrValue(pChild, "steps"));
640
641 pChild = icXmlFindNode(pNode, "BiSpectralRange");
642
643 if (pChild) {
644 if ((pChild = icXmlFindNode(pChild->children, "Wavelengths"))) {
647 m_biSpectralRange.steps = (icUInt16Number)atoi(icXmlAttrValue(pChild, "steps"));
648 }
649 }
650
651 return true;
652}
char icChar
Definition IccDefs.h:109
icFloat16Number icFtoF16(icFloat32Number num)
Definition IccUtil.cpp:673
icUInt32Number icGetSigVal(const icChar *pBuf)
Definition IccUtil.cpp:1258
xmlNode * icXmlFindNode(xmlNode *pNode, const char *szNodeName)
const char * icXmlAttrValue(xmlAttr *attr, const char *szDefault)
icSpectralRange m_biSpectralRange
icSpectralRange m_spectralRange
unsigned short icUInt16Number
icUInt16Number steps
icFloat16Number start
icFloat16Number end

References icFtoF16(), icGetSigVal(), icXmlAttrValue(), and icXmlFindNode().

+ Here is the call graph for this function:

◆ ToXml()

bool CIccTagXmlSpectralDataInfo::ToXml ( std::string & xml,
std::string blanks = "" )
virtual

Implements CIccTagXml.

Definition at line 592 of file IccTagXml.cpp.

593{
594 char fix[40];
595 char line[256];
596 char buf[40];
597
598 sprintf(line, "<SpectralSpace>%s</SpectralSpace>\n", icFixXml(fix, icGetColorSigStr(buf, m_nSig)));
599 xml += blanks + line;
600
601 xml += blanks + "<SpectralRange>\n";
602 sprintf(line, " <Wavelengths start=\"" icXmlHalfFmt "\" end=\"" icXmlHalfFmt "\" steps=\"%d\"/>\n", icF16toF(m_spectralRange.start), icF16toF(m_spectralRange.end), m_spectralRange.steps);
603 xml += blanks + line;
604 xml += blanks + "</SpectralRange>\n";
605
607 xml +=blanks + "<BiSpectralRange>\n";
608 sprintf(line, " <Wavelengths start=\"" icXmlHalfFmt "\" end=\"" icXmlHalfFmt "\" steps=\"%d\"/>\n", icF16toF(m_biSpectralRange.start), icF16toF(m_biSpectralRange.end), m_biSpectralRange.steps);
609 xml += blanks + line;
610 xml += blanks + "</BiSpectralRange>\n";
611 }
612
613 return true;
614}
const icChar * icGetColorSigStr(icChar *pBuf, icUInt32Number nSig)
Definition IccUtil.cpp:1139
icFloatNumber icF16toF(icFloat16Number num)
Definition IccUtil.cpp:629
const char * icFixXml(std::string &buf, const char *szStr)
#define icXmlHalfFmt

References icF16toF(), icFixXml(), icGetColorSigStr(), and icXmlHalfFmt.

+ Here is the call graph for this function:

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