ACF $AcfVersion:0$
IColorModel.h
Go to the documentation of this file.
1// SPDX-License-Identifier: LGPL-2.1-or-later OR GPL-2.0-or-later OR GPL-3.0-or-later OR LicenseRef-ACF-Commercial
2#pragma once
3
4
5// ACF includes
6#include <imath/IUnitInfo.h>
9
10namespace icmm
11{
12
13
183class IColorModel: virtual public istd::IChangeable
184{
185public:
217
223
230
241 virtual ModelType GetModelType() const = 0;
242
254 virtual ModelClass GetModelClass() const = 0;
255
267
289 virtual int GetColorSpaceDimensionality() const = 0;
290
316 virtual const imath::IUnitInfo* GetColorSpaceComponentInfo(int componentIndex) const = 0;
317
338 virtual QString GetColorSpaceComponentName(int componentIndex) const = 0;
339
385 const IColorModel& otherColorModel,
386 const QByteArray& transformationId = QByteArray()) const = 0;
387
406};
407
408
409typedef std::shared_ptr<IColorModel> ColorModelPtr;
410typedef std::shared_ptr<const IColorModel> ConstColorModelPtr;
411
412
413} // namespace icmm
414
415
Common interface for color model definitions in the ACF color management system.
@ MI_SPECTRAL
Color model is defined by a set of spectral values.
@ MT_COLORANTS
Substractive color model based on generic list of colorants.
@ MI_USER
Base value for the user-defined model types.
virtual ModelType GetModelType() const =0
Gets the type of the color model.
virtual ColorSpaceClass GetColorSpaceClass() const =0
Gets the classification of the color space defined by this model.
virtual ModelClass GetModelClass() const =0
Gets the classification of the color model.
virtual const imath::IUnitInfo * GetColorSpaceComponentInfo(int componentIndex) const =0
Gets mathematical unit information for a color model component.
virtual const icmm::IColorTransformation * CreateColorTranformation(const IColorModel &otherColorModel, const QByteArray &transformationId=QByteArray()) const =0
Creates a color transformation for conversion to another color model.
virtual QString GetColorSpaceComponentName(int componentIndex) const =0
Gets the human-readable name of a color model component.
virtual int GetColorSpaceDimensionality() const =0
Gets the dimensionality (number of components) of the color space.
virtual IColorSpecification::ConstColorSpecPtr GetSpecification() const
Gets the color specification for this model, if available.
std::shared_ptr< const IColorSpecification > ConstColorSpecPtr
Basic interface for color transformations between color models.
Common interface to get information about a measurement unit.
Definition IUnitInfo.h:22
Common interface for data model objects, which can be changed.
Definition IChangeable.h:28
Contains color management classes.
std::shared_ptr< const IColorModel > ConstColorModelPtr
std::shared_ptr< IColorModel > ColorModelPtr