Coin: SbColor Class Reference

| Coin3D is Free Software, published under the BSD 3-clause license. | https://coin3d.github.io https://www.kongsberg.com/en/kogt/

SbColor Class Reference
Base Classes

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

`#include <Inventor/SbColor.h>`

Inheritance diagram for SbColor:

## 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
Public Member Functions inherited from SbVec3f
| SbVec3f (void)
| SbVec3f (const float v[3])
| SbVec3f (float x, float y, float z)
| SbVec3f (const SbVec3d &v)
| SbVec3f (const SbVec3b &v)
| SbVec3f (const SbVec3s &v)
| SbVec3f (const SbVec3i32 &v)
| SbVec3f (const SbPlane &p0, const SbPlane &p1, const SbPlane &p2)
SbVec3f & | setValue (const float v[3])
SbVec3f & | setValue (float x, float y, float z)
SbVec3f & | setValue (const SbVec3f &barycentric, const SbVec3f &v0, const SbVec3f &v1, const SbVec3f &v2)
SbVec3f & | setValue (const SbVec3d &v)
SbVec3f & | setValue (const SbVec3b &v)
SbVec3f & | setValue (const SbVec3s &v)
SbVec3f & | setValue (const SbVec3i32 &v)
const float * | getValue (void) const
void | getValue (float &x, float &y, float &z) const
float & | operator[] (int i)
const float & | operator[] (int i) const
SbBool | equals (const SbVec3f &v, float tolerance) const
SbVec3f | cross (const SbVec3f &v) const
float | dot (const SbVec3f &v) const
SbVec3f | getClosestAxis (void) const
float | length (void) const
float | sqrLength (void) const
float | normalize (void)
void | negate (void)
SbVec3f & | operator*= (float d)
SbVec3f & | operator/= (float d)
SbVec3f & | operator+= (const SbVec3f &v)
SbVec3f & | operator-= (const SbVec3f &v)
SbVec3f | operator- (void) const
SbString | toString () const
SbBool | fromString (const SbString &str)
void | print (FILE *fp) const

## Additional Inherited Members
Protected Attributes inherited from SbVec3f
float | vec [3]
Related Symbols inherited from SbVec3f
SbVec3f | operator* (const SbVec3f &v, float d)
SbVec3f | operator* (float d, const SbVec3f &v)
SbVec3f | operator/ (const SbVec3f &v, float d)
SbVec3f | operator+ (const SbVec3f &v1, const SbVec3f &v2)
SbVec3f | operator- (const SbVec3f &v1, const SbVec3f &v2)
int | operator== (const SbVec3f &v1, const SbVec3f &v2)
int | operator!= (const SbVec3f &v1, const SbVec3f &v2)

## 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() [1/4]

SbColor::SbColor | ( | void |  | ) |

Default constructor. The color value will be uninitialized.

## ◆ SbColor() [2/4]

SbColor::SbColor | ( | const SbVec3f & | v | ) |

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

## ◆ SbColor() [3/4]

SbColor::SbColor | ( | const float *const | rgb | ) |

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

## ◆ SbColor() [4/4]

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

## ◆ setHSVValue() [1/2]

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 a value of 0 corresponds to 0 degrees and a value of 1 corresponds to 360 degrees.

See also
  getHSVValue().

## ◆ setHSVValue() [2/2]

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 a value of 0 corresponds to 0 degrees and a value of 1 corresponds to 360 degrees.

See also
  getHSVValue().

## ◆ getHSVValue() [1/2]

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

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

See also
  setHSVValue().

## ◆ getHSVValue() [2/2]

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

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

See also
  setHSVValue().

## ◆ setPackedValue()

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

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