|
ACF $AcfVersion:0$
|
Concrete RGB color model implementation. More...
#include <CRgbColorModel.h>
Public Member Functions | |
| 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 int | GetColorSpaceDimensionality () const override |
| Gets the dimensionality (number of components) of the color space. | |
| virtual const imath::IUnitInfo * | GetColorSpaceComponentInfo (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. | |
| virtual const icmm::IColorTransformation * | CreateColorTranformation (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 () |
Protected Attributes | |
| imath::CGeneralUnitInfo | m_unitInfo |
| CTristimulusSpecification | m_spec |
Additional Inherited Members | |
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 |
Static Public Member Functions inherited from istd::IChangeable | |
| static const ChangeSet & | GetNoChanges () |
| Get empty set of changes. | |
| static const ChangeSet & | GetAnyChange () |
| Get anonymous change set. | |
| static const ChangeSet & | GetAllChanges () |
| Get anonymous change set. | |
| static const ChangeSet & | GetDelegatedChanges () |
| 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. | |
Concrete RGB color model implementation.
CRgbColorModel provides a complete implementation of the RGB color model interface. It represents the standard additive RGB color space with three components (Red, Green, Blue) and optionally includes a tristimulus specification for device-independent color management.
When created with an ITristimulusSpecification, the RGB model includes:
CRgbColorModel can create transformations to:
Definition at line 133 of file CRgbColorModel.h.
| icmm::CRgbColorModel::CRgbColorModel | ( | ) |
| icmm::CRgbColorModel::CRgbColorModel | ( | const ITristimulusSpecification & | spec | ) |
Sets a particular TristimulusSpecification, for example, if the RGB color is originating from Lab.
|
overridevirtual |
Make a copy of this object.
Reimplemented from istd::IChangeable.
|
overridevirtual |
Copy this object from another one.
Default implementation in istd::IChangeable does nothing.
Reimplemented from istd::IChangeable.
|
overridevirtual |
Creates a color transformation for conversion to another color model.
Constructs and returns a transformation object that can convert colors from this model to the specified target model. The transformation may be direct or may internally use intermediate color spaces (typically XYZ).
| otherColorModel | The target color model to convert to |
| transformationId | Optional identifier for a specific transformation algorithm. Empty (default) uses the standard transformation. |
Implements icmm::IColorModel.
|
overridevirtual |
Gets the classification of the color space defined by this model.
Indicates the physical basis of color mixing: additive (light-based), subtractive (pigment-based), or perceptual (human perception-based).
Implements icmm::IColorModel.
|
overridevirtual |
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.
| componentIndex | Zero-based index of the component (0 to dimensionality-1) |
Implements icmm::IColorModel.
Reimplemented in icmm::CRgbaColorModel.
|
overridevirtual |
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.
| componentIndex | Zero-based index of the component |
Implements icmm::IColorModel.
Reimplemented in icmm::CRgbaColorModel.
Referenced by icmm::CRgbaColorModel::GetColorSpaceComponentName().
|
overridevirtual |
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.
Implements icmm::IColorModel.
Reimplemented in icmm::CRgbaColorModel.
|
overridevirtual |
Gets the classification of the color model.
Indicates whether the color model is device-dependent or device-independent. Device-dependent models (RGB, CMYK) produce different colors on different devices, while device-independent models (XYZ, Lab) represent absolute colors.
Implements icmm::IColorModel.
|
overridevirtual |
Gets the type of the color model.
Returns the specific type identifier for this color model (e.g., MT_RGB, MT_CMYK). This identifies the mathematical representation and component structure.
Implements icmm::IColorModel.
|
overridevirtual |
Gets the color specification for this model, if available.
Returns additional specification information about the color model, such as white point, primaries (for RGB), or viewing conditions (for Lab). Not all models have specifications.
Reimplemented from icmm::IColorModel.
|
overridevirtual |
Get set of flags for supported operations.
Reimplemented from istd::IChangeable.
|
protected |
Definition at line 161 of file CRgbColorModel.h.
|
protected |
Definition at line 160 of file CRgbColorModel.h.
Referenced by icmm::CRgbaColorModel::GetColorSpaceComponentInfo().