Quantity_Color Class Reference

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:

#include <Quantity_Color.hxx>

Public Member Functions

void * operator new (size_t, void *anAddress)
void * operator new (size_t size)
void operator delete (void *anAddress)
 Quantity_Color ()
 Creates a colour with the default value of
Colour name : YELLOW

 Quantity_Color (const Quantity_NameOfColor AName)
 Creates the colour <AName>.

 Quantity_Color (const Quantity_Parameter R1, const Quantity_Parameter R2, const Quantity_Parameter R3, const Quantity_TypeOfColor AType)
 Creates a colour according to the definition system
TypeOfColor.
TOC_RGB : <R1> the value of red between 0. and 1.
<R2> the value of green between 0. and 1.
<R3> the value of blue between 0. and 1.

Quantity_ColorAssign (const Quantity_Color &Other)
 Updates the colour <me> from the definition of the
colour <Other>.

Quantity_Coloroperator= (const Quantity_Color &Other)
void ChangeContrast (const Quantity_Rate 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 ChangeIntensity (const Quantity_Rate 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.

void SetValues (const Quantity_NameOfColor AName)
 Updates the colour <me> from the definition of the
colour <AName>.

void SetValues (const Quantity_Parameter R1, const Quantity_Parameter R2, const Quantity_Parameter R3, const Quantity_TypeOfColor AType)
 Updates a colour according to the mode specified by
TypeOfColor
TOC_RGB : <R1> the value of red between 0. and 1.
<R2> the value of green between 0. and 1.
<R3> the value of blue between 0. and 1.

void Delta (const Quantity_Color &AColor, Quantity_Parameter &DC, Quantity_Parameter &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 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)

Standard_Real SquareDistance (const Quantity_Color &AColor) const
 Returns the square of distance between two colours.

Quantity_Parameter Blue () const
 Returns the Blue component (quantity of blue) of the
color <me>.

Quantity_Parameter Green () const
 Returns the Green component (quantity of green) of the
color <me>.

Quantity_Parameter Hue () const
 Returns the Hue component (hue angle) of the
color <me>.

Standard_Boolean IsDifferent (const Quantity_Color &Other) const
 Returns Standard_True if the distance between <me> and
<Other> is greater than Epsilon ().

Standard_Boolean operator!= (const Quantity_Color &Other) const
Standard_Boolean IsEqual (const Quantity_Color &Other) const
 Returns true if the Other color is

  • different from, or
  • equal to this color.
    Two colors are considered to be equal if their
    distance is no greater than Epsilon().
    These methods are aliases of operator != and operator ==.

Standard_Boolean operator== (const Quantity_Color &Other) const
Quantity_Parameter Light () const
 Returns the Light component (value of the lightness) of the
color <me>.

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.

Quantity_Parameter Red () const
 Returns the Red component (quantity of red) of the
color <me>.

Quantity_Parameter Saturation () const
 Returns the Saturation component (value of the saturation)
of the color <me>.

void Values (Quantity_Parameter &R1, Quantity_Parameter &R2, Quantity_Parameter &R3, const Quantity_TypeOfColor AType) const
 Returns in R1, R2 and R3 the components of
this color according to the color system definition AType.

  • if AType is Quantity_TOC_RGB R1 is the
    quantity of red, R2 is the quantity of green and
    R3 is the quantity of blue in this color.
  • if AType is Quantity_TOC_HLS R1 is the
    hue angle in degrees (0 being red), R2 is the
    lightness and R3 is the saturation of this color.

Standard_ShortReal _CSFDB_GetQuantity_ColorMyRed () const
void _CSFDB_SetQuantity_ColorMyRed (const Standard_ShortReal p)
Standard_ShortReal _CSFDB_GetQuantity_ColorMyGreen () const
void _CSFDB_SetQuantity_ColorMyGreen (const Standard_ShortReal p)
Standard_ShortReal _CSFDB_GetQuantity_ColorMyBlue () const
void _CSFDB_SetQuantity_ColorMyBlue (const Standard_ShortReal p)

Static Public Member Functions

static void SetEpsilon (const Quantity_Parameter 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

static Quantity_Parameter Epsilon ()
 Returns the specified value used to compare <me> and
an other color in IsDifferent and in IsEqual methods.

static Quantity_NameOfColor Name (const Quantity_Parameter R, const Quantity_Parameter G, const Quantity_Parameter B)
 Returns the name of the colour for which the RGB components
are nearest to <R>, <G> and .

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.

static void HlsRgb (const Quantity_Parameter H, const Quantity_Parameter L, const Quantity_Parameter S, Quantity_Parameter &R, Quantity_Parameter &G, Quantity_Parameter &B)
 Converts HLS components into RGB ones.

static void RgbHls (const Quantity_Parameter R, const Quantity_Parameter G, const Quantity_Parameter B, Quantity_Parameter &H, Quantity_Parameter &L, Quantity_Parameter &S)
 Converts RGB components into HLS ones.

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

static void Argb2color (const Standard_Integer theARGB, Quantity_Color &theColor)
 Convert integer ARGB value to Color. Alpha bits are ignored

static void Test ()
 Internal test


Constructor & Destructor Documentation

Quantity_Color::Quantity_Color (  ) 
Quantity_Color::Quantity_Color ( const Quantity_NameOfColor  AName  ) 
Quantity_Color::Quantity_Color ( const Quantity_Parameter  R1,
const Quantity_Parameter  R2,
const Quantity_Parameter  R3,
const Quantity_TypeOfColor  AType 
)

Member Function Documentation

Standard_ShortReal Quantity_Color::_CSFDB_GetQuantity_ColorMyBlue (  )  const [inline]
Standard_ShortReal Quantity_Color::_CSFDB_GetQuantity_ColorMyGreen (  )  const [inline]
Standard_ShortReal Quantity_Color::_CSFDB_GetQuantity_ColorMyRed (  )  const [inline]
void Quantity_Color::_CSFDB_SetQuantity_ColorMyBlue ( const Standard_ShortReal  p  )  [inline]
void Quantity_Color::_CSFDB_SetQuantity_ColorMyGreen ( const Standard_ShortReal  p  )  [inline]
void Quantity_Color::_CSFDB_SetQuantity_ColorMyRed ( const Standard_ShortReal  p  )  [inline]
static void Quantity_Color::Argb2color ( const Standard_Integer  theARGB,
Quantity_Color theColor 
) [static]
Quantity_Color& Quantity_Color::Assign ( const Quantity_Color Other  ) 
Quantity_Parameter Quantity_Color::Blue (  )  const
void Quantity_Color::ChangeContrast ( const Quantity_Rate  ADelta  ) 
void Quantity_Color::ChangeIntensity ( const Quantity_Rate  ADelta  ) 
static void Quantity_Color::Color2argb ( const Quantity_Color theColor,
Standard_Integer theARGB 
) [static]
void Quantity_Color::Delta ( const Quantity_Color AColor,
Quantity_Parameter DC,
Quantity_Parameter DI 
) const
Standard_Real Quantity_Color::Distance ( const Quantity_Color AColor  )  const
static Quantity_Parameter Quantity_Color::Epsilon (  )  [static]
Quantity_Parameter Quantity_Color::Green (  )  const
static void Quantity_Color::HlsRgb ( const Quantity_Parameter  H,
const Quantity_Parameter  L,
const Quantity_Parameter  S,
Quantity_Parameter R,
Quantity_Parameter G,
Quantity_Parameter B 
) [static]
Quantity_Parameter Quantity_Color::Hue (  )  const
Standard_Boolean Quantity_Color::IsDifferent ( const Quantity_Color Other  )  const
Standard_Boolean Quantity_Color::IsEqual ( const Quantity_Color Other  )  const
Quantity_Parameter Quantity_Color::Light (  )  const
static Quantity_NameOfColor Quantity_Color::Name ( const Quantity_Parameter  R,
const Quantity_Parameter  G,
const Quantity_Parameter  B 
) [static]
Quantity_NameOfColor Quantity_Color::Name (  )  const
void Quantity_Color::operator delete ( void *  anAddress  )  [inline]
void* Quantity_Color::operator new ( size_t  size  )  [inline]
void* Quantity_Color::operator new ( size_t  ,
void *  anAddress 
) [inline]
Standard_Boolean Quantity_Color::operator!= ( const Quantity_Color Other  )  const [inline]
Quantity_Color& Quantity_Color::operator= ( const Quantity_Color Other  )  [inline]
Standard_Boolean Quantity_Color::operator== ( const Quantity_Color Other  )  const [inline]
Quantity_Parameter Quantity_Color::Red (  )  const
static void Quantity_Color::RgbHls ( const Quantity_Parameter  R,
const Quantity_Parameter  G,
const Quantity_Parameter  B,
Quantity_Parameter H,
Quantity_Parameter L,
Quantity_Parameter S 
) [static]
Quantity_Parameter Quantity_Color::Saturation (  )  const
static void Quantity_Color::SetEpsilon ( const Quantity_Parameter  AnEpsilon  )  [static]
void Quantity_Color::SetValues ( const Quantity_Parameter  R1,
const Quantity_Parameter  R2,
const Quantity_Parameter  R3,
const Quantity_TypeOfColor  AType 
)
void Quantity_Color::SetValues ( const Quantity_NameOfColor  AName  ) 
Standard_Real Quantity_Color::SquareDistance ( const Quantity_Color AColor  )  const
static Standard_CString Quantity_Color::StringName ( const Quantity_NameOfColor  AColor  )  [static]
static void Quantity_Color::Test (  )  [static]
void Quantity_Color::Values ( Quantity_Parameter R1,
Quantity_Parameter R2,
Quantity_Parameter R3,
const Quantity_TypeOfColor  AType 
) const

The documentation for this class was generated from the following file:
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Generated on Thu Mar 3 11:01:35 2011 for Open CASCADE Technology by  doxygen 1.6.3