Hoyt's FORK of DemoIccMAX 2.1.17.hoyt
Documentation for Hoyt's FORK of DemoIccMAX
Loading...
Searching...
No Matches
CIccSampledCalculatorCurveXml Class Reference
+ Inheritance diagram for CIccSampledCalculatorCurveXml:
+ Collaboration diagram for CIccSampledCalculatorCurveXml:

Public Member Functions

 CIccSampledCalculatorCurveXml (icFloatNumber first=0, icFloatNumber last=0)
 
bool ParseXml (xmlNode *pNode, std::string &parseStr)
 
bool ToXml (std::string &xml, std::string blanks)
 
- Public Member Functions inherited from CIccSampledCalculatorCurve
virtual icFloatNumber Apply (icFloatNumber v) const
 Name: CIccSampledCalculatorCurve::Apply.
 
virtual bool Begin (icElemInterp nInterp, CIccTagMultiProcessElement *pMPE)
 Name: CIccSampledCalculatorCurve::Begin.
 
 CIccSampledCalculatorCurve (const CIccSampledCalculatorCurve &ITPC)
 Name: CIccSampledCalculatorCurve::CIccSampledCalculatorCurve.
 
 CIccSampledCalculatorCurve (icFloatNumber first=0.0, icFloatNumber last=1.0)
 Name: CIccSampledCalculatorCurve::CIccSampledCalculatorCurve.
 
virtual void Describe (std::string &sDescription, int nVerboseness=100)
 Name: CIccSampledCalculatorCurve::Describe.
 
virtual const icCharGetClassName () const
 
icUInt16Number GetExtensionType ()
 
virtual icUInt32Number GetRecommendedSize ()
 
virtual icUInt32Number GetSize ()
 
virtual icCurveElemSignature GetType () const
 
virtual CIccCurveSetCurveNewCopy () const
 
CIccSampledCalculatorCurveoperator= (const CIccSampledCalculatorCurve &SampledCurve)
 Name: &CIccSampledCalculatorCurve::operator=.
 
virtual bool Read (icUInt32Number size, CIccIO *pIO)
 Name: CIccSampledCalculatorCurve::Read.
 
bool SetCalculator (CIccMpeCalculator *pCalc)
 Name: CIccSampledCalculatorCurve::SetCalculator Purpose: Sets calculator associated with the curve.
 
bool SetExtensionType (icUInt16Number nExtensionType)
 Name: CIccSampledCalculatorCurve::SetExtensionType.
 
void SetRange (icFloatNumber first=0.0f, icFloatNumber last=1.0f)
 Name: CIccSampledCalculatorCurve::SetRange.
 
virtual bool SetRecommendedSize (icUInt32Number nSize)
 Name: CIccSampledCalculatorCurve::SetRecommendedSize.
 
virtual bool SetSize (icUInt32Number nSize, bool bZeroAlloc=true)
 Name: CIccSampledCalculatorCurve::SetSize.
 
virtual icValidateStatus Validate (std::string sigPath, std::string &sReport, const CIccTagMultiProcessElement *pMPE=NULL, const CIccProfile *pProfile=NULL) const
 Name: CIccSampledCalculatorCurve::Validate.
 
virtual bool Write (CIccIO *pIO)
 Name: CIccSampledCalculatorCurve::Write.
 
virtual ~CIccSampledCalculatorCurve ()
 Name: CIccSampledCalculatorCurve::~CIccSampledCalculatorCurve.
 
- Public Member Functions inherited from CIccCurveSetCurve
virtual ~CIccCurveSetCurve ()
 

Additional Inherited Members

- Static Public Member Functions inherited from CIccCurveSetCurve
static CIccCurveSetCurveCreate (icCurveElemSignature sig)
 Name: CIccCurveSetCurve::Create.
 
- Protected Member Functions inherited from CIccSampledCalculatorCurve
icUInt16Number GetStorageType ()
 
bool SetStorageType (icUInt16Number nStorateType)
 
- Protected Attributes inherited from CIccSampledCalculatorCurve
icUInt16Number m_extensionType
 
icFloatNumber m_firstEntry
 
icFloatNumber m_hiIntercept
 
icFloatNumber m_hiSlope
 
icFloatNumber m_last
 
icFloatNumber m_lastEntry
 
icFloatNumber m_loIntercept
 
icFloatNumber m_loSlope
 
icUInt32Number m_nCount
 
icUInt32Number m_nDesiredSize
 
icUInt32Number m_nReserved
 
icUInt16Number m_nReserved2
 
CIccMpeCalculatorm_pCalc
 
icFloatNumberm_pSamples
 
icFloatNumber m_range
 
icUInt16Number m_storageType
 

Detailed Description

Definition at line 509 of file IccMpeXml.cpp.

Constructor & Destructor Documentation

◆ CIccSampledCalculatorCurveXml()

CIccSampledCalculatorCurveXml::CIccSampledCalculatorCurveXml ( icFloatNumber first = 0,
icFloatNumber last = 0 )
inline

Definition at line 512 of file IccMpeXml.cpp.

512: CIccSampledCalculatorCurve(first, last) {}
CIccSampledCalculatorCurve(icFloatNumber first=0.0, icFloatNumber last=1.0)
Name: CIccSampledCalculatorCurve::CIccSampledCalculatorCurve.

Member Function Documentation

◆ ParseXml()

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

Definition at line 555 of file IccMpeXml.cpp.

556{
557 xmlAttr *attr = icXmlFindAttr(pNode, "FirstEntry");
558
559 if (!attr) {
560 parseStr += "Bad FirstEntry in Sampled Calculator Curve\n";
561 return false;
562 }
563
565
566 attr = icXmlFindAttr(pNode, "LastEntry");
567
568 if (!attr) {
569 parseStr += "Bad LastEntry in Sampled Calculator Curve\n";
570 return false;
571 }
572
574
575 attr = icXmlFindAttr(pNode, "DesiredSize");
576
577 if (!attr) {
578 parseStr += "Bad DesiredSize in Sampled Calculator Curve\n";
579 return false;
580 }
581
583
584 xmlNode *pCalcNode = icXmlFindNode(pNode->children, "CalculatorElement");
585 if (pCalcNode) {
587
588 if (!pCalc->ParseXml(pCalcNode, parseStr)) {
589 parseStr += "Unable to parse calculator element in Sampled Calculator Curve\n";
590 return false;
591 }
592 m_pCalc = pCalc;
593 }
594 else {
595 parseStr += "Missing Calculator Element in Sampled Calculator Curve\n";
596 return false;
597 }
598
599 return true;
600}
float icFloatNumber
All floating point operations/variables in IccProfLib use the icFloatNumber data type.
Definition IccDefs.h:100
xmlAttr * icXmlFindAttr(xmlNode *pNode, const char *szAttrName)
xmlNode * icXmlFindNode(xmlNode *pNode, const char *szNodeName)
const char * icXmlAttrValue(xmlAttr *attr, const char *szDefault)
unsigned int icUInt32Number
virtual bool ParseXml(xmlNode *pNode, std::string &parseStr)
icUInt32Number m_nDesiredSize
CIccMpeCalculator * m_pCalc

References icXmlAttrValue(), icXmlFindAttr(), icXmlFindNode(), and CIccMpeXmlCalculator::ParseXml().

Referenced by ParseXmlCurve().

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

◆ ToXml()

bool CIccSampledCalculatorCurveXml::ToXml ( std::string & xml,
std::string blanks )

Definition at line 518 of file IccMpeXml.cpp.

519{
520 char line[256];
521
522 xml += blanks;
523 sprintf(line, "<SampledCalculatorCurve FirstEntry=\"" icXmlFloatFmt "\"", m_firstEntry);
524 xml += line;
525
526 sprintf(line, " LastEntry=\"" icXmlFloatFmt "\"", m_lastEntry);
527 xml += line;
528
529 sprintf(line, " ExtensionType=\"%u\"", m_extensionType);
530 xml += line;
531
532 sprintf(line, " DesiredSize=\"%u\">\n", m_nDesiredSize);
533 xml += line;
534
535 if (m_nReserved2) {
536 sprintf(line, " Reservered2=\"%u\">\n", m_nReserved2);
537 xml += line;
538 }
539
540 if (m_pCalc && !strcmp(m_pCalc->GetClassName(), "CIccMpeXmlCalculator")) {
542 if (!pXmlCalc->ToXml(xml, blanks + " "))
543 return false;
544 }
545 else {
546 return false;
547 }
548
549 xml += blanks + "</SampledCalculatorCurve>\n";
550
551 return true;
552}
#define icXmlFloatFmt
virtual const icChar * GetClassName() const
Definition IccMpeCalc.h:464
virtual bool ToXml(std::string &xml, std::string blanks="")
icUInt16Number m_extensionType
icUInt16Number m_nReserved2

References icXmlFloatFmt, and CIccMpeXmlCalculator::ToXml().

Referenced by ToXmlCurve().

+ 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 file: