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

Public Member Functions | List of all members
SbColor Class Reference

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

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
 
- Public Member Functions inherited from SbVec3f
 SbVec3f (void)
 
 SbVec3f (const float v[3])
 
 SbVec3f (const float x, const float y, const float z)
 
 SbVec3f (const SbPlane &p0, const SbPlane &p1, const SbPlane &p2)
 
 SbVec3f (const SbVec3d &v)
 
 SbVec3f (const SbVec3b &v)
 
 SbVec3f (const SbVec3s &v)
 
 SbVec3f (const SbVec3i32 &v)
 
SbVec3fsetValue (const float v[3])
 
SbVec3fsetValue (const float x, const float y, const float z)
 
SbVec3fsetValue (const SbVec3f &barycentric, const SbVec3f &v0, const SbVec3f &v1, const SbVec3f &v2)
 
SbVec3fsetValue (const SbVec3d &v)
 
SbVec3fsetValue (const SbVec3b &v)
 
SbVec3fsetValue (const SbVec3s &v)
 
SbVec3fsetValue (const SbVec3i32 &v)
 
SbVec3f cross (const SbVec3f &v) const
 
float dot (const SbVec3f &v) const
 
SbBool equals (const SbVec3f &v, const float tolerance) const
 
SbVec3f getClosestAxis (void) const
 
const float * getValue (void) const
 
void getValue (float &x, float &y, float &z) const
 
float length (void) const
 
float sqrLength () const
 
void negate (void)
 
float normalize (void)
 
float & operator[] (const int i)
 
const float & operator[] (const int i) const
 
SbVec3foperator*= (const float d)
 
SbVec3foperator/= (const float d)
 
SbVec3foperator+= (const SbVec3f &u)
 
SbVec3foperator-= (const SbVec3f &u)
 
SbVec3f operator- (void) const
 
void print (FILE *fp) 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() [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 0 is equal to 0° and 1 is equal to 360°.

See also
getHSVValue().

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

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

◆ 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 0 is equal to 0° and 1 is equal to 360°.

See also
getHSVValue().

References setHSVValue().

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

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

◆ getHSVValue() [2/2]

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

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

See also
setHSVValue().

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

References SbVec3f::setValue().

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

Referenced by SoVRMLIndexedLineSet::GLRender(), and SoVRMLInline::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 Fri Jul 20 2018 for Coin by Doxygen. 1.8.14