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

#include <IccMpeXml.h>

+ Inheritance diagram for CIccMpeXmlJabToXYZ:
+ Collaboration diagram for CIccMpeXmlJabToXYZ:

Public Member Functions

virtual const char * GetClassName () const
 
virtual IIccExtensionMpeGetExtension ()
 
virtual bool ParseXml (xmlNode *pNode, std::string &parseStr)
 
virtual bool ToXml (std::string &xml, std::string blanks="")
 
virtual ~CIccMpeXmlJabToXYZ ()
 
- Public Member Functions inherited from CIccMpeJabToXYZ
virtual void Apply (CIccApplyMpe *pApply, icFloatNumber *dstPixel, const icFloatNumber *srcPixel) const
 
 CIccMpeJabToXYZ ()
 
 CIccMpeJabToXYZ (const CIccMpeJabToXYZ &cam)
 
virtual icElemTypeSignature GetType () const
 
virtual const icCharGetXformName () const
 
virtual CIccMultiProcessElementNewCopy () const
 
CIccMpeJabToXYZoperator= (const CIccMpeJabToXYZ &cam)
 
virtual ~CIccMpeJabToXYZ ()
 
- Public Member Functions inherited from CIccMpeCAM
virtual bool Begin (icElemInterp nInterp, CIccTagMultiProcessElement *pMPE)
 
virtual void Describe (std::string &sDescription, int nVerboseness)
 
CIccCamConverterGetCAM ()
 
virtual bool Read (icUInt32Number size, CIccIO *pIO)
 
void SetCAM (CIccCamConverter *pCAM)
 
virtual icValidateStatus Validate (std::string sigPath, std::string &sReport, const CIccTagMultiProcessElement *pMPE=NULL, const CIccProfile *pProfile=NULL) const
 Name: CIccProcessElement::Validate.
 
virtual bool Write (CIccIO *pIO)
 
virtual ~CIccMpeCAM ()
 
- Public Member Functions inherited from CIccMultiProcessElement
 CIccMultiProcessElement ()
 
virtual icAcsSignature GetBAcsSig ()
 
virtual icAcsSignature GetEAcsSig ()
 
virtual CIccApplyMpeGetNewApply (CIccApplyTagMpe *pApplyTag)
 Name: CIccMultiProcessElement::GetNewApply()
 
virtual bool IsAcs ()
 
virtual bool IsLateBinding () const
 
virtual bool IsLateBindingReflectance () const
 
virtual bool IsSupported ()
 
virtual icUInt16Number NumInputChannels () const
 
virtual icUInt16Number NumOutputChannels () const
 
virtual ~CIccMultiProcessElement ()
 
- Public Member Functions inherited from CIccMpeXml
virtual const char * GetExtClassName ()
 
virtual ~CIccMpeXml (void)
 

Additional Inherited Members

- Static Public Member Functions inherited from CIccMultiProcessElement
static CIccMultiProcessElementCreate (icElemTypeSignature sig)
 Name: CIccMultiProcessElement::Create.
 
- Public Attributes inherited from CIccMultiProcessElement
icUInt32Number m_nReserved
 
- Protected Member Functions inherited from CIccMpeCAM
 CIccMpeCAM ()
 
- Protected Attributes inherited from CIccMpeCAM
CIccCamConverterm_pCAM
 
- Protected Attributes inherited from CIccMultiProcessElement
icUInt16Number m_nInputChannels
 
icUInt16Number m_nOutputChannels
 

Detailed Description

Definition at line 231 of file IccMpeXml.h.

Constructor & Destructor Documentation

◆ ~CIccMpeXmlJabToXYZ()

virtual CIccMpeXmlJabToXYZ::~CIccMpeXmlJabToXYZ ( )
inlinevirtual

Definition at line 234 of file IccMpeXml.h.

234{}

Member Function Documentation

◆ GetClassName()

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

Reimplemented from CIccMpeJabToXYZ.

Definition at line 236 of file IccMpeXml.h.

236{ return "CIccMpeXmlJabToXYZ"; }

◆ GetExtension()

virtual IIccExtensionMpe * CIccMpeXmlJabToXYZ::GetExtension ( )
inlinevirtual

Reimplemented from CIccMultiProcessElement.

Definition at line 238 of file IccMpeXml.h.

238{ return this; }

◆ ParseXml()

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

Implements CIccMpeXml.

Definition at line 2179 of file IccMpeXml.cpp.

2180{
2181 m_nInputChannels = atoi(icXmlAttrValue(pNode, "InputChannels"));
2182 m_nOutputChannels = atoi(icXmlAttrValue(pNode, "OutputChannels"));
2183
2184 if (m_nInputChannels!=3 || m_nOutputChannels!=3) {
2185 parseStr += "Invalid InputChannels or OutputChannels In JabToXYZElement\n";
2186 return false;
2187 }
2188 xmlNode *pChild = icXmlFindNode(pNode->children, "ColorAppearanceParams");
2189
2190 if (pChild) {
2191 CIccCamConverter *pCAM = new CIccCamConverter();
2192
2193 if (!icXmlParseColorAppearanceParams(pChild->children, parseStr, pCAM)) {
2194 delete pCAM;
2195 return false;
2196 }
2197
2198 SetCAM(pCAM);
2199 }
2200 else {
2201 parseStr += "Unable to find ColorAppearanceParams\n";
2202 return false;
2203 }
2204
2205 return true;
2206}
static bool icXmlParseColorAppearanceParams(xmlNode *pNode, std::string &parseStr, CIccCamConverter *pCam)
xmlNode * icXmlFindNode(xmlNode *pNode, const char *szNodeName)
const char * icXmlAttrValue(xmlAttr *attr, const char *szDefault)
void SetCAM(CIccCamConverter *pCAM)
icUInt16Number m_nOutputChannels
Definition IccTagMPE.h:192
icUInt16Number m_nInputChannels
Definition IccTagMPE.h:191

References icXmlAttrValue(), icXmlFindNode(), and icXmlParseColorAppearanceParams().

+ Here is the call graph for this function:

◆ ToXml()

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

Implements CIccMpeXml.

Definition at line 2157 of file IccMpeXml.cpp.

2158{
2159 char line[256];
2160
2161 sprintf(line, "<JabToXYZElement InputChannels=\"%d\" OutputChannels=\"%d\"" , NumInputChannels(), NumOutputChannels());
2162 xml += blanks + line;
2163
2164 if (m_nReserved) {
2165 sprintf(line, " Reserved=\"%u\"", m_nReserved);
2166 xml += line;
2167 }
2168 xml += ">\n";
2169
2170 if (m_pCAM) {
2171 icXmlDumpColorAppearanceParams(xml, blanks+" ", m_pCAM);
2172 xml += blanks + "</JabToXYZElement>\n";
2173 }
2174
2175 return true;
2176}
static bool icXmlDumpColorAppearanceParams(std::string &xml, std::string blanks, CIccCamConverter *pCam)
CIccCamConverter * m_pCAM
virtual icUInt16Number NumInputChannels() const
Definition IccTagMPE.h:159
virtual icUInt16Number NumOutputChannels() const
Definition IccTagMPE.h:160
icUInt32Number m_nReserved
Definition IccTagMPE.h:188

References icXmlDumpColorAppearanceParams().

+ Here is the call graph for this function:

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