ACF $AcfVersion:0$
CSubstractiveColorModelBase.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
7#include <icmm/CCieLabColor.h>
9
10
11namespace icmm
12{
13
14
15class CCieLabColor;
16
17
19{
20public:
22
24 void SetPreviewSpec(const ITristimulusSpecification& previewSpec);
25 void SetColorantPreview(const ColorantId& colorantId, const icmm::CLab& preview);
26
27 // reimplemented (icmm::IColorModel)
28 virtual ModelType GetModelType() const override;
29 virtual ModelClass GetModelClass() const override;
30 virtual ColorSpaceClass GetColorSpaceClass() const override;
31 virtual int GetColorSpaceDimensionality() const override;
32 virtual const imath::IUnitInfo* GetColorSpaceComponentInfo(int componentIndex) const override;
33 virtual QString GetColorSpaceComponentName(int componentIndex) const override;
35 const IColorModel& otherColorModel,
36 const QByteArray& transformationId = QByteArray()) const override;
37
38 // reimplemented (icmm::ISubstractiveColorModel)
39 virtual bool GetColorantVisualInfo(const ColorantId& colorantId, icmm::ICieLabColor& preview) const override;
40
41 // reimplemented (istd::IChangeable)
42 virtual int GetSupportedOperations() const override;
43 virtual bool CopyFrom(const istd::IChangeable& object, CompatibilityMode mode = CM_WITHOUT_REFS) override;
44
45protected:
50
54 typedef QMap<ColorantId, icmm::CLab> ColorantPreviewMap;
56};
57
58
59} // namespace icmm
60
61
Primitive for representation of CIE Lab color values.
Definition CLab.h:215
virtual int GetColorSpaceDimensionality() const override
Gets the dimensionality (number of components) of the color space.
virtual ModelType GetModelType() const override
Gets the type of the color model.
icmm::CTristimulusSpecification m_previewSpec
Tristimulus specification used for all colorants in the color model.
void SetColorantPreview(const ColorantId &colorantId, const icmm::CLab &preview)
void SetPreviewSpec(const ITristimulusSpecification &previewSpec)
virtual const imath::IUnitInfo * GetColorSpaceComponentInfo(int componentIndex) const override
Gets mathematical unit information for a color model component.
virtual ModelClass GetModelClass() const override
Gets the classification of the color model.
const icmm::CTristimulusSpecification & GetPreviewSpec() const
virtual int GetSupportedOperations() const override
Get set of flags for supported operations.
virtual ColorSpaceClass GetColorSpaceClass() const override
Gets the classification of the color space defined by this model.
virtual bool GetColorantVisualInfo(const ColorantId &colorantId, icmm::ICieLabColor &preview) const override
Get visual information/preview for the given colorant.
virtual const icmm::IColorTransformation * CreateColorTranformation(const IColorModel &otherColorModel, const QByteArray &transformationId=QByteArray()) const override
Creates a color transformation for conversion to another color model.
QMap< ColorantId, icmm::CLab > ColorantPreviewMap
Mapping between a colorant and corresponding Lab value for its solid value.
virtual QString GetColorSpaceComponentName(int componentIndex) const override
Gets the human-readable name of a color model component.
virtual bool CopyFrom(const istd::IChangeable &object, CompatibilityMode mode=CM_WITHOUT_REFS) override
Copy this object from another one.
Common interface for color model definitions in the ACF color management system.
Basic interface for color transformations between color models.
Interface for tristimulus-based color specifications.
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
CompatibilityMode
Control how relationship betweeen objects are interpreted.
@ CM_WITHOUT_REFS
External references are simple ignored.
Contains color management classes.