|
ACF $AcfVersion:0$
|
Primitive for representation of HSV (Hue, Saturation, Value) color values. More...
#include <CHsv.h>
Public Types | |
| enum | ComponentIndex { CI_HUE , CI_SATURATION , CI_VALUE , CI_LAST = CI_VALUE } |
| typedef TComposedColor< 3 > | BaseClass |
Public Types inherited from icmm::TComposedColor< 3 > | |
| typedef imath::TVector< Size > | BaseClass |
| typedef BaseClass::Elements | Elements |
Public Types inherited from imath::TVector< Size, Element > | |
| typedef Element | ElementType |
| typedef Element | Elements[Size] |
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 | |
| CHsv (double h=0.0, double s=0.0, double v=0.0) | |
| CHsv (const CHsv &color) | |
| CHsv (const imath::CVarVector &vector) | |
| double | GetHue () const |
| void | SetHue (double value) |
| double | GetSaturation () const |
| void | SetSaturation (double value) |
| double | GetValue () const |
| void | SetValue (double value) |
| virtual bool | Serialize (iser::IArchive &archive) override |
| Load or store state of this object as a archive stream. | |
| CHsv | operator+ (const CHsv &color) const |
| CHsv | operator- (const CHsv &color) const |
| CHsv | operator* (const CHsv &color) const |
| CHsv | operator/ (const CHsv &color) const |
| CHsv | operator* (double value) const |
| CHsv | operator/ (double value) const |
| CHsv & | operator= (const CHsv &color) |
| const CHsv & | operator+= (const CHsv &color) |
| const CHsv & | operator-= (const CHsv &color) |
| const CHsv & | operator*= (const CHsv &color) |
| const CHsv & | operator/= (const CHsv &color) |
| const CHsv & | operator*= (double value) |
| const CHsv & | operator/= (double value) |
Public Member Functions inherited from icmm::TComposedColor< 3 > | |
| TComposedColor () | |
| TComposedColor (const BaseClass &value) | |
| TComposedColor (const imath::CVarVector &vector) | |
| TComposedColor (const TComposedColor< Size > &color)=default | |
| void | GetRounded (const imath::IDoubleManip &manipulator, TComposedColor< Size > &result) |
| Get color after components value rounding with specified precision. | |
| bool | IsRoundedEqual (const TComposedColor< Size > &color, const imath::IDoubleManip &manipulator) const |
| Check if two values are equal after rounding. | |
| bool | IsSimilar (const TComposedColor< Size > &color, double tolerance=I_BIG_EPSILON) const |
| Allows to compare two colors with tolerance. | |
| bool | IsNormalized () const |
| Check if this color value is normalized. | |
| void | Normalize () |
| Make this color to be normalized. | |
| void | GetNormalized (TComposedColor< Size > &result) const |
| Get normalized color. | |
| TComposedColor< Size > | operator+ (const TComposedColor< Size > &color) const |
| TComposedColor< Size > | operator- (const TComposedColor< Size > &color) const |
| TComposedColor< Size > | operator* (const TComposedColor< Size > &color) const |
| TComposedColor< Size > | operator* (double value) const |
| TComposedColor< Size > | operator/ (const TComposedColor< Size > &color) const |
| TComposedColor< Size > | operator/ (double value) const |
| const TComposedColor< Size > & | operator= (const TComposedColor< Size > &color) |
| const TComposedColor< Size > & | operator= (double colorValue) |
| const TComposedColor< Size > & | operator+= (const TComposedColor< Size > &color) |
| const TComposedColor< Size > & | operator-= (const TComposedColor< Size > &color) |
| const TComposedColor< Size > & | operator*= (const TComposedColor< Size > &color) |
| const TComposedColor< Size > & | operator*= (double value) |
| const TComposedColor< Size > & | operator/= (const TComposedColor< Size > &color) |
| const TComposedColor< Size > & | operator/= (double value) |
Public Member Functions inherited from imath::TVector< Size, Element > | |
| TVector () | |
| Creates an uninitialized vector. | |
| TVector (const TVector< Size, Element > &vector) | |
| Creates a copy of another vector. | |
| TVector (std::initializer_list< Element > values) | |
| Creates a vector from an initializer list. | |
| const Element & | GetElement (int i) const |
| Gets the element at the specified index (read-only). | |
| Element & | GetElementRef (int i) |
| Gets a reference to the element at the specified index (read-write). | |
| void | SetElement (int i, const Element &value) |
| Sets the element at the specified index. | |
| void | SetAllElements (const Element &value) |
| Sets all elements to the same value. | |
| void | Reset () |
| Sets all coordinates to zero. | |
| void | Clear () |
| Sets all coordinates to zero. | |
| const TVector< Size, Element >::Elements & | GetElements () const |
| Get read-only access to internal element container. | |
| TVector< Size, Element >::Elements & | GetElementsRef () |
| Get access to internal element container. | |
| void | Translate (const TVector< Size, Element > &vector) |
| Translates (adds) another vector to this vector. | |
| TVector< Size, Element > | GetTranslated (const TVector< Size, Element > &vector) |
| Returns a new vector that is the translation of this vector. | |
| void | GetTranslated (const TVector< Size, Element > &vector, TVector< Size, Element > &result) |
| Computes the translated vector and stores it in the result parameter. | |
| void | ScaledCumulate (const TVector< Size, Element > &vector, Element scale) |
| Adds a scaled vector to this vector. | |
| bool | IsNull (Element tolerance=I_BIG_EPSILON) const |
| Checks if this vector is null (all elements approximately zero). | |
| Element | GetDotProduct (const TVector< Size, Element > &vector) const |
| Calculates the dot product with another vector. | |
| Element | GetLength2 () const |
| Calculates the squared Euclidean length of the vector. | |
| Element | GetLength () const |
| Calculates the Euclidean length (magnitude) of the vector. | |
| Element | GetDistance2 (const TVector< Size, Element > &vector) const |
| Calculates the squared distance to another vector. | |
| Element | GetDistance (const TVector< Size, Element > &vector) const |
| Calculates the Euclidean distance to another vector. | |
| Element | GetElementsSum () const |
| Calculates the sum of all vector elements. | |
| bool | Normalize (Element length=1.0) |
| Normalizes the vector to a specified length. | |
| bool | GetNormalized (TVector< Size, Element > &result, Element length=1.0) const |
| Returns a normalized copy of this vector with specified length. | |
| void | GetMinimal (const TVector< Size, Element > &vector, TVector< Size, Element > &result) const |
| Get vector with minimal elements values. | |
| void | GetMaximal (const TVector< Size, Element > &vector, TVector< Size, Element > &result) const |
| Get vector with maximal elements values. | |
| bool | Serialize (iser::IArchive &archive) |
| Serialize this vector to specified archive. | |
| bool | operator== (const TVector< Size, Element > &vector) const |
| bool | operator!= (const TVector< Size, Element > &vector) const |
| bool | operator< (const TVector< Size, Element > &vector) const |
| bool | operator> (const TVector< Size, Element > &vector) const |
| bool | operator<= (const TVector< Size, Element > &vector) const |
| bool | operator>= (const TVector< Size, Element > &vector) const |
| TVector< Size, Element > & | operator= (const TVector< Size, Element > &vector)=default |
| TVector< Size, Element > | operator- () const |
| TVector< Size, Element > | operator+ (const TVector< Size, Element > &vector) const |
| TVector< Size, Element > | operator- (const TVector< Size, Element > &vector) const |
| TVector< Size, Element > | operator* (Element scalar) const |
| TVector< Size, Element > | operator/ (Element scalar) const |
| TVector< Size, Element > & | operator+= (const TVector< Size, Element > &vector) |
| TVector< Size, Element > & | operator-= (const TVector< Size, Element > &vector) |
| TVector< Size, Element > & | operator*= (Element scalar) |
| TVector< Size, Element > & | operator/= (Element scalar) |
| const Element & | operator[] (int i) const |
| Element & | operator[] (int i) |
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 int | GetSupportedOperations () const |
| Get set of flags for supported operations. | |
| virtual bool | CopyFrom (const IChangeable &object, CompatibilityMode mode=CM_WITHOUT_REFS) |
| Copy this object from another one. | |
| virtual bool | IsEqual (const IChangeable &object) const |
| Compare this object with another object. | |
| virtual istd::TUniqueInterfacePtr< istd::IChangeable > | CloneMe (CompatibilityMode mode=CM_WITHOUT_REFS) const |
| Make a copy of this 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 imath::TVector< Size, Element > | |
| static int | GetElementsCount () |
| Get number of elements. | |
| static bool | SetElementsCount (int count) |
| Set number of elements. | |
| static const TVector< Size, Element > & | GetZero () |
| Get vector with all coordinates set to 0. | |
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. | |
Protected Attributes inherited from imath::TVector< Size, Element > | |
| Elements | m_elements |
Primitive for representation of HSV (Hue, Saturation, Value) color values.
CHsv represents colors in the HSV color model, which is more intuitive for human color selection than RGB. HSV separates color (hue) from intensity (value) and colorfulness (saturation), making it easier to create color pickers, adjust brightness, or perform color-based image processing.
HSV consists of three cylindrical coordinates:
| typedef TComposedColor<3> icmm::CHsv::BaseClass |
|
inline |
Definition at line 231 of file CHsv.h.
References CI_HUE, CI_SATURATION, CI_VALUE, and imath::TVector< Size, Element >::SetElement().
|
inline |
|
inline |
Definition at line 253 of file CHsv.h.
References CI_HUE, and imath::TVector< Size, Element >::GetElement().
|
inline |
Definition at line 265 of file CHsv.h.
References CI_SATURATION, and imath::TVector< Size, Element >::GetElement().
|
inline |
Definition at line 277 of file CHsv.h.
References CI_VALUE, and imath::TVector< Size, Element >::GetElement().
Definition at line 375 of file CHsv.h.
References icmm::TComposedColor< 3 >::operator*=().
|
inline |
Definition at line 391 of file CHsv.h.
References icmm::TComposedColor< 3 >::operator*=().
Definition at line 359 of file CHsv.h.
References icmm::TComposedColor< 3 >::operator+=().
Definition at line 367 of file CHsv.h.
References icmm::TComposedColor< 3 >::operator-=().
Definition at line 383 of file CHsv.h.
References icmm::TComposedColor< 3 >::operator/=().
|
inline |
Definition at line 399 of file CHsv.h.
References icmm::TComposedColor< 3 >::operator/=().
Definition at line 351 of file CHsv.h.
References icmm::TComposedColor< 3 >::operator=().
|
overridevirtual |
Load or store state of this object as a archive stream.
Type of operation is depending on archive type.
Reimplemented from icmm::TComposedColor< 3 >.
|
inline |
Definition at line 259 of file CHsv.h.
References CI_HUE, and imath::TVector< Size, Element >::SetElement().
|
inline |
Definition at line 271 of file CHsv.h.
References CI_SATURATION, and imath::TVector< Size, Element >::SetElement().
|
inline |
Definition at line 283 of file CHsv.h.
References CI_VALUE, and imath::TVector< Size, Element >::SetElement().