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

#include <IccMpeFactory.h>

+ Inheritance diagram for CIccBasicMpeFactory:
+ Collaboration diagram for CIccBasicMpeFactory:

Public Member Functions

virtual CIccMultiProcessElementCreateElement (icElemTypeSignature elementSig)
 
virtual bool GetElementSigName (std::string &elemName, icElemTypeSignature elemTypeSig)
 

Detailed Description

Class: CIccBasicMpeFactory

Purpose: CIccBasicMpeFactory provides creation of CIccProcessElement's defined by the ICC profile specification. The CIccMpeCreator always creates a CIccBasicElemFactory.

Member Function Documentation

◆ CreateElement()

CIccMultiProcessElement * CIccBasicMpeFactory::CreateElement ( icElemTypeSignature  elementSig)
virtual

Function: CreateElement(elemTypeSig) Create a element of type elemTypeSig.

Parameter(s): elemTypeSig = signature of the ICC element type for the element to be created

Returns a new CIccProcessElement object of the given signature type. Unrecognized elemTypeSig's will be created as a CIccProcessElementUnknown object.

Implements IIccMpeFactory.

86{
87 switch(elemTypeSig) {
89 return new CIccMpeCurveSet();
90
92 return new CIccMpeMatrix();
93
95 return new CIccMpeCLUT();
96
98 return new CIccMpeExtCLUT();
99
101 return new CIccMpeCalculator();
102
104 return new CIccMpeTintArray();
105
107 return new CIccMpeToneMap();
108
110 return new CIccMpeJabToXYZ();
111
113 return new CIccMpeXYZToJab();
114
116 return new CIccMpeEmissionMatrix();
117
119 return new CIccMpeInvEmissionMatrix();
120
122 return new CIccMpeEmissionCLUT();
123
125 return new CIccMpeReflectanceCLUT();
126
128 return new CIccMpeEmissionObserver();
129
131 return new CIccMpeReflectanceObserver();
132
134 return new CIccMpeBAcs();
135
137 return new CIccMpeEAcs();
138
139 default:
140 return new CIccMpeUnknown();
141 }
142}
@ icSigEmissionMatrixElemType
Definition icProfileHeader.h:660
@ icSigBAcsElemType
Definition icProfileHeader.h:646
@ icSigEmissionCLUTElemType
Definition icProfileHeader.h:662
@ icSigReflectanceCLUTElemType
Definition icProfileHeader.h:663
@ icSigCurveSetElemType
Definition icProfileHeader.h:643
@ icSigCLutElemType
Definition icProfileHeader.h:645
@ icSigToneMapElemType
Definition icProfileHeader.h:657
@ icSigReflectanceObserverElemType
Definition icProfileHeader.h:665
@ icSigExtCLutElemType
Definition icProfileHeader.h:650
@ icSigTintArrayElemType
Definition icProfileHeader.h:654
@ icSigXYZToJabElemType
Definition icProfileHeader.h:651
@ icSigJabToXYZElemType
Definition icProfileHeader.h:652
@ icSigMatrixElemType
Definition icProfileHeader.h:644
@ icSigEmissionObserverElemType
Definition icProfileHeader.h:664
@ icSigInvEmissionMatrixElemType
Definition icProfileHeader.h:661
@ icSigEAcsElemType
Definition icProfileHeader.h:647
@ icSigCalculatorElemType
Definition icProfileHeader.h:649
Definition IccMpeBasic.h:425
Definition IccMpeBasic.h:465
Definition IccMpeBasic.h:546
Definition IccMpeBasic.h:600
Definition IccMpeBasic.h:656
Definition IccMpeBasic.h:720
Definition IccMpeBasic.h:793
Definition IccMpeBasic.h:817
Definition IccTagMPE.h:230
Definition IccMpeACS.h:131
Definition IccMpeACS.h:155
Definition IccMpeCalc.h:447
Definition IccMpeSpectral.h:148
Definition IccMpeSpectral.h:175
Definition IccMpeSpectral.h:278
Definition IccMpeSpectral.h:304
Definition IccMpeSpectral.h:379
Definition IccMpeSpectral.h:405

References CIccMpeBAcs::CIccMpeBAcs(), CIccMpeCalculator::CIccMpeCalculator(), CIccMpeCLUT::CIccMpeCLUT(), CIccMpeCurveSet::CIccMpeCurveSet(), CIccMpeEAcs::CIccMpeEAcs(), CIccMpeEmissionCLUT::CIccMpeEmissionCLUT(), CIccMpeEmissionMatrix::CIccMpeEmissionMatrix(), CIccMpeEmissionObserver::CIccMpeEmissionObserver(), CIccMpeExtCLUT::CIccMpeExtCLUT(), CIccMpeInvEmissionMatrix::CIccMpeInvEmissionMatrix(), CIccMpeJabToXYZ::CIccMpeJabToXYZ(), CIccMpeMatrix::CIccMpeMatrix(), CIccMpeReflectanceCLUT::CIccMpeReflectanceCLUT(), CIccMpeReflectanceObserver::CIccMpeReflectanceObserver(), CIccMpeTintArray::CIccMpeTintArray(), CIccMpeToneMap::CIccMpeToneMap(), CIccMpeUnknown::CIccMpeUnknown(), CIccMpeXYZToJab::CIccMpeXYZToJab(), icSigBAcsElemType, icSigCalculatorElemType, icSigCLutElemType, icSigCurveSetElemType, icSigEAcsElemType, icSigEmissionCLUTElemType, icSigEmissionMatrixElemType, icSigEmissionObserverElemType, icSigExtCLutElemType, icSigInvEmissionMatrixElemType, icSigJabToXYZElemType, icSigMatrixElemType, icSigReflectanceCLUTElemType, icSigReflectanceObserverElemType, icSigTintArrayElemType, icSigToneMapElemType, and icSigXYZToJabElemType.

+ Here is the call graph for this function:

◆ GetElementSigName()

bool CIccBasicMpeFactory::GetElementSigName ( std::string &  elemName,
icElemTypeSignature  elemTypeSig 
)
virtual

Function: GetElementSigName(elemTypeSig) Get display name of elemTypeSig.

Parameter(s): elemName = string to put element name into, elemTypeSig = signature of the ICC element type to get a name for

Returns true if element type is recognized by the factory, false if the factory doesn't create elemTypeSig elements.

Implements IIccMpeFactory.

145{
146 switch(elemTypeSig) {
148 elemName = "Curve Set Element";
149 break;
150
152 elemName = "Matrix Element";
153 break;
154
156 elemName = "CLUT Element";
157 break;
158
160 elemName = "Extended CLUT Element";
161 break;
162
164 elemName = "Calculator Element";
165 break;
166
168 elemName = "Tint Array Element";
169 break;
170
172 elemName = "Tone Mapping Element";
173 break;
174
176 elemName = "JabToXYZ Element";
177 break;
178
180 elemName = "XYZToJab Element";
181 break;
182
184 elemName = "Observer Matrix Element";
185 break;
186
188 elemName = "Observer Inverse Matrix Element";
189 break;
190
192 elemName = "Emission CLUT Element";
193 break;
194
196 elemName = "Reflectance CLUT Element";
197 break;
198
200 elemName = "Emission Observer Element";
201 break;
202
204 elemName = "Reflectance Observer Element";
205 break;
206
208 elemName = "BACS Element";
209 break;
210
212 elemName = "EACS Element";
213 break;
214
215 default:
216 char buf[30], str[100];
217 sprintf(str, "Unknown Element Type (%s)", icGetSig(buf, elemTypeSig));
218 elemName = str;
219 return false;
220 }
221
222 return true;
223}
ICCPROFLIB_API const icChar * icGetSig(icChar *pBuf, icUInt32Number sig, bool bGetHexVal=true)
Definition IccUtil.cpp:1028

References icGetSig(), icSigBAcsElemType, icSigCalculatorElemType, icSigCLutElemType, icSigCurveSetElemType, icSigEAcsElemType, icSigEmissionCLUTElemType, icSigEmissionMatrixElemType, icSigEmissionObserverElemType, icSigExtCLutElemType, icSigInvEmissionMatrixElemType, icSigJabToXYZElemType, icSigMatrixElemType, icSigReflectanceCLUTElemType, icSigReflectanceObserverElemType, icSigTintArrayElemType, icSigToneMapElemType, and icSigXYZToJabElemType.

+ Here is the call graph for this function:

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