Coin Logo http://www.sim.no
http://www.coin3d.org

SbColor Class Reference
[Base classes]

The SbColor class contains the red, green and blue components which make up a color value.

This class is used within other classes in Coin. It inherits the SbVec3f class, interpreting the 3 component vector as a vector in the RGB cube where the red, green and blue components corresponds to x, y and z respectively. More...

#include <Inventor/SbColor.h>

Inheritance diagram for SbColor:

SbVec3f

List of all members.

Public Member Functions

 SbColor (void)
 SbColor (const SbVec3f &v)
 SbColor (const float *const rgb)
 SbColor (const float r, const float g, const float b)
SbColorsetHSVValue (float h, float s, float v)
SbColorsetHSVValue (const float hsv[3])
void getHSVValue (float &h, float &s, float &v) const
void getHSVValue (float hsv[3]) const
SbColorsetPackedValue (const uint32_t rgba, float &transparency)
uint32_t getPackedValue (const float transparency=0.0f) const


Detailed Description

The SbColor class contains the red, green and blue components which make up a color value.

This class is used within other classes in Coin. It inherits the SbVec3f class, interpreting the 3 component vector as a vector in the RGB cube where the red, green and blue components corresponds to x, y and z respectively.

SbColor also adds a few extra methods for convenient handling of setting and getting color values as 32 bit packed values or as HSV values.

See also:
SbVec3f, SbColor4f

Constructor & Destructor Documentation

SbColor::SbColor ( void   ) 

Default constructor. The color value will be uninitialized.

SbColor::SbColor ( const SbVec3f v  ) 

Construct and initialize an SbColor with the red, green and blue values given by the v vector.

SbColor::SbColor ( const float *const   rgb  ) 

Construct and initialize an SbColor with the red, green and blue taken from given rgb array.

SbColor::SbColor ( const float  r,
const float  g,
const float  b 
)

Construct and initialize an SbColor with the given red, green and blue values.


Member Function Documentation

SbColor & SbColor::setHSVValue ( float  hue,
float  saturation,
float  value 
)

Set the color as a hue, saturation, value triplet. The hue component should be normalized to within [0, 1] before you call this method, where 0 is equal to 0° and 1 is equal to 360°.

See also:
getHSVValue().

References SoDebugError::postWarning(), and SbVec3f::setValue().

Referenced by SoMFColor::set1HSVValue(), SoSFColor::setHSVValue(), SoMFColor::setHSVValue(), SbColor4f::setHSVValue(), and setHSVValue().

SbColor & SbColor::setHSVValue ( const float  hsv[3]  ) 

Set the color as a hue, saturation, value triplet. The hue component should be normalized to within [0, 1] before you call this method, where 0 is equal to 0° and 1 is equal to 360°.

See also:
getHSVValue().

References setHSVValue().

void SbColor::getHSVValue ( float &  h,
float &  s,
float &  v 
) const

Return the color as a hue, saturation, value triplet.

See also:
setHSVValue().

Referenced by SbColor4f::getHSVValue(), and getHSVValue().

void SbColor::getHSVValue ( float  hsv[3]  )  const

Return the color as a hue, saturation, value triplet.

See also:
setHSVValue().

References getHSVValue().

SbColor & SbColor::setPackedValue ( const uint32_t  rgba,
float &  transparency 
)

Set the color value as a 32 bit combined red/green/blue/alpha value. Each component is 8 bit wide (i.e. from 0x00 to 0xff), and the red value should be stored leftmost, like this: 0xRRGGBBAA.

The transparency value is not stored internally in SbColor, just converted to a transparency value in [0, 1] and returned in the transparency field. A value of 1.0 means completely transparent and a value of 0.0 is completely opaque.

See also:
getPackedValue().

References SbVec3f::setValue().

uint32_t SbColor::getPackedValue ( const float  transparency = 0.0f  )  const

Return color as a 32 bit packed integer in the form 0xRRGGBBAA. The transparency part of the return value is taken from the supplied transparency argument.

See also:
setPackedValue().

Referenced by SoVRMLInline::GLRender(), and SoVRMLIndexedLineSet::GLRender().


The documentation for this class was generated from the following files:

Copyright © 1998-2007 by Systems in Motion AS. All rights reserved.

Generated on Mon Feb 23 16:33:40 2009 for Coin by Doxygen. 1.5.8