Open CASCADE Technology
7.3.0
|
This class allows the definition of a colour. The names of the colours are from the X11 specification. color object may be used for numerous applicative purposes. A color is defined by: More...
#include <Quantity_Color.hxx>
Public Member Functions | |
Quantity_Color () | |
Creates a colour with the default value of Colour name : YELLOW. More... | |
Quantity_Color (const Quantity_NameOfColor AName) | |
Creates the colour <AName>. More... | |
Quantity_Color (const Standard_Real theR1, const Standard_Real theR2, const Standard_Real theR3, const Quantity_TypeOfColor theType) | |
Creates a color according to the definition system theType. Quantity_TOC_RGB: More... | |
Quantity_Color (const NCollection_Vec3< float > &theRgb) | |
Define color from RGB values. More... | |
void | ChangeContrast (const Standard_Real ADelta) |
Increases or decreases the contrast by <ADelta>. <ADelta> is a percentage. Any value greater than zero will increase the contrast. The variation is expressed as a percentage of the current value. It is a variation of the saturation. More... | |
void | ChangeIntensity (const Standard_Real ADelta) |
Increases or decreases the intensity by <ADelta>. <ADelta> is a percentage. Any value greater than zero will increase the intensity. The variation is expressed as a percentage of the current value. It is a variation of the lightness. More... | |
void | SetValues (const Quantity_NameOfColor AName) |
Updates the colour <me> from the definition of the colour <AName>. More... | |
void | SetValues (const Standard_Real theR1, const Standard_Real theR2, const Standard_Real theR3, const Quantity_TypeOfColor theType) |
Updates a color according to the mode specified by theType. TOC_RGB: More... | |
void | Delta (const Quantity_Color &AColor, Standard_Real &DC, Standard_Real &DI) const |
Returns the percentage change of contrast and intensity between <me> and <AColor>. <DC> and <DI> are percentages, either positive or negative. The calculation is with respect to the current value of <me> If <DC> is positive then <me> is more contrasty. If <DI> is positive then <me> is more intense. More... | |
Standard_Real | Distance (const Quantity_Color &AColor) const |
Returns the distance between two colours. It's a value between 0 and the square root of 3 (the black/white distance) More... | |
Standard_Real | SquareDistance (const Quantity_Color &AColor) const |
Returns the square of distance between two colours. More... | |
Standard_Real | Blue () const |
Returns the Blue component (quantity of blue) of the color within range [0.0; 1.0]. More... | |
Standard_Real | Green () const |
Returns the Green component (quantity of green) of the color within range [0.0; 1.0]. More... | |
Standard_Real | Hue () const |
Returns the Hue component (hue angle) of the color in degrees within range [0.0; 360.0], 0.0 being Red. -1.0 is a special value reserved for grayscale color (S should be 0.0) More... | |
Standard_Boolean | IsDifferent (const Quantity_Color &Other) const |
Returns Standard_True if the distance between <me> and <Other> is greater than Epsilon (). More... | |
Standard_Boolean | operator!= (const Quantity_Color &Other) const |
Standard_Boolean | IsEqual (const Quantity_Color &Other) const |
Returns true if the Other color is. More... | |
Standard_Boolean | operator== (const Quantity_Color &Other) const |
Standard_Real | Light () const |
Returns the Light component (value of the lightness) of the color within range [0.0; 1.0]. More... | |
Quantity_NameOfColor | Name () const |
Returns the name of the color defined by its quantities of red R, green G and blue B; more precisely this is the nearest color from the Quantity_NameOfColor enumeration. Exceptions Standard_OutOfRange if R, G or B is less than 0. or greater than 1. More... | |
Standard_Real | Red () const |
Returns the Red component (quantity of red) of the color within range [0.0; 1.0]. More... | |
Standard_Real | Saturation () const |
Returns the Saturation component (value of the saturation) of the color within range [0.0; 1.0]. More... | |
operator const NCollection_Vec3< float > & () const | |
Return the color as vector of 3 float elements. More... | |
void | Values (Standard_Real &theR1, Standard_Real &theR2, Standard_Real &theR3, const Quantity_TypeOfColor theType) const |
Returns in theR1, theR2 and theR3 the components of this color according to the color system definition theType. If theType is Quantity_TOC_RGB: More... | |
Static Public Member Functions | |
static void | SetEpsilon (const Standard_Real AnEpsilon) |
Sets the specified value used to compare <me> and an other color in IsDifferent and in IsEqual methods. Warning: The default value is 0.0001. More... | |
static Standard_Real | Epsilon () |
Returns the specified value used to compare <me> and an other color in IsDifferent and in IsEqual methods. More... | |
static Quantity_NameOfColor | Name (const Standard_Real R, const Standard_Real G, const Standard_Real B) |
Returns the name of the colour for which the RGB components are nearest to <R>, <G> and . More... | |
static Standard_CString | StringName (const Quantity_NameOfColor AColor) |
Returns the name of the color identified by AName in the Quantity_NameOfColor enumeration. For example, the name of the color which corresponds to Quantity_NOC_BLACK is "BLACK". Exceptions Standard_OutOfRange if AName in not known in the Quantity_NameOfColor enumeration. More... | |
static Standard_Boolean | ColorFromName (const Standard_CString theName, Quantity_NameOfColor &theColor) |
Finds color from predefined names. For example, the name of the color which corresponds to "BLACK" is Quantity_NOC_BLACK. Returns false if name is unknown. More... | |
static void | HlsRgb (const Standard_Real H, const Standard_Real L, const Standard_Real S, Standard_Real &R, Standard_Real &G, Standard_Real &B) |
Converts HLS components into RGB ones. More... | |
static void | RgbHls (const Standard_Real R, const Standard_Real G, const Standard_Real B, Standard_Real &H, Standard_Real &L, Standard_Real &S) |
Converts RGB components into HLS ones. More... | |
static void | Color2argb (const Quantity_Color &theColor, Standard_Integer &theARGB) |
Convert the Color value to ARGB integer value. theARGB has Alpha equal to zero, so the output is formatted as 0x00RRGGBB. More... | |
static void | Argb2color (const Standard_Integer theARGB, Quantity_Color &theColor) |
Convert integer ARGB value to Color. Alpha bits are ignored. More... | |
static void | Test () |
Internal test. More... | |
This class allows the definition of a colour. The names of the colours are from the X11 specification. color object may be used for numerous applicative purposes. A color is defined by:
Quantity_Color::Quantity_Color | ( | ) |
Creates a colour with the default value of Colour name : YELLOW.
Quantity_Color::Quantity_Color | ( | const Quantity_NameOfColor | AName | ) |
Creates the colour <AName>.
Quantity_Color::Quantity_Color | ( | const Standard_Real | theR1, |
const Standard_Real | theR2, | ||
const Standard_Real | theR3, | ||
const Quantity_TypeOfColor | theType | ||
) |
Creates a color according to the definition system theType. Quantity_TOC_RGB:
Quantity_TOC_HLS:
|
explicit |
Define color from RGB values.
|
static |
Convert integer ARGB value to Color. Alpha bits are ignored.
Standard_Real Quantity_Color::Blue | ( | ) | const |
Returns the Blue component (quantity of blue) of the color within range [0.0; 1.0].
void Quantity_Color::ChangeContrast | ( | const Standard_Real | ADelta | ) |
Increases or decreases the contrast by <ADelta>. <ADelta> is a percentage. Any value greater than zero will increase the contrast. The variation is expressed as a percentage of the current value. It is a variation of the saturation.
void Quantity_Color::ChangeIntensity | ( | const Standard_Real | ADelta | ) |
Increases or decreases the intensity by <ADelta>. <ADelta> is a percentage. Any value greater than zero will increase the intensity. The variation is expressed as a percentage of the current value. It is a variation of the lightness.
|
static |
Convert the Color value to ARGB integer value. theARGB has Alpha equal to zero, so the output is formatted as 0x00RRGGBB.
|
static |
Finds color from predefined names. For example, the name of the color which corresponds to "BLACK" is Quantity_NOC_BLACK. Returns false if name is unknown.
void Quantity_Color::Delta | ( | const Quantity_Color & | AColor, |
Standard_Real & | DC, | ||
Standard_Real & | DI | ||
) | const |
Returns the percentage change of contrast and intensity between <me> and <AColor>. <DC> and <DI> are percentages, either positive or negative. The calculation is with respect to the current value of <me> If <DC> is positive then <me> is more contrasty. If <DI> is positive then <me> is more intense.
Standard_Real Quantity_Color::Distance | ( | const Quantity_Color & | AColor | ) | const |
Returns the distance between two colours. It's a value between 0 and the square root of 3 (the black/white distance)
|
static |
Returns the specified value used to compare <me> and an other color in IsDifferent and in IsEqual methods.
Standard_Real Quantity_Color::Green | ( | ) | const |
Returns the Green component (quantity of green) of the color within range [0.0; 1.0].
|
static |
Converts HLS components into RGB ones.
Standard_Real Quantity_Color::Hue | ( | ) | const |
Returns the Hue component (hue angle) of the color in degrees within range [0.0; 360.0], 0.0 being Red. -1.0 is a special value reserved for grayscale color (S should be 0.0)
Standard_Boolean Quantity_Color::IsDifferent | ( | const Quantity_Color & | Other | ) | const |
Returns Standard_True if the distance between <me> and <Other> is greater than Epsilon ().
Standard_Boolean Quantity_Color::IsEqual | ( | const Quantity_Color & | Other | ) | const |
Returns true if the Other color is.
Standard_Real Quantity_Color::Light | ( | ) | const |
Returns the Light component (value of the lightness) of the color within range [0.0; 1.0].
Quantity_NameOfColor Quantity_Color::Name | ( | ) | const |
Returns the name of the color defined by its quantities of red R, green G and blue B; more precisely this is the nearest color from the Quantity_NameOfColor enumeration. Exceptions Standard_OutOfRange if R, G or B is less than 0. or greater than 1.
|
static |
Returns the name of the colour for which the RGB components are nearest to <R>, <G> and .
|
inline |
Return the color as vector of 3 float elements.
|
inline |
|
inline |
Standard_Real Quantity_Color::Red | ( | ) | const |
Returns the Red component (quantity of red) of the color within range [0.0; 1.0].
|
static |
Converts RGB components into HLS ones.
Standard_Real Quantity_Color::Saturation | ( | ) | const |
Returns the Saturation component (value of the saturation) of the color within range [0.0; 1.0].
|
static |
Sets the specified value used to compare <me> and an other color in IsDifferent and in IsEqual methods. Warning: The default value is 0.0001.
void Quantity_Color::SetValues | ( | const Quantity_NameOfColor | AName | ) |
Updates the colour <me> from the definition of the colour <AName>.
void Quantity_Color::SetValues | ( | const Standard_Real | theR1, |
const Standard_Real | theR2, | ||
const Standard_Real | theR3, | ||
const Quantity_TypeOfColor | theType | ||
) |
Updates a color according to the mode specified by theType. TOC_RGB:
TOC_HLS:
Standard_Real Quantity_Color::SquareDistance | ( | const Quantity_Color & | AColor | ) | const |
Returns the square of distance between two colours.
|
static |
Returns the name of the color identified by AName in the Quantity_NameOfColor enumeration. For example, the name of the color which corresponds to Quantity_NOC_BLACK is "BLACK". Exceptions Standard_OutOfRange if AName in not known in the Quantity_NameOfColor enumeration.
|
static |
Internal test.
void Quantity_Color::Values | ( | Standard_Real & | theR1, |
Standard_Real & | theR2, | ||
Standard_Real & | theR3, | ||
const Quantity_TypeOfColor | theType | ||
) | const |
Returns in theR1, theR2 and theR3 the components of this color according to the color system definition theType. If theType is Quantity_TOC_RGB: