OCC Main Page | FoundationClasses | Toolkits | Packages | Class Hierarchy | Data Structures | File List | Data Fields | Globals

FoundationClasses
TKernel
Quantity


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:
- its respective quantities of red, green and blue (R-G-B values), or
- its hue angle and its values of lightness and saturation (H-L-S values).
These two color definition systems are equivalent.
Use this class in conjunction with:
- the Quantity_TypeOfColor enumeration
which identifies the color definition system you are using,
- the Quantity_NameOfColor enumeration
which lists numerous predefined colors and
identifies them by their name.
.

#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)
Standard_EXPORT Quantity_Color ()
 Creates a colour with the default value of
Colour name : YELLOW
.
Standard_EXPORT Quantity_Color (const Quantity_NameOfColor AName)
 Creates the colour <aname>.
.
Standard_EXPORT 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.
.
Standard_EXPORT Quantity_ColorAssign (const Quantity_Color &Other)
 Updates the colour <me> from the definition of the
colour <other>.
.
Quantity_Coloroperator= (const Quantity_Color &Other)
Standard_EXPORT 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.
.
Standard_EXPORT 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.
.
Standard_EXPORT void SetValues (const Quantity_NameOfColor AName)
 Updates the colour <me> from the definition of the
colour <aname>.
.
Standard_EXPORT 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.
.
Standard_EXPORT 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_EXPORT 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_EXPORT Standard_Real SquareDistance (const Quantity_Color &AColor) const
 Returns the square of distance between two colours.
.
Standard_EXPORT Quantity_Parameter Blue () const
 Returns the Blue component (quantity of blue) of the
color <me>.
.
Standard_EXPORT Quantity_Parameter Green () const
 Returns the Green component (quantity of green) of the
color <me>.
.
Standard_EXPORT Quantity_Parameter Hue () const
 Returns the Hue component (hue angle) of the
color <me>.
.
Standard_EXPORT 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_EXPORT 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
Standard_EXPORT Quantity_Parameter Light () const
 Returns the Light component (value of the lightness) of the
color <me>.
.
Standard_EXPORT 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.
.
Standard_EXPORT Quantity_Parameter Red () const
 Returns the Red component (quantity of red) of the
color <me>.
.
Standard_EXPORT Quantity_Parameter Saturation () const
 Returns the Saturation component (value of the saturation)
of the color <me>.
.
Standard_EXPORT 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 Standard_EXPORT 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 Standard_EXPORT Quantity_Parameter Epsilon ()
 Returns the specified value used to compare <me> and
an other color in IsDifferent and in IsEqual methods.
.
static Standard_EXPORT 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_EXPORT 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 Standard_EXPORT 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 Standard_EXPORT 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 Standard_EXPORT void Test ()
 Internal test
.

Static Private Member Functions

static Standard_EXPORT void hlsrgb (const Standard_ShortReal H, const Standard_ShortReal L, const Standard_ShortReal S, Standard_ShortReal &R, Standard_ShortReal &G, Standard_ShortReal &B)
 Converts HLS components into RGB ones.
.
static Standard_EXPORT void rgbhls (const Standard_ShortReal R, const Standard_ShortReal G, const Standard_ShortReal B, Standard_ShortReal &H, Standard_ShortReal &L, Standard_ShortReal &S)
 Converts RGB components into HLS ones.
.
static Standard_EXPORT void ValuesOf (const Quantity_NameOfColor AName, const Quantity_TypeOfColor AType, Standard_ShortReal &R1, Standard_ShortReal &R2, Standard_ShortReal &R3)
 Returns the values of a predefined 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.
.

Private Attributes

Standard_ShortReal MyRed
Standard_ShortReal MyGreen
Standard_ShortReal MyBlue

Friends

Standard_EXPORT friend Handle_Standard_Type & Quantity_Color_Type_ ()


Constructor & Destructor Documentation

Standard_EXPORT Quantity_Color::Quantity_Color  ) 
 

Standard_EXPORT Quantity_Color::Quantity_Color const Quantity_NameOfColor  AName  ) 
 

Standard_EXPORT 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]
 

Standard_EXPORT Quantity_Color& Quantity_Color::Assign const Quantity_Color Other  ) 
 

Standard_EXPORT Quantity_Parameter Quantity_Color::Blue  )  const
 

Standard_EXPORT void Quantity_Color::ChangeContrast const Quantity_Rate  ADelta  ) 
 

Standard_EXPORT void Quantity_Color::ChangeIntensity const Quantity_Rate  ADelta  ) 
 

Standard_EXPORT void Quantity_Color::Delta const Quantity_Color AColor,
Quantity_Parameter DC,
Quantity_Parameter DI
const
 

Standard_EXPORT Standard_Real Quantity_Color::Distance const Quantity_Color AColor  )  const
 

static Standard_EXPORT Quantity_Parameter Quantity_Color::Epsilon  )  [static]
 

Standard_EXPORT Quantity_Parameter Quantity_Color::Green  )  const
 

static Standard_EXPORT void Quantity_Color::hlsrgb const Standard_ShortReal  H,
const Standard_ShortReal  L,
const Standard_ShortReal  S,
Standard_ShortReal R,
Standard_ShortReal G,
Standard_ShortReal B
[static, private]
 

static Standard_EXPORT 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]
 

Standard_EXPORT Quantity_Parameter Quantity_Color::Hue  )  const
 

Standard_EXPORT Standard_Boolean Quantity_Color::IsDifferent const Quantity_Color Other  )  const
 

Standard_EXPORT Standard_Boolean Quantity_Color::IsEqual const Quantity_Color Other  )  const
 

Standard_EXPORT Quantity_Parameter Quantity_Color::Light  )  const
 

static Standard_EXPORT Quantity_NameOfColor Quantity_Color::Name const Quantity_Parameter  R,
const Quantity_Parameter  G,
const Quantity_Parameter  B
[static]
 

Standard_EXPORT 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]
 

Standard_EXPORT Quantity_Parameter Quantity_Color::Red  )  const
 

static Standard_EXPORT void Quantity_Color::rgbhls const Standard_ShortReal  R,
const Standard_ShortReal  G,
const Standard_ShortReal  B,
Standard_ShortReal H,
Standard_ShortReal L,
Standard_ShortReal S
[static, private]
 

static Standard_EXPORT 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]
 

Standard_EXPORT Quantity_Parameter Quantity_Color::Saturation  )  const
 

static Standard_EXPORT void Quantity_Color::SetEpsilon const Quantity_Parameter  AnEpsilon  )  [static]
 

Standard_EXPORT void Quantity_Color::SetValues const Quantity_Parameter  R1,
const Quantity_Parameter  R2,
const Quantity_Parameter  R3,
const Quantity_TypeOfColor  AType
 

Standard_EXPORT void Quantity_Color::SetValues const Quantity_NameOfColor  AName  ) 
 

Standard_EXPORT Standard_Real Quantity_Color::SquareDistance const Quantity_Color AColor  )  const
 

static Standard_EXPORT Standard_CString Quantity_Color::StringName const Quantity_NameOfColor  AColor  )  [static]
 

static Standard_EXPORT void Quantity_Color::Test  )  [static]
 

Standard_EXPORT void Quantity_Color::Values Quantity_Parameter R1,
Quantity_Parameter R2,
Quantity_Parameter R3,
const Quantity_TypeOfColor  AType
const
 

static Standard_EXPORT void Quantity_Color::ValuesOf const Quantity_NameOfColor  AName,
const Quantity_TypeOfColor  AType,
Standard_ShortReal R1,
Standard_ShortReal R2,
Standard_ShortReal R3
[static, private]
 


Friends And Related Function Documentation

Standard_EXPORT friend Handle_Standard_Type& Quantity_Color_Type_  )  [friend]
 


Field Documentation

Standard_ShortReal Quantity_Color::MyBlue [private]
 

Standard_ShortReal Quantity_Color::MyGreen [private]
 

Standard_ShortReal Quantity_Color::MyRed [private]
 


The documentation for this class was generated from the following file:
Generated on Mon Aug 25 13:13:15 2008 for OpenCASCADE by  doxygen 1.4.1