00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
#ifndef COIN_SBCOLOR_H
00021
#define COIN_SBCOLOR_H
00022
00023
#include <Inventor/system/inttypes.h>
00024
#include <Inventor/SbVec3f.h>
00025
00026 class COIN_DLL_API SbColor :
public SbVec3f {
00027
public:
00028 SbColor(
void);
00029 SbColor(
const SbVec3f& v);
00030 SbColor(
const float*
const rgb);
00031 SbColor(
const float r,
const float g,
const float b);
00032
00033 SbColor & setHSVValue(
float h,
float s,
float v);
00034 SbColor & setHSVValue(
const float hsv[3]);
00035
void getHSVValue(
float &h,
float &s,
float &v)
const;
00036
void getHSVValue(
float hsv[3])
const;
00037 SbColor & setPackedValue(
const uint32_t rgba,
float& transparency);
00038 uint32_t getPackedValue(
const float transparency = 0.0f)
const;
00039
00040
private:
00041
float red(
void)
const {
return (*this)[0]; }
00042
float green(
void)
const {
return (*this)[1]; }
00043
float blue(
void)
const {
return (*this)[2]; }
00044 uint32_t convertToUInt(
const float val) {
return (uint32_t)(val*255.0f);}
00045 };
00046
00047
#endif // !COIN_SBCOLOR_H