ACF $AcfVersion:0$
ITristimulusSpecification.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/IIlluminant.h>
8
9
10namespace icmm
11{
12
13
188{
189public:
200 virtual std::shared_ptr<IIlluminant> GetIlluminant() const = 0;
201
213 virtual ObserverType GetObserverType() const = 0;
214
225 virtual AstmTableType GetMethod() const = 0;
226
238 virtual std::shared_ptr<ISpectralColorSpecification> GetBaseSpecification() const = 0;
239
240protected:
241 // reimplemented (IColorSpecification)
242 virtual SpecType GetSpecificationType() const final;
243};
244
245
250
251
252typedef std::shared_ptr<ITristimulusSpecification> TristimulusPtr;
253typedef std::shared_ptr<const ITristimulusSpecification> ConstTristimulusPtr;
254
255
256} // namespace icmm
257
258
Interface for color space specification information.
@ Tristimulus
Tristimulus-based specification (e.g., RGB with primaries and white point).
Interface for tristimulus-based color specifications.
virtual ObserverType GetObserverType() const =0
Gets the standard observer type used for color calculations.
virtual std::shared_ptr< ISpectralColorSpecification > GetBaseSpecification() const =0
Gets the base spectral specification, if one exists.
virtual std::shared_ptr< IIlluminant > GetIlluminant() const =0
Gets the illuminant (light source) used by this specification.
virtual AstmTableType GetMethod() const =0
Gets the ASTM table type used for spectral calculations.
virtual SpecType GetSpecificationType() const final
Gets the logical type of the specification.
Contains color management classes.
AstmTableType
Definition icmm.h:30
std::shared_ptr< ITristimulusSpecification > TristimulusPtr
ObserverType
Definition icmm.h:78
std::shared_ptr< const ITristimulusSpecification > ConstTristimulusPtr