VCG Library
Public Types | Public Member Functions | Static Public Member Functions | List of all members
vcg::Color4< T > Class Template Reference

#include <color4.h>

Inheritance diagram for vcg::Color4< T >:

Public Types

enum  ColorConstant {
  Black = 0xff000000 , Gray = 0xff808080 , White = 0xffffffff , Red = 0xff0000ff ,
  Green = 0xff00ff00 , Blue = 0xffff0000 , Cyan = 0xffffff00 , Yellow = 0xff00ffff ,
  Magenta = 0xffff00ff , LightGray =0xffc0c0c0 , LightRed =0xff8080ff , LightGreen =0xff80ff80 ,
  LightBlue =0xffff8080 , DarkGray =0xff404040 , DarkRed =0xff000040 , DarkGreen =0xff004000 ,
  DarkBlue =0xff400000

Public Member Functions

 Color4 (const T nx, const T ny, const T nz, const T nw)
 Color4 (const Point4< T > &c)
 Color4 (ColorConstant cc)
 Color4 (unsigned int cc)
template<class Q >
void Import (const Color4< Q > &b)
template<class Q >
void Import (const Point4< Q > &b)
Color4 operator+ (const Color4 &p) const
template<class ScalarInterpType >
void lerp (const Color4 &c0, const Color4 &c1, const ScalarInterpType x)
template<class ScalarInterpType >
void lerp (const Color4 &c0, const Color4 &c1, const Color4 &c2, const Point3< ScalarInterpType > &ip)
void SetColorRamp (const float &minf, const float &maxf, float v)
 given a float and a range set the corresponding color in the well known red->green->blue color ramp. To reverse the direction of the ramp just swap minf and maxf.
void SetColorRampParula (const float &minf, const float &maxf, float v)
void SetColorRampParula (float v)
void SetHSVColor (float h, float s, float v)
void SetGrayShade (float f)
void Import (const Color4< unsigned char > &b)
 END CLASS ///////////////////.
void Import (const Color4< unsigned char > &b)
void Import (const Color4< float > &b)
void Import (const Point4< float > &b)
void Import (const Point4< double > &b)
Color4< unsigned char > Construct (const Color4< float > &b)
Color4< float > Construct (const Color4< unsigned char > &b)
Color4< double > Construct (const Color4< unsigned char > &b)
 Color4 (Color4< unsigned char >::ColorConstant cc)
 Color4 (Color4< float >::ColorConstant cc)
 Color4 (Color4< double >::ColorConstant cc)
 Color4 (unsigned int cc)
 Color4 (unsigned int cc)
 Color4 (unsigned int cc)
Color4< unsigned char > operator+ (const Color4< unsigned char > &p) const
unsigned short ToUnsignedB5G5R5 (const Color4< unsigned char > &cc)
unsigned short ToUnsignedR5G5B5 (const Color4< unsigned char > &cc)
unsigned int ToUnsignedA8R8G8B8 (const Color4< unsigned char > &cc)
Color4< unsigned char > FromUnsignedR5G5B5 (unsigned short val)
Color4< unsigned char > FromUnsignedB5G5R5 (unsigned short val)

Static Public Member Functions

template<class Q >
static Color4 Construct (const Color4< Q > &b)
static Color4 GrayShade (float f)
static Color4 Scatter (int range, int value, float Sat=.3f, float Val=.9f)
static Color4 ColorRamp (const float &minf, const float &maxf, float v)
static unsigned short ToUnsignedB5G5R5 (const Color4 &)
static unsigned short ToUnsignedR5G5B5 (const Color4 &)
static unsigned int ToUnsignedA8R8G8B8 (const Color4 &)
static Color4 FromUnsignedB5G5R5 (unsigned short)
static Color4 FromUnsignedR5G5B5 (unsigned short)

Detailed Description

template<class T>
class vcg::Color4< T >

The templated class for representing 4 entity color. The class is templated over the ScalarType. class that is used to represent color with float or with unsigned chars. All the usual operator overloading (* + - ...) is present.

Member Enumeration Documentation

◆ ColorConstant

template<class T >
enum vcg::Color4::ColorConstant

Constant for storing standard colors. Each color is stored in a simple in so that the bit pattern match with the one of Color4b.

Member Function Documentation

◆ Scatter()

template<class T >
static Color4 vcg::Color4< T >::Scatter ( int  range,
int  value,
float  Sat = .3f,
float  Val = .9f 

Given an integer returns a well ordering of colors so that every color differs as much as possible form the previous one params: range is the maximum expected value (max of the range) value is the requested position (it must be <range);

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