ACF $AcfVersion:0$
CSpectralColorModel.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
15{
16public:
18
19 // reimplemented (icmm::IColorModel)
20 virtual ModelType GetModelType() const override;
21 virtual ModelClass GetModelClass() const override;
22 virtual ColorSpaceClass GetColorSpaceClass() const override;
23 virtual int GetColorSpaceDimensionality() const override;
24 virtual const imath::IUnitInfo* GetColorSpaceComponentInfo(int componentIndex) const override;
25 virtual QString GetColorSpaceComponentName(int componentIndex) const override;
27 const IColorModel& otherColorModel,
28 const QByteArray& transformationId = QByteArray()) const override;
30
31 // reimplemented (istd::IChangeable)
32 virtual int GetSupportedOperations() const override;
33 virtual bool CopyFrom(const istd::IChangeable& object, CompatibilityMode mode = CM_WITHOUT_REFS) override;
35
36private:
37 std::shared_ptr<const ISpectralColorSpecification> m_spec;
38};
39
40
41} // namespace icmm
42
43
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.
CSpectralColorModel(ISpectralColorSpecification::ConstSpectralColorSpecPtr spec=nullptr)
virtual bool CopyFrom(const istd::IChangeable &object, CompatibilityMode mode=CM_WITHOUT_REFS) override
Copy this object from another one.
virtual ModelClass GetModelClass() const override
Gets the classification of the color model.
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 ModelType GetModelType() const override
Gets the type of the color model.
virtual const imath::IUnitInfo * GetColorSpaceComponentInfo(int componentIndex) const override
Gets mathematical unit information for a color model component.
virtual istd::IChangeableUniquePtr CloneMe(CompatibilityMode mode=CM_WITHOUT_REFS) const override
Make a copy of this object.
virtual IColorSpecification::ConstColorSpecPtr GetSpecification() const override
Gets the color specification for this model, if available.
virtual int GetColorSpaceDimensionality() const override
Gets the dimensionality (number of components) of the color space.
virtual QString GetColorSpaceComponentName(int componentIndex) const override
Gets the human-readable name of 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.
std::shared_ptr< const ISpectralColorSpecification > ConstSpectralColorSpecPtr
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.