Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

Teddy::Graphics::Color Class Reference

Color with red, green, blue and alpha components. More...

#include <Color.h>

Collaboration diagram for Teddy::Graphics::Color:

Collaboration graph
[legend]
List of all members.

Public Methods

 Color ()
 Default Color constructor. More...

 Color (const float r, const float g, const float b)
 Color constructor with given rgb components. More...

 Color (const float r, const float g, const float b, const float a)
 Color constructor with given rgba components. More...

 Color (const float rgba[4])
 Color constructor with given rgba components in array. More...

void debug ()
 Debugging information. More...

void glApply () const
 Apply color to OpenGL state. More...

Color operator+ (const Color &c) const
 Add two colors together. More...

Color & operator+= (const Color &c)
 Add two colors together. More...

Color operator- (const Color &c) const
 Substract other Color from this Color. More...

Color & operator-= (const Color &c)
 Substract other Color from this Color. More...

Color operator * (const float &k) const
 Multiply this Color with a scalar. More...

Color & operator *= (const float &k)
 Multiply this Color with a scalar. More...


Static Public Methods

float maxrgb (float r, float g, float b)
float minrgb (float r, float g, float b)
void rgb2hsv (float r, float g, float b, float *hout, float *sout, float *vout)
void hsv2rgb (float hin, float s, float v, float *rout, float *gout, float *bout)

Public Attributes

float rgba [4]
 The color components in float array. More...


Static Public Attributes

Color BLACK = Color( C_BLACK )
Color WHITE = Color( C_WHITE )
Color RED = Color( C_RED )
Color GREEN = Color( C_GREEN )
Color BLUE = Color( C_BLUE )
Color GRAY = Color( C_GRAY )
Color CYAN = Color( C_CYAN )
Color MAGENTA = Color( C_MAGENTA )
Color YELLOW = Color( C_YELLOW )
Color ORANGE = Color( C_ORANGE )
Color DARK_RED = Color( C_DARK_RED )
Color DARK_GREEN = Color( C_DARK_GREEN )
Color DARK_BLUE = Color( C_DARK_BLUE )
Color DARK_CYAN = Color( C_DARK_CYAN )
Color DARK_MAGENTA = Color( C_DARK_MAGENTA )
Color DARK_YELLOW = Color( C_DARK_YELLOW )
Color DARK_ORANGE = Color( C_DARK_ORANGE )
Color LIGHT_RED = Color( C_LIGHT_RED )
Color LIGHT_GREEN = Color( C_LIGHT_GREEN )
Color LIGHT_BLUE = Color( C_LIGHT_BLUE )
Color LIGHT_CYAN = Color( C_LIGHT_CYAN )
Color LIGHT_MAGENTA = Color( C_LIGHT_MAGENTA )
Color LIGHT_YELLOW = Color( C_LIGHT_YELLOW )
Color LIGHT_ORANGE = Color( C_LIGHT_ORANGE )
Color GRAY_50 = Color( C_GRAY_50 )
Color GRAY_25 = Color( C_GRAY_25 )
Color GRAY_75 = Color( C_GRAY_75 )

Detailed Description

Color with red, green, blue and alpha components.

Bug:
No limit checks

This class stores colors and applies them to OpenGL.

Definition at line 73 of file Color.h.


Constructor & Destructor Documentation

Teddy::Graphics::Color::Color  
 

Default Color constructor.

Definition at line 64 of file Color.cpp.

References rgba.

Referenced by operator *, operator+, and operator-.

Teddy::Graphics::Color::Color const float    r,
const float    g,
const float    b
 

Color constructor with given rgb components.

Parameters:
r  Red, normal values 0..1
g  Green, normal values 0..1
b  Blue, normal values 0..1

Definition at line 78 of file Color.cpp.

References rgba.

Teddy::Graphics::Color::Color const float    r,
const float    g,
const float    b,
const float    a
 

Color constructor with given rgba components.

Parameters:
r  Red, normal values 0..1
g  Green, normal values 0..1
b  Blue, normal values 0..1
a  Alpha, normal values 0..1

Definition at line 93 of file Color.cpp.

References rgba.

Teddy::Graphics::Color::Color const float    rgba[4]
 

Color constructor with given rgba components in array.

Parameters:
rgba  Pointer to C array of four floats for red, green, blue and alpha.

Definition at line 105 of file Color.cpp.

References rgba.


Member Function Documentation

void Teddy::Graphics::Color::debug  
 

Debugging information.

Definition at line 114 of file Color.cpp.

void Teddy::Graphics::Color::glApply   const
 

Apply color to OpenGL state.

Definition at line 120 of file Color.cpp.

References rgba.

void Teddy::Graphics::Color::hsv2rgb float    hin,
float    s,
float    v,
float *    rout,
float *    gout,
float *    bout
[static]
 

Definition at line 305 of file Color.cpp.

float Teddy::Graphics::Color::maxrgb float    r,
float    g,
float    b
[static]
 

Definition at line 220 of file Color.cpp.

Referenced by rgb2hsv.

float Teddy::Graphics::Color::minrgb float    r,
float    g,
float    b
[static]
 

Definition at line 236 of file Color.cpp.

Referenced by rgb2hsv.

Color Teddy::Graphics::Color::operator * const float &    k const
 

Multiply this Color with a scalar.

Parameters:
k  Scalar value with which each Color component is multiplied
Returns:
The LHS Color multiplied by the RHS scalar
Warning:
There is no checking for overflows

Definition at line 193 of file Color.cpp.

References Color, and rgba.

Color & Teddy::Graphics::Color::operator *= const float &    k
 

Multiply this Color with a scalar.

Parameters:
k  Scalar value with which each Color component is multiplied
Returns:
The original Color multiplied by the RHS scalar
Warning:
There is no checking for overflows

Definition at line 209 of file Color.cpp.

References rgba.

Color Teddy::Graphics::Color::operator+ const Color &    c const
 

Add two colors together.

Parameters:
c  The other Color to be added to this Color
Returns:
Sum of the two colors
Warning:
There is no check for overflows

Definition at line 131 of file Color.cpp.

References Color, and rgba.

Color & Teddy::Graphics::Color::operator+= const Color &    c
 

Add two colors together.

Parameters:
c  The other Color to be added to this Color
Returns:
Sum of the two colors
Warning:
There is no check for overflows

Definition at line 147 of file Color.cpp.

References rgba.

Color Teddy::Graphics::Color::operator- const Color &    c const
 

Substract other Color from this Color.

Parameters:
c  The other Color to be substracted from this Color
Returns:
LHS color minus the RHS color
Warning:
There is no check for underflows

Definition at line 162 of file Color.cpp.

References Color, and rgba.

Color & Teddy::Graphics::Color::operator-= const Color &    c
 

Substract other Color from this Color.

Parameters:
c  The other Color to be substracted from this Color
Returns:
The original color minus the other color
Warning:
There is no check for underflows

Definition at line 178 of file Color.cpp.

References rgba.

void Teddy::Graphics::Color::rgb2hsv float    r,
float    g,
float    b,
float *    hout,
float *    sout,
float *    vout
[static]
 

Definition at line 255 of file Color.cpp.

References maxrgb, and minrgb.


Member Data Documentation

Color Teddy::Graphics::Color::BLACK = Color( C_BLACK ) [static]
 

Definition at line 34 of file Color.cpp.

Color Teddy::Graphics::Color::BLUE = Color( C_BLUE ) [static]
 

Definition at line 38 of file Color.cpp.

Color Teddy::Graphics::Color::CYAN = Color( C_CYAN ) [static]
 

Definition at line 40 of file Color.cpp.

Color Teddy::Graphics::Color::DARK_BLUE = Color( C_DARK_BLUE ) [static]
 

Definition at line 46 of file Color.cpp.

Color Teddy::Graphics::Color::DARK_CYAN = Color( C_DARK_CYAN ) [static]
 

Definition at line 47 of file Color.cpp.

Color Teddy::Graphics::Color::DARK_GREEN = Color( C_DARK_GREEN ) [static]
 

Definition at line 45 of file Color.cpp.

Color Teddy::Graphics::Color::DARK_MAGENTA = Color( C_DARK_MAGENTA ) [static]
 

Definition at line 48 of file Color.cpp.

Color Teddy::Graphics::Color::DARK_ORANGE = Color( C_DARK_ORANGE ) [static]
 

Definition at line 50 of file Color.cpp.

Color Teddy::Graphics::Color::DARK_RED = Color( C_DARK_RED ) [static]
 

Definition at line 44 of file Color.cpp.

Color Teddy::Graphics::Color::DARK_YELLOW = Color( C_DARK_YELLOW ) [static]
 

Definition at line 49 of file Color.cpp.

Color Teddy::Graphics::Color::GRAY = Color( C_GRAY ) [static]
 

Definition at line 39 of file Color.cpp.

Color Teddy::Graphics::Color::GRAY_25 = Color( C_GRAY_25 ) [static]
 

Definition at line 58 of file Color.cpp.

Color Teddy::Graphics::Color::GRAY_50 = Color( C_GRAY_50 ) [static]
 

Definition at line 59 of file Color.cpp.

Color Teddy::Graphics::Color::GRAY_75 = Color( C_GRAY_75 ) [static]
 

Definition at line 60 of file Color.cpp.

Color Teddy::Graphics::Color::GREEN = Color( C_GREEN ) [static]
 

Definition at line 37 of file Color.cpp.

Color Teddy::Graphics::Color::LIGHT_BLUE = Color( C_LIGHT_BLUE ) [static]
 

Definition at line 53 of file Color.cpp.

Color Teddy::Graphics::Color::LIGHT_CYAN = Color( C_LIGHT_CYAN ) [static]
 

Definition at line 54 of file Color.cpp.

Color Teddy::Graphics::Color::LIGHT_GREEN = Color( C_LIGHT_GREEN ) [static]
 

Definition at line 52 of file Color.cpp.

Color Teddy::Graphics::Color::LIGHT_MAGENTA = Color( C_LIGHT_MAGENTA ) [static]
 

Definition at line 55 of file Color.cpp.

Color Teddy::Graphics::Color::LIGHT_ORANGE = Color( C_LIGHT_ORANGE ) [static]
 

Definition at line 57 of file Color.cpp.

Color Teddy::Graphics::Color::LIGHT_RED = Color( C_LIGHT_RED ) [static]
 

Definition at line 51 of file Color.cpp.

Color Teddy::Graphics::Color::LIGHT_YELLOW = Color( C_LIGHT_YELLOW ) [static]
 

Definition at line 56 of file Color.cpp.

Color Teddy::Graphics::Color::MAGENTA = Color( C_MAGENTA ) [static]
 

Definition at line 41 of file Color.cpp.

Color Teddy::Graphics::Color::ORANGE = Color( C_ORANGE ) [static]
 

Definition at line 43 of file Color.cpp.

Color Teddy::Graphics::Color::RED = Color( C_RED ) [static]
 

Definition at line 36 of file Color.cpp.

float Teddy::Graphics::Color::rgba[4]
 

The color components in float array.

Definition at line 81 of file Color.h.

Referenced by Teddy::Materials::Light::applyLight, Color, Teddy::Scenes::Scene::draw, Teddy::Imports::LWLight::genLight, glApply, operator *, operator *=, operator+, operator+=, operator-, and operator-=.

Color Teddy::Graphics::Color::WHITE = Color( C_WHITE ) [static]
 

Definition at line 35 of file Color.cpp.

Color Teddy::Graphics::Color::YELLOW = Color( C_YELLOW ) [static]
 

Definition at line 42 of file Color.cpp.


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