IccMAX 2.1.27
Color Profile Tools
Loading...
Searching...
No Matches
CIccStructBRDF Class Reference

#include <IccStructBasic.h>

+ Inheritance diagram for CIccStructBRDF:
+ Collaboration diagram for CIccStructBRDF:

Public Member Functions

 CIccStructBRDF (CIccTagStruct *pTagStruct=NULL)
 
virtual ~CIccStructBRDF ()
 
virtual void Describe (std::string &sDescription, int nVerboseness) const
 
virtual icSigBRDFFunction GetBRDFFunction () const
 
virtual icSigBRDFType GetBRDFType () const
 
virtual const icCharGetClassName () const
 
virtual const icCharGetDisplayName () const
 
CIccTagGetElem (icSignature sigElem) const
 
virtual std::string GetElemName (icSignature sigElem) const
 
virtual icSignature GetElemSig (const icChar *szElemName) const
 
CIccTagStructGetTagStruct ()
 
virtual IIccStructNewCopy (CIccTagStruct *pNewTagStruct) const
 
virtual icValidateStatus Validate (std::string sigPath, std::string &sReport, const CIccProfile *pProfile=NULL) const
 

Protected Member Functions

TagEntryList * getTagEntries () const
 

Protected Attributes

SIccElemNameSigm_pElemNameSigTable
 
CIccTagStructm_pTagStruct
 

Detailed Description

Class: CIccStructBRDF

Purpose: The BRDF struct handler

Constructor & Destructor Documentation

◆ CIccStructBRDF()

CIccStructBRDF::CIccStructBRDF ( CIccTagStruct pTagStruct = NULL)
214{
215 m_pTagStruct = pTagStruct;
217}
static SIccElemNameSig g_IccStructBRDFMbrTable[]
Definition IccStructBasic.cpp:205
SIccElemNameSig * m_pElemNameSigTable
Definition IccStructBasic.h:115
CIccTagStruct * m_pTagStruct
Definition IccTagComposite.h:118

References g_IccStructBRDFMbrTable, CIccStructUnknown::m_pElemNameSigTable, and IIccStruct::m_pTagStruct.

Referenced by CIccBasicStructFactory::CreateStruct(), and NewCopy().

+ Here is the caller graph for this function:

◆ ~CIccStructBRDF()

CIccStructBRDF::~CIccStructBRDF ( )
virtual
221{
222
223}

Member Function Documentation

◆ Describe()

void CIccStructUnknown::Describe ( std::string &  sDescription,
int  nVerboseness 
) const
virtualinherited

Reimplemented from IIccStruct.

116{
117 char buf[256];
118 CIccInfo info;
119 int n;
120
121 if (m_pTagStruct) {
122 TagEntryList *entries = m_pTagStruct->GetElemList();
123 TagEntryList::iterator i;
124
125 for (n=0, i=entries->begin(); i!=entries->end(); n++, i++) {
126 if (i->pTag) {
127 if (n)
128 sDescription += "\n";
129 sprintf(buf, "Begin SubTag(%s)\n", GetElemName(i->TagInfo.sig).c_str());
130 sDescription += buf;
131 i->pTag->Describe(sDescription, nVerboseness);
132 sprintf(buf, "End SubTag(%s)\n", GetElemName(i->TagInfo.sig).c_str());
133 sDescription += buf;
134 }
135 }
136 }
137}
virtual std::string GetElemName(icSignature sigElem) const
Definition IccStructBasic.cpp:140
Definition IccUtil.h:303
TagEntryList * GetElemList()
Definition IccTagComposite.h:181

References CIccTag::Describe(), CIccTagStruct::GetElemList(), CIccStructUnknown::GetElemName(), IIccStruct::m_pTagStruct, and icTag::sig.

Referenced by CIccTagStruct::Describe().

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

◆ GetBRDFFunction()

icSigBRDFFunction CIccStructBRDF::GetBRDFFunction ( ) const
virtual
252{
254
255 if (pTag)
256 {
257 if (pTag->GetType() == icSigSignatureType)
258 {
259 CIccTagSignature* pTagSig = dynamic_cast<CIccTagSignature*>(pTag);
260 if (pTagSig)
261 return (icSigBRDFFunction)pTagSig->GetValue();
262 }
263 }
265}
#define icSigUnknownType
Definition icProfileHeader.h:591
@ icSigSignatureType
Definition icProfileHeader.h:559
icSigBRDFFunction
Definition icProfileHeader.h:713
@ icSigBrdfFunctionMbr
Definition icProfileHeader.h:678
CIccTag * GetElem(icSignature sigElem) const
Definition IccStructBasic.cpp:172
Definition IccTagBasic.h:108
virtual icTagTypeSignature GetType() const
Definition IccTagBasic.h:131
Definition IccTagBasic.h:538
icUInt32Number GetValue() const
Definition IccTagBasic.h:554

References CIccStructUnknown::GetElem(), CIccTag::GetType(), CIccTagSignature::GetValue(), icSigBrdfFunctionMbr, and icSigSignatureType.

+ Here is the call graph for this function:

◆ GetBRDFType()

icSigBRDFType CIccStructBRDF::GetBRDFType ( ) const
virtual
235{
237
238 if (pTag)
239 {
240 if (pTag->GetType() == icSigSignatureType)
241 {
242 CIccTagSignature* pTagSig = dynamic_cast<CIccTagSignature*>(pTag);
243 if (pTagSig)
244 return (icSigBRDFType)pTagSig->GetValue();
245 }
246 }
248}
icSigBRDFType
Definition icProfileHeader.h:691
@ icSigBrdfTypeMbr
Definition icProfileHeader.h:677

References CIccStructUnknown::GetElem(), CIccTag::GetType(), CIccTagSignature::GetValue(), icSigBrdfTypeMbr, and icSigSignatureType.

+ Here is the call graph for this function:

◆ GetClassName()

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

Reimplemented from CIccStructUnknown.

167{ return "CIccStructBRDF"; }

◆ GetDisplayName()

virtual const icChar * CIccStructBRDF::GetDisplayName ( ) const
inlinevirtual

Reimplemented from CIccStructUnknown.

168{ return "brdfTransformStructure"; }

◆ GetElem()

CIccTag * CIccStructUnknown::GetElem ( icSignature  sigElem) const
inherited
173{
174 if (!m_pTagStruct)
175 return NULL;
176
177 return m_pTagStruct->FindElem(sigElem);
178}
CIccTag * FindElem(icSignature sig)
Definition IccTagComposite.cpp:672

References CIccTagStruct::FindElem(), and IIccStruct::m_pTagStruct.

Referenced by CIccArrayNamedColor::FindDeviceColor(), CIccArrayNamedColor::FindPcsColor(), CIccArrayNamedColor::FindSpectralColor(), GetBRDFFunction(), GetBRDFType(), and CIccStructNamedColor::GetNumArray().

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

◆ GetElemName()

std::string CIccStructUnknown::GetElemName ( icSignature  sigElem) const
virtualinherited

Implements IIccStruct.

141{
143 int i;
144 for (i = 0; m_pElemNameSigTable[i].szName; i++) {
145 if (m_pElemNameSigTable[i].nSig == sigElem)
146 return m_pElemNameSigTable[i].szName;
147 }
148 }
149
150 CIccInfo info;
151 std::string str;
152
153 str = "PrivateSubTag";
154 //str += info.GetSigName(sigElem);
155
156 return str;
157}
const icChar * szName
Definition IccStructBasic.h:85

References CIccStructUnknown::m_pElemNameSigTable, SIccElemNameSig::nSig, and SIccElemNameSig::szName.

Referenced by CIccStructUnknown::Describe().

+ Here is the caller graph for this function:

◆ GetElemSig()

icSignature CIccStructUnknown::GetElemSig ( const icChar szElemName) const
virtualinherited

Implements IIccStruct.

160{
162 int i;
163 for (i = 0; m_pElemNameSigTable[i].szName; i++) {
164 if (!strcmp(m_pElemNameSigTable[i].szName, szElemName))
165 return m_pElemNameSigTable[i].nSig;
166 }
167 }
168
169 return (icSignature)0;
170}
icUInt32Number icSignature
Definition icProfileHeader.h:271
icSignature nSig
Definition IccStructBasic.h:84

References CIccStructUnknown::m_pElemNameSigTable, SIccElemNameSig::nSig, and SIccElemNameSig::szName.

◆ getTagEntries()

TagEntryList * IIccStruct::getTagEntries ( ) const
protectedinherited
111{
112 if (m_pTagStruct)
114
115 return NULL;
116}
TagEntryList * m_ElemEntries
Definition IccTagComposite.h:212

References CIccTagStruct::m_ElemEntries, and IIccStruct::m_pTagStruct.

Referenced by CIccStructUnknown::Validate().

+ Here is the caller graph for this function:

◆ GetTagStruct()

CIccTagStruct * IIccStruct::GetTagStruct ( )
inlineinherited
107{ return m_pTagStruct; }

References IIccStruct::m_pTagStruct.

◆ NewCopy()

IIccStruct * CIccStructBRDF::NewCopy ( CIccTagStruct pNewTagStruct) const
virtual

Reimplemented from CIccStructUnknown.

227{
228 CIccStructBRDF *rv = new CIccStructBRDF(pTagStruct);
229
230 return rv;
231}
Definition IccStructBasic.h:161

References CIccStructBRDF().

+ Here is the call graph for this function:

◆ Validate()

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

Reimplemented from CIccStructUnknown.

268{
270 if (m_pTagStruct) {
273 CIccInfo Info;
274 std::string sSigPathName = Info.GetSigPathName(sigPath);
275
277 sReport += icMsgValidateWarning;
278 sReport += sSigPathName;
279 sReport += " - Missing required struct member(s).\n";
280 }
281 }
282
283 return icMaxStatus(rv, CIccStructUnknown::Validate(sigPath, sReport, pProfile));
284}
@ icSigBrdfParamsPerChannelMbr
Definition icProfileHeader.h:679
@ icSigBrdfTransformMbr
Definition icProfileHeader.h:680
icValidateStatus
Definition IccDefs.h:119
@ icValidateOK
Definition IccDefs.h:120
@ icValidateCriticalError
Definition IccDefs.h:123
ICCPROFLIB_API const char * icMsgValidateWarning
Definition IccUtil.cpp:90
ICCPROFLIB_API icValidateStatus icMaxStatus(icValidateStatus s1, icValidateStatus s2)
Definition IccUtil.cpp:244
virtual icValidateStatus Validate(std::string sigPath, std::string &sReport, const CIccProfile *pProfile=NULL) const
Definition IccStructBasic.cpp:181
std::string GetSigPathName(std::string sigPath)
Definition IccUtil.cpp:1614

References CIccTagStruct::FindElem(), CIccInfo::GetSigPathName(), icMaxStatus(), icMsgValidateWarning, icSigBrdfFunctionMbr, icSigBrdfParamsPerChannelMbr, icSigBrdfTransformMbr, icSigBrdfTypeMbr, icValidateCriticalError, icValidateOK, IIccStruct::m_pTagStruct, and CIccStructUnknown::Validate().

+ Here is the call graph for this function:

Field Documentation

◆ m_pElemNameSigTable

◆ m_pTagStruct


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