ACF $AcfVersion:0$
CRgbColorModel.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/IColorModel.h>
9
10
11namespace icmm
12{
13
14
133class CRgbColorModel: virtual public IColorModel
134{
135public:
137
143
144 // reimplemented (IColorModel)
145 virtual ModelType GetModelType() const override;
146 virtual ModelClass GetModelClass() const override;
147 virtual ColorSpaceClass GetColorSpaceClass() const override;
148 virtual int GetColorSpaceDimensionality() const override;
149 virtual const imath::IUnitInfo* GetColorSpaceComponentInfo(int componentIndex) const override;
150 virtual QString GetColorSpaceComponentName(int componentIndex) const override;
151 virtual const icmm::IColorTransformation* CreateColorTranformation(const IColorModel& otherColorModel, const QByteArray& transformationId) const override;
153
154 // reimplemented (istd::IChangeable)
155 virtual int GetSupportedOperations() const override;
156 virtual bool CopyFrom(const istd::IChangeable& object, CompatibilityMode mode = CM_WITHOUT_REFS) override;
158
159protected:
162};
163
164
165} // namespace icmm
166
167
Concrete RGB color model implementation.
virtual QString GetColorSpaceComponentName(int componentIndex) const override
Gets the human-readable name of a color model component.
CRgbColorModel(const ITristimulusSpecification &spec)
Sets a particular TristimulusSpecification, for example, if the RGB color is originating from Lab.
virtual ModelType GetModelType() const override
Gets the type of the color model.
virtual IColorSpecification::ConstColorSpecPtr GetSpecification() const override
Gets the color specification for this model, if available.
CTristimulusSpecification m_spec
imath::CGeneralUnitInfo m_unitInfo
virtual const icmm::IColorTransformation * CreateColorTranformation(const IColorModel &otherColorModel, const QByteArray &transformationId) const override
Creates a color transformation for conversion to another color model.
virtual int GetColorSpaceDimensionality() const override
Gets the dimensionality (number of components) of the color space.
virtual bool CopyFrom(const istd::IChangeable &object, CompatibilityMode mode=CM_WITHOUT_REFS) override
Copy this object from another one.
virtual ColorSpaceClass GetColorSpaceClass() const override
Gets the classification of the color space defined by this model.
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.
virtual const imath::IUnitInfo * GetColorSpaceComponentInfo(int componentIndex) const override
Gets mathematical unit information for a color model component.
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.
General implementation of the IUnitInfo interface.
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.