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

#include <CIlluminant.h>

Inheritance diagram for icmm::CIlluminant:
icmm::IIlluminant icmm::IWhitePointProvider iser::ISerializable istd::IChangeable istd::IChangeable istd::IPolymorphic istd::IPolymorphic

Public Member Functions

 CIlluminant (StandardIlluminant illuminantType=StandardIlluminant::D50)
 Construct an illuminant based on a standard type.
 
 CIlluminant (const QString &illuminantName, const icmm::CVarColor &whitePoint)
 Construct a custom Illuminant.
 
 CIlluminant (const CIlluminant &other)
 Copy constructor.
 
virtual icmm::CVarColor GetWhitePoint () const override
 Gets the white point as a color value.
 
virtual void SetWhitePoint (const icmm::CVarColor &whitePoint) override
 Sets the white point for this illuminant.
 
virtual QString GetIlluminantName () const override
 Gets the human-readable name of this illuminant.
 
virtual void SetIlluminantName (const QString &illuminantName) override
 Sets the human-readable name for this illuminant.
 
virtual StandardIlluminant GetIlluminantType () const override
 Gets the standard illuminant type.
 
virtual void SetIlluminantType (const StandardIlluminant &illuminantType) override
 Sets the standard illuminant type.
 
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.
 
- 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 ()
 
- Public Member Functions inherited from iser::ISerializable
virtual quint32 GetMinimalVersion (int versionId) const
 Get minimal needed version to correct storing of this data.
 

Protected Member Functions

void InitFromStandardIlluminant (StandardIlluminant illuminantType)
 
- 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.
 

Additional Inherited Members

- 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
 
- 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.
 

Detailed Description

Definition at line 13 of file CIlluminant.h.

Constructor & Destructor Documentation

◆ CIlluminant() [1/3]

icmm::CIlluminant::CIlluminant ( StandardIlluminant  illuminantType = StandardIlluminant::D50)

Construct an illuminant based on a standard type.

◆ CIlluminant() [2/3]

icmm::CIlluminant::CIlluminant ( const QString &  illuminantName,
const icmm::CVarColor whitePoint 
)

Construct a custom Illuminant.

◆ CIlluminant() [3/3]

icmm::CIlluminant::CIlluminant ( const CIlluminant other)

Copy constructor.

Member Function Documentation

◆ CloneMe()

virtual istd::IChangeableUniquePtr icmm::CIlluminant::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::CIlluminant::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.

◆ GetIlluminantName()

virtual QString icmm::CIlluminant::GetIlluminantName ( ) const
overridevirtual

Gets the human-readable name of this illuminant.

Returns
QString containing illuminant name (e.g., "D65", "D50", "A")
See also
SetIlluminantName()

Implements icmm::IIlluminant.

◆ GetIlluminantType()

virtual StandardIlluminant icmm::CIlluminant::GetIlluminantType ( ) const
overridevirtual

Gets the standard illuminant type.

Returns
StandardIlluminant enum value (SI_D65, SI_D50, SI_A, etc.)
See also
SetIlluminantType(), StandardIlluminant

Implements icmm::IIlluminant.

◆ GetSupportedOperations()

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

Get set of flags for supported operations.

See also
SupportedOperations

Reimplemented from istd::IChangeable.

◆ GetWhitePoint()

virtual icmm::CVarColor icmm::CIlluminant::GetWhitePoint ( ) const
overridevirtual

Gets the white point as a color value.

Returns the white point typically as XYZ tristimulus values in a CVarColor. The white point defines what color should be considered as "white" or "neutral" in the color space.

Returns
CVarColor containing the white point, typically XYZ coordinates
Note
White point is usually normalized so Y component = 1.0
Common white points: D65 (X=0.95047, Y=1.0, Z=1.08883)
See also
IIlluminant::GetWhitePoint()

Implements icmm::IWhitePointProvider.

◆ InitFromStandardIlluminant()

void icmm::CIlluminant::InitFromStandardIlluminant ( StandardIlluminant  illuminantType)
protected

◆ IsEqual()

virtual bool icmm::CIlluminant::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.

◆ Serialize()

virtual bool icmm::CIlluminant::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.

◆ SetIlluminantName()

virtual void icmm::CIlluminant::SetIlluminantName ( const QString &  illuminantName)
overridevirtual

Sets the human-readable name for this illuminant.

Parameters
illuminantNameQString with illuminant name
See also
GetIlluminantName()

Implements icmm::IIlluminant.

◆ SetIlluminantType()

virtual void icmm::CIlluminant::SetIlluminantType ( const StandardIlluminant illuminantType)
overridevirtual

Sets the standard illuminant type.

Parameters
illuminantTypeStandardIlluminant enum value
See also
GetIlluminantType(), StandardIlluminant

Implements icmm::IIlluminant.

◆ SetWhitePoint()

virtual void icmm::CIlluminant::SetWhitePoint ( const icmm::CVarColor whitePoint)
overridevirtual

Sets the white point for this illuminant.

The white point is typically expressed as XYZ tristimulus values with Y component normalized to 1.0.

Parameters
whitePointCVarColor containing XYZ coordinates of white point
See also
GetWhitePoint(), IWhitePointProvider

Implements icmm::IIlluminant.


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