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

Class: CIccMpeAcs. More...

#include <IccMpeACS.h>

+ Inheritance diagram for CIccMpeAcs:
+ Collaboration diagram for CIccMpeAcs:

Public Member Functions

bool AllocData (icUInt32Number size)
 Name: CIccMpeAcs::AllocData.
 
virtual void Apply (CIccApplyMpe *pApply, icFloatNumber *dstPixel, const icFloatNumber *srcPixel) const
 Name: CIccMpeAcs::Apply.
 
virtual bool Begin (icElemInterp nInterp, CIccTagMultiProcessElement *pMPE)
 Name: CIccMpeAcs::Begin.
 
virtual void Describe (std::string &sDescription, int nVerboseness)
 Name: CIccMpeAcs::Describe.
 
virtual icAcsSignature GetAcsSig ()
 
icUInt8NumberGetData ()
 
icUInt32Number GetDataSize ()
 
virtual bool IsAcs ()
 
virtual bool Read (icUInt32Number size, CIccIO *pIO)
 Name: CIccMpeAcs::Read.
 
virtual icValidateStatus Validate (std::string sigPath, std::string &sReport, const CIccTagMultiProcessElement *pMPE=NULL, const CIccProfile *pProfile=NULL) const
 Name: CIccMpeAcs::Validate.
 
virtual bool Write (CIccIO *pIO)
 Name: CIccMpeAcs::Write.
 
virtual ~CIccMpeAcs ()
 Name: CIccMpeAcs::~CIccMpeAcs.
 
- Public Member Functions inherited from CIccMultiProcessElement
 CIccMultiProcessElement ()
 
virtual icAcsSignature GetBAcsSig ()
 
virtual const icCharGetClassName () const =0
 
virtual icAcsSignature GetEAcsSig ()
 
virtual IIccExtensionMpeGetExtension ()
 
virtual CIccApplyMpeGetNewApply (CIccApplyTagMpe *pApplyTag)
 Name: CIccMultiProcessElement::GetNewApply()
 
virtual icElemTypeSignature GetType () const =0
 
virtual bool IsLateBinding () const
 
virtual bool IsLateBindingReflectance () const
 
virtual bool IsSupported ()
 
virtual CIccMultiProcessElementNewCopy () const =0
 
virtual icUInt16Number NumInputChannels () const
 
virtual icUInt16Number NumOutputChannels () const
 
virtual ~CIccMultiProcessElement ()
 

Protected Member Functions

 CIccMpeAcs ()
 Name: CIccMpeAcs::CIccMpeACS.
 

Protected Attributes

icUInt32Number m_nDataSize
 
icUInt8Numberm_pData
 
icAcsSignature m_signature
 
- Protected Attributes inherited from CIccMultiProcessElement
icUInt16Number m_nInputChannels
 
icUInt16Number m_nOutputChannels
 

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
 

Detailed Description

Class: CIccMpeAcs.

Purpose: The alternate connection space base class element

Definition at line 91 of file IccMpeACS.h.

Constructor & Destructor Documentation

◆ ~CIccMpeAcs()

CIccMpeAcs::~CIccMpeAcs ( )
virtual

Name: CIccMpeAcs::~CIccMpeAcs.

Purpose: Base destructor

Definition at line 111 of file IccMpeACS.cpp.

112{
113 if (m_pData)
114 free(m_pData);
115}
icUInt8Number * m_pData
Definition IccMpeACS.h:118

◆ CIccMpeAcs()

CIccMpeAcs::CIccMpeAcs ( )
protected

Name: CIccMpeAcs::CIccMpeACS.

Purpose: Base constructor (protected)

Definition at line 96 of file IccMpeACS.cpp.

97{
98 m_pData = NULL;
99 m_nDataSize = 0;
101 m_nReserved = 0;
102}
icAcsSignature m_signature
Definition IccMpeACS.h:115
icUInt32Number m_nDataSize
Definition IccMpeACS.h:117
icUInt32Number m_nReserved
Definition IccTagMPE.h:188
#define icSigAcsZero
Convenience Definition - Not defined in ICC specification.

References icSigAcsZero.

Member Function Documentation

◆ AllocData()

bool CIccMpeAcs::AllocData ( icUInt32Number size)

Name: CIccMpeAcs::AllocData.

Purpose:

Args:

Return:

Definition at line 303 of file IccMpeACS.cpp.

304{
305 if (m_pData)
306 free(m_pData);
307
308 if (size) {
309 m_pData = (icUInt8Number*)malloc(size);
310 if (m_pData)
311 m_nDataSize = size;
312 }
313 else {
314 m_pData = NULL;
315 m_nDataSize = 0;
316 }
317
318 return (size==0 || m_pData!=NULL);
319}
unsigned char icUInt8Number
Number definitions.

◆ Apply()

void CIccMpeAcs::Apply ( CIccApplyMpe * pApply,
icFloatNumber * dstPixel,
const icFloatNumber * srcPixel ) const
virtual

Name: CIccMpeAcs::Apply.

Purpose:

Args:

Return:

Implements CIccMultiProcessElement.

Definition at line 271 of file IccMpeACS.cpp.

272{
273 memcpy(dstPixel, srcPixel, m_nInputChannels*sizeof(icFloatNumber));
274}
float icFloatNumber
All floating point operations/variables in IccProfLib use the icFloatNumber data type.
Definition IccDefs.h:100
icUInt16Number m_nInputChannels
Definition IccTagMPE.h:191

◆ Begin()

bool CIccMpeAcs::Begin ( icElemInterp nInterp,
CIccTagMultiProcessElement * pMPE )
virtual

Name: CIccMpeAcs::Begin.

Purpose:

Args:

Return:

Implements CIccMultiProcessElement.

Definition at line 253 of file IccMpeACS.cpp.

254{
256 return false;
257
258 return true;
259}
icUInt16Number m_nOutputChannels
Definition IccTagMPE.h:192

◆ Describe()

void CIccMpeAcs::Describe ( std::string & sDescription,
int nVerboseness )
virtual

Name: CIccMpeAcs::Describe.

Purpose:

Args:

Return:

Implements CIccMultiProcessElement.

Definition at line 127 of file IccMpeACS.cpp.

128{
129 icChar sigBuf[30];
130
131 if (GetBAcsSig())
132 sDescription += "ELEM_bACS\n";
133 else
134 sDescription += "ELEM_eACS\n";
135
136 icGetSig(sigBuf, m_signature);
137 sDescription += " Signature = ";
138 sDescription += sigBuf;
139 sDescription += "\n";
140
141 if ((m_pData) && (nVerboseness > 50)) {
142 sDescription += "\nData Follows:\n";
143
144 icMemDump(sDescription, m_pData, m_nDataSize);
145 }
146}
char icChar
Definition IccDefs.h:109
void icMemDump(std::string &sDump, void *pBuf, icUInt32Number nNum)
Definition IccUtil.cpp:951
const icChar * icGetSig(icChar *pBuf, icUInt32Number nSig, bool bGetHexVal)
Definition IccUtil.cpp:1028
virtual icAcsSignature GetBAcsSig()
Definition IccTagMPE.h:178

References icGetSig(), and icMemDump().

+ Here is the call graph for this function:

◆ GetAcsSig()

virtual icAcsSignature CIccMpeAcs::GetAcsSig ( )
inlinevirtual

Definition at line 111 of file IccMpeACS.h.

111{ return m_signature; }

◆ GetData()

icUInt8Number * CIccMpeAcs::GetData ( )
inline

Definition at line 108 of file IccMpeACS.h.

108{ return m_pData; }

◆ GetDataSize()

icUInt32Number CIccMpeAcs::GetDataSize ( )
inline

Definition at line 109 of file IccMpeACS.h.

109{ return m_nDataSize; }

◆ IsAcs()

virtual bool CIccMpeAcs::IsAcs ( )
inlinevirtual

Reimplemented from CIccMultiProcessElement.

Definition at line 105 of file IccMpeACS.h.

105{ return true; }

◆ Read()

bool CIccMpeAcs::Read ( icUInt32Number size,
CIccIO * pIO )
virtual

Name: CIccMpeAcs::Read.

Purpose:

Args:

Return:

Implements CIccMultiProcessElement.

Definition at line 158 of file IccMpeACS.cpp.

159{
161
162 icUInt32Number headerSize = sizeof(icTagTypeSignature) +
163 sizeof(icUInt32Number) +
164 sizeof(icUInt16Number) +
165 sizeof(icUInt16Number) +
166 sizeof(icUInt32Number);
167
168 if (headerSize > size)
169 return false;
170
171 if (!pIO) {
172 return false;
173 }
174
175 if (!pIO->Read32(&sig))
176 return false;
177
178 if (!pIO->Read32(&m_nReserved))
179 return false;
180
181 if (!pIO->Read16(&m_nInputChannels))
182 return false;
183
184 if (!pIO->Read16(&m_nOutputChannels))
185 return false;
186
187 if (!pIO->Read32(&m_signature))
188 return false;
189
190 icUInt32Number dataSize = size - headerSize;
191
192 if (!AllocData(dataSize))
193 return false;
194
195 if (dataSize) {
196 if (pIO->Read8(m_pData, dataSize)!=(icInt32Number)dataSize)
197 return false;
198 }
199
200 return true;
201}
icArraySignature sig
icTagTypeSignature
unsigned int icUInt32Number
virtual icInt32Number Read8(void *pBuf8, icInt32Number nNum=1)
Definition IccIO.h:104
icInt32Number Read16(void *pBuf16, icInt32Number nNum=1)
Definition IccIO.cpp:114
icInt32Number Read32(void *pBuf32, icInt32Number nNum=1)
Definition IccIO.cpp:143
bool AllocData(icUInt32Number size)
Name: CIccMpeAcs::AllocData.
unsigned short icUInt16Number
long icInt32Number

References CIccIO::Read16(), CIccIO::Read32(), CIccIO::Read8(), and sig.

+ Here is the call graph for this function:

◆ Validate()

icValidateStatus CIccMpeAcs::Validate ( std::string sigPath,
std::string & sReport,
const CIccTagMultiProcessElement * pMPE = NULL,
const CIccProfile * pProfile = NULL ) const
virtual

Name: CIccMpeAcs::Validate.

Purpose:

Args:

Return:

Implements CIccMultiProcessElement.

Definition at line 286 of file IccMpeACS.cpp.

287{
288 icValidateStatus rv = CIccMultiProcessElement::Validate(sigPath, sReport, pMPE, pProfile);
289
290 return rv;
291}
icValidateStatus
Definition IccDefs.h:118
virtual icValidateStatus Validate(std::string sigPath, std::string &sReport, const CIccTagMultiProcessElement *pMPE=NULL, const CIccProfile *pProfile=NULL) const =0
Name: CIccProcessElement::Validate.

References CIccMultiProcessElement::Validate().

+ Here is the call graph for this function:

◆ Write()

bool CIccMpeAcs::Write ( CIccIO * pIO)
virtual

Name: CIccMpeAcs::Write.

Purpose:

Args:

Return:

Implements CIccMultiProcessElement.

Definition at line 213 of file IccMpeACS.cpp.

214{
216
217 if (!pIO)
218 return false;
219
220 if (!pIO->Write32(&sig))
221 return false;
222
223 if (!pIO->Write32(&m_nReserved))
224 return false;
225
226 if (!pIO->Write16(&m_nInputChannels))
227 return false;
228
229 if (!pIO->Write16(&m_nOutputChannels))
230 return false;
231
232 if (!pIO->Write32(&m_signature))
233 return false;
234
235 if (m_pData && m_nDataSize) {
237 return false;
238 }
239
240 return true;
241}
virtual icInt32Number Write8(void *pBuf8, icInt32Number nNum=1)
Definition IccIO.h:105
icInt32Number Write16(void *pBuf16, icInt32Number nNum=1)
Definition IccIO.cpp:122
icInt32Number Write32(void *pBuf32, icInt32Number nNum=1)
Definition IccIO.cpp:152
virtual icElemTypeSignature GetType() const =0
icElemTypeSignature
Multi-Processing Element type signatures.

References sig, CIccIO::Write16(), CIccIO::Write32(), and CIccIO::Write8().

+ Here is the call graph for this function:

Member Data Documentation

◆ m_nDataSize

icUInt32Number CIccMpeAcs::m_nDataSize
protected

◆ m_pData

icUInt8Number* CIccMpeAcs::m_pData
protected

◆ m_signature

icAcsSignature CIccMpeAcs::m_signature
protected

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