ACF $AcfVersion:0$
Public Member Functions | Static Public Member Functions | List of all members
icmm::CTristimulusSpecification Class Reference

#include <CTristimulusSpecification.h>

Inheritance diagram for icmm::CTristimulusSpecification:
icmm::ITristimulusSpecification icmm::IColorSpecification iser::IObject iser::ISerializable istd::IChangeable istd::IPolymorphic

Public Member Functions

 CTristimulusSpecification (ObserverType observerType=ObserverType::TwoDegree, AstmTableType method=AstmTableType::Unknown, std::shared_ptr< IIlluminant > illuminantPtr=nullptr, std::shared_ptr< ISpectralColorSpecification > baseSpec=nullptr)
 
 CTristimulusSpecification (const ITristimulusSpecification &other)
 
virtual std::shared_ptr< IIlluminantGetIlluminant () const override
 Gets the illuminant (light source) used by this specification.
 
virtual ObserverType GetObserverType () const override
 Gets the standard observer type used for color calculations.
 
virtual AstmTableType GetMethod () const override
 Gets the ASTM table type used for spectral calculations.
 
virtual std::shared_ptr< ISpectralColorSpecificationGetBaseSpecification () const override
 Gets the base spectral specification, if one exists.
 
virtual QByteArray GetFactoryId () const
 
virtual int GetSupportedOperations () const override
 Get set of flags for supported operations.
 
virtual bool CopyFrom (const istd::IChangeable &object, CompatibilityMode mode=CM_WITHOUT_REFS) override
 Copy this object from another one.
 
virtual bool IsEqual (const istd::IChangeable &other) const override
 Compare this object with another object.
 
virtual istd::IChangeableUniquePtr CloneMe (CompatibilityMode mode=CM_WITHOUT_REFS) const override
 Make a copy of this object.
 
virtual bool Serialize (iser::IArchive &archive) override
 Load or store state of this object as a archive stream.
 
bool operator== (const CTristimulusSpecification &other) const
 
- Public Member Functions inherited from icmm::IColorSpecification
 I_DECLARE_ENUM (SpecType, Tristimulus, Spectral)
 
- Public Member Functions inherited from iser::ISerializable
virtual quint32 GetMinimalVersion (int versionId) const
 Get minimal needed version to correct storing of this data.
 
- Public Member Functions inherited from istd::IChangeable
virtual bool ResetData (CompatibilityMode mode=CM_WITHOUT_REFS)
 Reset data to its default state.
 
virtual void BeginChanges (const ChangeSet &changeSet)
 Starts the change transaction.
 
virtual void EndChanges (const ChangeSet &changeSet)
 Ends the change transaction.
 
virtual void BeginChangeGroup (const ChangeSet &changeSet)
 Starts group of changes.
 
virtual void EndChangeGroup (const ChangeSet &changeSet)
 Ends group of changes.
 
- Public Member Functions inherited from istd::IPolymorphic
virtual ~IPolymorphic ()
 

Static Public Member Functions

static QByteArray GetTypeId ()
 
static const icmm::CTristimulusSpecificationGetD50TwoDegree ()
 
- Static Public Member Functions inherited from istd::IChangeable
static const ChangeSetGetNoChanges ()
 Get empty set of changes.
 
static const ChangeSetGetAnyChange ()
 Get anonymous change set.
 
static const ChangeSetGetAllChanges ()
 Get anonymous change set.
 
static const ChangeSetGetDelegatedChanges ()
 Get delegated change set.
 

Additional Inherited Members

- Public Types inherited from icmm::IColorSpecification
enum  SpecType { Tristimulus , Spectral }
 
typedef std::shared_ptr< const IColorSpecificationConstColorSpecPtr
 
typedef std::shared_ptr< IColorSpecificationColorSpecPtr
 
- Public Types inherited from istd::IChangeable
enum  ChangeFlags {
  CF_ACF_INTERNAL = 0 , CF_ALL_DATA , CF_ANY , CF_DESTROYING ,
  CF_DELEGATED , CF_NO_UNDO
}
 Data model change notification flags. More...
 
enum  SupportedOperations {
  SO_NONE = 0 , SO_OBSERVE = 1 << 0 , SO_COPY = 1 << 1 , SO_CLONE = 1 << 2 ,
  SO_COMPARE = 1 << 3 , SO_RESET = 1 << 4
}
 Flags for supported operations. More...
 
enum  CompatibilityMode { CM_STRICT , CM_WITHOUT_REFS , CM_WITH_REFS , CM_CONVERT }
 Control how relationship betweeen objects are interpreted. More...
 
typedef QMultiMap< QByteArray, QVariant > ChangeInfoMap
 
- Protected Member Functions inherited from icmm::ITristimulusSpecification
virtual SpecType GetSpecificationType () const final
 Gets the logical type of the specification.
 
- Protected Member Functions inherited from istd::IChangeable
virtual void OnBeginChanges ()
 Callback function for begin change event.
 
virtual void OnEndChanges (const ChangeSet &changeSet)
 Callback function for end change event.
 

Detailed Description

Definition at line 15 of file CTristimulusSpecification.h.

Constructor & Destructor Documentation

◆ CTristimulusSpecification() [1/2]

icmm::CTristimulusSpecification::CTristimulusSpecification ( ObserverType  observerType = ObserverType::TwoDegree,
AstmTableType  method = AstmTableType::Unknown,
std::shared_ptr< IIlluminant illuminantPtr = nullptr,
std::shared_ptr< ISpectralColorSpecification baseSpec = nullptr 
)

◆ CTristimulusSpecification() [2/2]

icmm::CTristimulusSpecification::CTristimulusSpecification ( const ITristimulusSpecification other)

Member Function Documentation

◆ CloneMe()

virtual istd::IChangeableUniquePtr icmm::CTristimulusSpecification::CloneMe ( CompatibilityMode  mode = CM_WITHOUT_REFS) const
overridevirtual

Make a copy of this object.

Returns
new instance or NULL, if this operation is not supported.

Reimplemented from istd::IChangeable.

◆ CopyFrom()

virtual bool icmm::CTristimulusSpecification::CopyFrom ( const istd::IChangeable object,
CompatibilityMode  mode = CM_WITHOUT_REFS 
)
overridevirtual

Copy this object from another one.

Default implementation in istd::IChangeable does nothing.

Reimplemented from istd::IChangeable.

◆ GetBaseSpecification()

virtual std::shared_ptr< ISpectralColorSpecification > icmm::CTristimulusSpecification::GetBaseSpecification ( ) const
overridevirtual

Gets the base spectral specification, if one exists.

Some tristimulus specifications are derived from spectral data, which provides higher accuracy for certain conversions. If available, the base spectral specification can be used for improved accuracy.

Returns
Shared pointer to ISpectralColorSpecification, or nullptr if none
See also
ISpectralColorSpecification

Implements icmm::ITristimulusSpecification.

◆ GetD50TwoDegree()

static const icmm::CTristimulusSpecification & icmm::CTristimulusSpecification::GetD50TwoDegree ( )
static

◆ GetFactoryId()

virtual QByteArray icmm::CTristimulusSpecification::GetFactoryId ( ) const
virtual

Reimplemented from iser::IObject.

◆ GetIlluminant()

virtual std::shared_ptr< IIlluminant > icmm::CTristimulusSpecification::GetIlluminant ( ) const
overridevirtual

Gets the illuminant (light source) used by this specification.

The illuminant defines the reference white point and viewing conditions. Common illuminants include D65 (daylight), D50 (print), and A (tungsten).

Returns
Shared pointer to IIlluminant, or nullptr if not set
See also
IIlluminant, IWhitePointProvider

Implements icmm::ITristimulusSpecification.

◆ GetMethod()

virtual AstmTableType icmm::CTristimulusSpecification::GetMethod ( ) const
overridevirtual

Gets the ASTM table type used for spectral calculations.

The method determines wavelength range and resolution for converting between spectral and tristimulus representations.

Returns
AstmTableType indicating calculation method
See also
AstmTableType

Implements icmm::ITristimulusSpecification.

◆ GetObserverType()

virtual ObserverType icmm::CTristimulusSpecification::GetObserverType ( ) const
overridevirtual

Gets the standard observer type used for color calculations.

The observer type defines the color matching functions used:

  • OT_CIE_1931_2_DEGREE: Standard 2 degrees observer (small fields)
  • OT_CIE_1964_10_DEGREE: Supplementary 10 degrees observer (large fields)
Returns
ObserverType indicating which standard observer to use
See also
ObserverType

Implements icmm::ITristimulusSpecification.

◆ GetSupportedOperations()

virtual int icmm::CTristimulusSpecification::GetSupportedOperations ( ) const
overridevirtual

Get set of flags for supported operations.

See also
SupportedOperations

Reimplemented from istd::IChangeable.

◆ GetTypeId()

static QByteArray icmm::CTristimulusSpecification::GetTypeId ( )
static

◆ IsEqual()

virtual bool icmm::CTristimulusSpecification::IsEqual ( const istd::IChangeable object) const
overridevirtual

Compare this object with another object.

Parameters
objectObject to be compared
Returns
true if the objects are identical and false otherwise.

Reimplemented from istd::IChangeable.

◆ operator==()

bool icmm::CTristimulusSpecification::operator== ( const CTristimulusSpecification other) const

◆ Serialize()

virtual bool icmm::CTristimulusSpecification::Serialize ( iser::IArchive archive)
overridevirtual

Load or store state of this object as a archive stream.

Type of operation is depending on archive type.

See also
iser::IArchive

Implements iser::ISerializable.


The documentation for this class was generated from the following file: