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

Type: Class. More...

#include <IccPcc.h>

+ Inheritance diagram for CIccCombinedConnectionConditions:
+ Collaboration diagram for CIccCombinedConnectionConditions:

Public Member Functions

 CIccCombinedConnectionConditions (CIccProfile *pProfile, IIccProfileConnectionConditions *pAppliedPCC, bool bReflectance=false)
 
virtual CIccTagMultiProcessElementgetCustomToStandardPcc ()
 
virtual void getLumIlluminantXYZ (icFloatNumber *pXYZLum)
 
virtual bool getMediaWhiteXYZ (icFloatNumber *pXYZ)
 
virtual void getNormIlluminantXYZ (icFloatNumber *pXYZ)
 
virtual const CIccTagSpectralViewingConditionsgetPccViewingConditions ()
 
virtual CIccTagMultiProcessElementgetStandardToCustomPcc ()
 
virtual ~CIccCombinedConnectionConditions ()
 
- Public Member Functions inherited from IIccProfileConnectionConditions
icFloatNumbergetEmissiveObserver (const icSpectralRange &range, const icFloatNumber *pWhite, icFloatNumber *obsMatrix=NULL)
 
icFloatNumber getObserverIlluminantScaleFactor ()
 
icFloatNumber getObserverWhiteScaleFactor (const icFloatNumber *pWhite, const icSpectralRange &whiteRange)
 
icFloatNumber getPccCCT ()
 
icIlluminant getPccIlluminant ()
 
icStandardObserver getPccObserver ()
 
CIccMatrixMathgetReflectanceObserver (const icSpectralRange &rangeRef)
 
bool hasIlluminantSPD ()
 
bool isEquivalentPcc (IIccProfileConnectionConditions &IPCC)
 
bool isStandardPcc ()
 
virtual ~IIccProfileConnectionConditions ()
 

Protected Attributes

bool m_bValidIllumXYZ
 
bool m_bValidMediaXYZ
 
icFloatNumber m_illuminantXYZ [3]
 
icFloatNumber m_illuminantXYZLum [3]
 
icFloatNumber m_mediaXYZ [3]
 
IIccProfileConnectionConditionsm_pPCC
 
CIccTagSpectralViewingConditionsm_pViewingConditions
 

Detailed Description

Type: Class.

Purpose: Class used for defining combined connection conditions where the viewing conditions are the combined result of information from the profile and external connection conditions based on whether reflectance or emission is used.

Definition at line 134 of file IccPcc.h.

Constructor & Destructor Documentation

◆ CIccCombinedConnectionConditions()

CIccCombinedConnectionConditions::CIccCombinedConnectionConditions ( CIccProfile * pProfile,
IIccProfileConnectionConditions * pAppliedPCC,
bool bReflectance = false )

Definition at line 313 of file IccPcc.cpp.

316{
317 if (pAppliedPCC) {
318 const CIccTagSpectralViewingConditions *pView = pAppliedPCC->getPccViewingConditions();
319 if (bReflectance) {
320 m_pPCC = pAppliedPCC;
322
329 m_bValidMediaXYZ = pProfile->calcMediaWhiteXYZ(m_mediaXYZ, pAppliedPCC);
330 }
331 else {
332 m_pPCC = NULL;
334
335 icSpectralRange illumRange;
336 const icFloatNumber *illum = pView->getIlluminant(illumRange);
337
338 m_pViewingConditions->setIlluminant(pView->getStdIllumiant(), illumRange, illum, pView->getIlluminantCCT());
339
340 pProfile->calcNormIlluminantXYZ(m_illuminantXYZ, this);
341 pProfile->calcLumIlluminantXYZ(m_illuminantXYZLum, this);
342 m_bValidMediaXYZ = pProfile->calcMediaWhiteXYZ(m_mediaXYZ, this);
343 }
344 }
345 else {
346 m_pPCC = NULL;
348 m_bValidMediaXYZ = false;
349 }
350}
float icFloatNumber
All floating point operations/variables in IccProfLib use the icFloatNumber data type.
Definition IccDefs.h:100
CIccTagSpectralViewingConditions * m_pViewingConditions
Definition IccPcc.h:149
icFloatNumber m_illuminantXYZLum[3]
Definition IccPcc.h:151
IIccProfileConnectionConditions * m_pPCC
Definition IccPcc.h:153
icFloatNumber m_mediaXYZ[3]
Definition IccPcc.h:152
icFloatNumber m_illuminantXYZ[3]
Definition IccPcc.h:150
Class: CIccTagSpectralViewingConditions.
icFloatNumber getIlluminantCCT() const
virtual CIccTag * NewCopy() const
Function: NewCopy(sDescription) Each derived tag will implement it's own NewCopy() function.
icIlluminant getStdIllumiant() const
const icFloatNumber * getIlluminant(icSpectralRange &illumRange) const
bool setIlluminant(icIlluminant illumId, const icSpectralRange &illumRange, const icFloatNumber *illum, icFloatNumber illumCCT=0.0f)
virtual const CIccTagSpectralViewingConditions * getPccViewingConditions()=0
icFloat32Number Z
icFloat32Number Y
icFloat32Number X
spectral range

References CIccTagSpectralViewingConditions::getIlluminant(), CIccTagSpectralViewingConditions::getIlluminantCCT(), IIccProfileConnectionConditions::getPccViewingConditions(), CIccTagSpectralViewingConditions::getStdIllumiant(), m_bValidMediaXYZ, m_illuminantXYZ, CIccTagSpectralViewingConditions::m_illuminantXYZ, m_illuminantXYZLum, m_mediaXYZ, m_pPCC, m_pViewingConditions, CIccTagSpectralViewingConditions::NewCopy(), CIccTagSpectralViewingConditions::setIlluminant(), icFloatXYZNumber::X, icFloatXYZNumber::Y, and icFloatXYZNumber::Z.

+ Here is the call graph for this function:

◆ ~CIccCombinedConnectionConditions()

CIccCombinedConnectionConditions::~CIccCombinedConnectionConditions ( )
virtual

Definition at line 352 of file IccPcc.cpp.

353{
356}

References m_pViewingConditions.

Member Function Documentation

◆ getCustomToStandardPcc()

CIccTagMultiProcessElement * CIccCombinedConnectionConditions::getCustomToStandardPcc ( )
virtual

Implements IIccProfileConnectionConditions.

Definition at line 367 of file IccPcc.cpp.

368{
369 if (m_pPCC)
371 return NULL;
372}
virtual CIccTagMultiProcessElement * getCustomToStandardPcc()=0

References IIccProfileConnectionConditions::getCustomToStandardPcc(), and m_pPCC.

+ Here is the call graph for this function:

◆ getLumIlluminantXYZ()

void CIccCombinedConnectionConditions::getLumIlluminantXYZ ( icFloatNumber * pXYZLum)
virtual

Implements IIccProfileConnectionConditions.

Definition at line 386 of file IccPcc.cpp.

387{
388 memcpy(pXYZLum, m_illuminantXYZLum, 3 * sizeof(icFloatNumber));
389}

References m_illuminantXYZLum.

◆ getMediaWhiteXYZ()

bool CIccCombinedConnectionConditions::getMediaWhiteXYZ ( icFloatNumber * pXYZ)
virtual

Implements IIccProfileConnectionConditions.

Definition at line 391 of file IccPcc.cpp.

392{
394 memcpy(pXYZ, m_mediaXYZ, 3*sizeof(icFloatNumber));
395 return m_bValidMediaXYZ;
396 }
397 return false;
398}

References m_bValidMediaXYZ, m_mediaXYZ, m_pPCC, and m_pViewingConditions.

◆ getNormIlluminantXYZ()

void CIccCombinedConnectionConditions::getNormIlluminantXYZ ( icFloatNumber * pXYZ)
virtual

Implements IIccProfileConnectionConditions.

Definition at line 381 of file IccPcc.cpp.

382{
383 memcpy(pXYZ, m_illuminantXYZ, 3*sizeof(icFloatNumber));
384}

References m_illuminantXYZ.

◆ getPccViewingConditions()

const CIccTagSpectralViewingConditions * CIccCombinedConnectionConditions::getPccViewingConditions ( )
virtual

Implements IIccProfileConnectionConditions.

Definition at line 358 of file IccPcc.cpp.

359{
362 if (m_pPCC)
364 return NULL;
365}

References IIccProfileConnectionConditions::getPccViewingConditions(), m_pPCC, and m_pViewingConditions.

+ Here is the call graph for this function:

◆ getStandardToCustomPcc()

CIccTagMultiProcessElement * CIccCombinedConnectionConditions::getStandardToCustomPcc ( )
virtual

Implements IIccProfileConnectionConditions.

Definition at line 374 of file IccPcc.cpp.

375{
376 if (m_pPCC)
378 return NULL;
379}
virtual CIccTagMultiProcessElement * getStandardToCustomPcc()=0

References IIccProfileConnectionConditions::getStandardToCustomPcc(), and m_pPCC.

+ Here is the call graph for this function:

Member Data Documentation

◆ m_bValidIllumXYZ

bool CIccCombinedConnectionConditions::m_bValidIllumXYZ
protected

Definition at line 155 of file IccPcc.h.

◆ m_bValidMediaXYZ

bool CIccCombinedConnectionConditions::m_bValidMediaXYZ
protected

Definition at line 154 of file IccPcc.h.

Referenced by CIccCombinedConnectionConditions(), and getMediaWhiteXYZ().

◆ m_illuminantXYZ

icFloatNumber CIccCombinedConnectionConditions::m_illuminantXYZ[3]
protected

Definition at line 150 of file IccPcc.h.

Referenced by CIccCombinedConnectionConditions(), and getNormIlluminantXYZ().

◆ m_illuminantXYZLum

icFloatNumber CIccCombinedConnectionConditions::m_illuminantXYZLum[3]
protected

Definition at line 151 of file IccPcc.h.

Referenced by CIccCombinedConnectionConditions(), and getLumIlluminantXYZ().

◆ m_mediaXYZ

icFloatNumber CIccCombinedConnectionConditions::m_mediaXYZ[3]
protected

Definition at line 152 of file IccPcc.h.

Referenced by CIccCombinedConnectionConditions(), and getMediaWhiteXYZ().

◆ m_pPCC

IIccProfileConnectionConditions* CIccCombinedConnectionConditions::m_pPCC
protected

◆ m_pViewingConditions

CIccTagSpectralViewingConditions* CIccCombinedConnectionConditions::m_pViewingConditions
protected

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