Coin  4.0.3
Coin3D core library
Loading...
Searching...
No Matches
SbColor Class Reference

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:
SbVec3f

Public Member Functions

 SbColor (const float *const rgb)
 
 SbColor (const float r, const float g, const float b)
 
 SbColor (const SbVec3f &v)
 
 SbColor (void)
 
void getHSVValue (float &h, float &s, float &v) const
 
void getHSVValue (float hsv[3]) const
 
uint32_t getPackedValue (const float transparency=0.0f) const
 
SbColorsetHSVValue (const float hsv[3])
 
SbColorsetHSVValue (float h, float s, float v)
 
SbColorsetPackedValue (const uint32_t rgba, float &transparency)
 
- Public Member Functions inherited from SbVec3f
 SbVec3f (const float v[3])
 
 SbVec3f (const SbPlane &p0, const SbPlane &p1, const SbPlane &p2)
 
 SbVec3f (const SbVec3b &v)
 
 SbVec3f (const SbVec3d &v)
 
 SbVec3f (const SbVec3i32 &v)
 
 SbVec3f (const SbVec3s &v)
 
 SbVec3f (float x, float y, float z)
 
 SbVec3f (void)
 
SbVec3f cross (const SbVec3f &v) const
 
float dot (const SbVec3f &v) const
 
SbBool equals (const SbVec3f &v, float tolerance) const
 
SbBool fromString (const SbString &str)
 
SbVec3f getClosestAxis (void) const
 
void getValue (float &x, float &y, float &z) const
 
const float * getValue (void) const
 
float length (void) const
 
void negate (void)
 
float normalize (void)
 
SbVec3foperator*= (float d)
 
SbVec3foperator+= (const SbVec3f &v)
 
SbVec3f operator- (void) const
 
SbVec3foperator-= (const SbVec3f &v)
 
SbVec3foperator/= (float d)
 
float & operator[] (int i)
 
const float & operator[] (int i) const
 
void print (FILE *fp) const
 
SbVec3fsetValue (const float v[3])
 
SbVec3fsetValue (const SbVec3b &v)
 
SbVec3fsetValue (const SbVec3d &v)
 
SbVec3fsetValue (const SbVec3f &barycentric, const SbVec3f &v0, const SbVec3f &v1, const SbVec3f &v2)
 
SbVec3fsetValue (const SbVec3i32 &v)
 
SbVec3fsetValue (const SbVec3s &v)
 
SbVec3fsetValue (float x, float y, float z)
 
float sqrLength (void) const
 
SbString toString () const
 

Additional Inherited Members

- Protected Attributes inherited from SbVec3f
float vec [3]
 

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

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

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

◆ setHSVValue() [1/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().

◆ setHSVValue() [2/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().

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

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