Coin3D is Free Software, published under the BSD 3-clause license. |
https://bitbucket.org/Coin3D/ http://www.kongsberg.com/kogt/ |
The SbColor class contains the red, green and blue components which make up a color value. More...
#include <Inventor/SbColor.h>
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 Functions 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) |
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.
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.
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°.
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°.
void SbColor::getHSVValue | ( | float & | h, |
float & | s, | ||
float & | v | ||
) | const |
Return the color as a hue
, saturation
, value
triplet.
void SbColor::getHSVValue | ( | float | hsv[3] | ) | const |
Return the color as a hue
, saturation
, value
triplet.
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.
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.