ACF $AcfVersion:0$
ISpectralColorSpecification.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
9
10
11namespace icmm
12{
13
14
16 virtual public IColorSpecification,
17 virtual public ISpectrumInfoProvider
18{
19public:
20 typedef std::shared_ptr<const ISpectralColorSpecification> ConstSpectralColorSpecPtr;
21 typedef std::shared_ptr<ISpectralColorSpecification> SpectralColorSpecPtr;
22
31
32 virtual SpectrumType GetSpectrumType() const = 0;
33
34protected:
35 // reimplemented (IColorSpecification)
36 virtual SpecType GetSpecificationType() const final;
37};
38
39
44
45
46} // namespace icmm
47
48
Interface for color space specification information.
@ Spectral
Spectral-based specification (full wavelength representation).
I_DECLARE_ENUM(SpectrumType, Reflective, Emissive, Transmissive, TotalTransmissive)
virtual SpecType GetSpecificationType() const final
Gets the logical type of the specification.
virtual SpectrumType GetSpectrumType() const =0
std::shared_ptr< ISpectralColorSpecification > SpectralColorSpecPtr
std::shared_ptr< const ISpectralColorSpecification > ConstSpectralColorSpecPtr
Common interface for a spectrum information provider.
Contains color management classes.