ACF $AcfVersion:0$
CCieLabColorModel.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 <icmm/IColorModel.h>
8
9
10namespace icmm
11{
12
13
24{
25public:
32
39
46
47 // reimplemented (icmm::IColorModel)
48 virtual ModelType GetModelType() const override;
49 virtual ModelClass GetModelClass() const override;
50 virtual ColorSpaceClass GetColorSpaceClass() const override;
51 virtual int GetColorSpaceDimensionality() const override;
52 virtual const imath::IUnitInfo* GetColorSpaceComponentInfo(int componentIndex) const override;
53 virtual QString GetColorSpaceComponentName(int componentIndex) const override;
55 const IColorModel& otherColorModel,
56 const QByteArray& transformationId = QByteArray()) const override;
58
59 // reimplemented (istd::IChangeable)
60 virtual int GetSupportedOperations() const override;
61 virtual bool CopyFrom(const istd::IChangeable& object, CompatibilityMode mode = CM_WITHOUT_REFS) override;
63
64private:
66};
67
68
69} // namespace icmm
70
71
CCieLabColorModel implements the CIE Lab color model.
void SetTristimulusSpecification(const ITristimulusSpecification &spec)
Sets the tristimulus specification for this color model.
virtual ColorSpaceClass GetColorSpaceClass() const override
Gets the classification of the color space defined by this model.
virtual IColorSpecification::ConstColorSpecPtr GetSpecification() const override
Gets the color specification for this model, if available.
virtual bool CopyFrom(const istd::IChangeable &object, CompatibilityMode mode=CM_WITHOUT_REFS) override
Copy this object from another one.
CCieLabColorModel(const ITristimulusSpecification &spec=CTristimulusSpecification())
Constructs a CIE Lab color model with the given tristimulus specification.
virtual int GetColorSpaceDimensionality() const override
Gets the dimensionality (number of components) of the color space.
virtual istd::IChangeableUniquePtr CloneMe(CompatibilityMode mode=CM_WITHOUT_REFS) const override
Make a copy of this object.
virtual int GetSupportedOperations() const override
Get set of flags for supported operations.
virtual ModelClass GetModelClass() const override
Gets the classification of the color model.
const ITristimulusSpecification & GetTristimulusSpecification() const
Returns the current tristimulus specification.
virtual const icmm::IColorTransformation * CreateColorTranformation(const IColorModel &otherColorModel, const QByteArray &transformationId=QByteArray()) const override
Creates a color transformation for conversion to another color model.
virtual const imath::IUnitInfo * GetColorSpaceComponentInfo(int componentIndex) const override
Gets mathematical unit information for a color model component.
virtual QString GetColorSpaceComponentName(int componentIndex) const override
Gets the human-readable name of a color model component.
virtual ModelType GetModelType() const override
Gets the type of the color model.
Common interface for color model definitions in the ACF color management system.
std::shared_ptr< const IColorSpecification > ConstColorSpecPtr
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.