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

#include <CRgbaColorModel.h>

Inheritance diagram for icmm::CRgbaColorModel:
icmm::CRgbColorModel icmm::IColorModel istd::IChangeable istd::IPolymorphic

Public Types

typedef CRgbColorModel BaseClass
 
- Public Types inherited from icmm::IColorModel
enum  ModelType {
  MT_HSI , MT_HSV , MT_HSL , MI_YIQ ,
  MI_YUV , MI_YCBCR , MT_RGB , MT_COLORANTS ,
  MT_LUV , MT_LAB , MT_LCH , MT_XYZ ,
  MT_YXY , MI_SPECTRAL , MI_USER = 1024
}
 
enum  ModelClass { MC_DEVICE_DEPENDENT , MC_DEVICE_INDEPENDENT }
 
enum  ColorSpaceClass { CSC_ADDITIVE , CSC_SUBSTRACTIVE , CSC_PERCEPTUAL }
 
- 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
 

Public Member Functions

virtual int GetColorSpaceDimensionality () const override
 Gets the dimensionality (number of components) of the color space.
 
virtual const imath::IUnitInfoGetColorSpaceComponentInfo (int componentIndex) const override
 Gets mathematical unit information for a color model component.
 
virtual QString GetColorSpaceComponentName (int componentIndex) const override
 Gets the human-readable name of a color model component.
 
- Public Member Functions inherited from icmm::CRgbColorModel
 CRgbColorModel ()
 
 CRgbColorModel (const ITristimulusSpecification &spec)
 Sets a particular TristimulusSpecification, for example, if the RGB color is originating from Lab.
 
virtual ModelType GetModelType () const override
 Gets the type of the color model.
 
virtual ModelClass GetModelClass () const override
 Gets the classification of the color model.
 
virtual ColorSpaceClass GetColorSpaceClass () const override
 Gets the classification of the color space defined by this model.
 
virtual const icmm::IColorTransformationCreateColorTranformation (const IColorModel &otherColorModel, const QByteArray &transformationId) const override
 Creates a color transformation for conversion to another color model.
 
virtual IColorSpecification::ConstColorSpecPtr GetSpecification () const override
 Gets the color specification for this model, if available.
 
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 istd::IChangeableUniquePtr CloneMe (CompatibilityMode mode=CM_WITHOUT_REFS) const override
 Make a copy of this object.
 
- Public Member Functions inherited from istd::IChangeable
virtual bool IsEqual (const IChangeable &object) const
 Compare this object with another object.
 
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 ()
 

Additional Inherited Members

- 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.
 
- 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.
 
- Protected Attributes inherited from icmm::CRgbColorModel
imath::CGeneralUnitInfo m_unitInfo
 
CTristimulusSpecification m_spec
 

Detailed Description

Definition at line 13 of file CRgbaColorModel.h.

Member Typedef Documentation

◆ BaseClass

Definition at line 16 of file CRgbaColorModel.h.

Member Function Documentation

◆ GetColorSpaceComponentInfo()

const imath::IUnitInfo * icmm::CRgbaColorModel::GetColorSpaceComponentInfo ( int  componentIndex) const
inlineoverridevirtual

Gets mathematical unit information for a color model component.

Returns information about the mathematical unit, range, and properties of the specified component (axis) in the color space.

Parameters
componentIndexZero-based index of the component (0 to dimensionality-1)
Returns
Pointer to IUnitInfo describing the component's unit, or nullptr if index is invalid. The pointer is owned by the color model.
Note
Most color components range from 0.0 to 1.0, but some (like Lab) have different ranges (L: 0-100, a: -128 to 127, b: -128 to 127).
const imath::IUnitInfo* info = model->GetColorSpaceComponentInfo(0);
if (info) {
double minVal = info->GetMinValue();
double maxVal = info->GetMaxValue();
QString unit = info->GetUnitName();
}
Common interface to get information about a measurement unit.
Definition IUnitInfo.h:22
virtual QString GetUnitName() const =0
Get name of unit.
See also
GetColorSpaceComponentName(), GetColorSpaceDimensionality()

Reimplemented from icmm::CRgbColorModel.

Definition at line 35 of file CRgbaColorModel.h.

References icmm::CRgbColorModel::m_unitInfo.

◆ GetColorSpaceComponentName()

QString icmm::CRgbaColorModel::GetColorSpaceComponentName ( int  componentIndex) const
inlineoverridevirtual

Gets the human-readable name of a color model component.

Returns the name of the component at the specified index, such as "Red", "Green", "Blue" for RGB, or "Lightness", "a*", "b*" for Lab.

Parameters
componentIndexZero-based index of the component
Returns
Component name as a QString, or empty string if index is invalid
// Get RGB component names
QString name0 = rgb.GetColorSpaceComponentName(0); // "Red"
QString name1 = rgb.GetColorSpaceComponentName(1); // "Green"
QString name2 = rgb.GetColorSpaceComponentName(2); // "Blue"
Concrete RGB color model implementation.
virtual QString GetColorSpaceComponentName(int componentIndex) const override
Gets the human-readable name of a color model component.
See also
GetColorSpaceComponentInfo(), GetColorSpaceDimensionality()

Reimplemented from icmm::CRgbColorModel.

Definition at line 45 of file CRgbaColorModel.h.

References icmm::CRgbColorModel::GetColorSpaceComponentName().

◆ GetColorSpaceDimensionality()

int icmm::CRgbaColorModel::GetColorSpaceDimensionality ( ) const
inlineoverridevirtual

Gets the dimensionality (number of components) of the color space.

Returns the number of values needed to represent a color in this model. Common values are 3 (RGB, HSV, Lab) or 4 (CMYK). Spectral models may have higher dimensionality.

Returns
Number of components/dimensions in the color space
// RGB has 3 components
int dims = rgbModel.GetColorSpaceDimensionality(); // returns 3
// CMYK has 4 components
dims = cmykModel.GetColorSpaceDimensionality(); // returns 4
CMYK color model implementation for four-color printing.
virtual int GetColorSpaceDimensionality() const override
Gets the dimensionality (number of components) of the color space.
virtual int GetColorSpaceDimensionality() const override
Gets the dimensionality (number of components) of the color space.
See also
GetColorSpaceComponentName(), GetColorSpaceComponentInfo()

Reimplemented from icmm::CRgbColorModel.

Definition at line 29 of file CRgbaColorModel.h.


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