# SbColor Class Reference
[Base classes]

`#include <Inventor/SbColor.h>`

Inheritance diagram for SbColor:

List of all members.

## 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

## Public Member Functions

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

## 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().

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().

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

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

See also:
  setHSVValue().

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

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

See also:
  setHSVValue().

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().

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().

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

- SbColor.h
- SbColor.cpp