Color Class Reference

Defines a color. More...

#include <common/common.hh>

Public Types

typedef unsigned int ABGR
 
typedef unsigned int ARGB
 
typedef unsigned int BGRA
 
typedef unsigned int RGBA
 

Public Member Functions

 Color ()
 Constructor. More...
 
 Color (float _r, float _g, float _b, float _a=1.0)
 Constructor. More...
 
 Color (const Color &_clr)
 Copy Constructor. More...
 
virtual ~Color ()
 Destructor. More...
 
ABGR GetAsABGR () const
 Get as uint32 ABGR packed value. More...
 
ARGB GetAsARGB () const
 Get as uint32 ARGB packed value. More...
 
BGRA GetAsBGRA () const
 Get as uint32 BGRA packed value. More...
 
RGBA GetAsRGBA () const
 Get as uint32 RGBA packed value. More...
 
math::Vector3 GetAsYUV () const
 Get the color in YUV colorspace. More...
 
ignition::math::Vector3d HSV () const
 Get the color in HSV colorspace. More...
 
bool operator!= (const Color &_pt) const
 Inequality operator. More...
 
const Color operator* (const Color &_pt) const
 Multiplication operator. More...
 
const Color operator* (const float &_v) const
 Multiply all color components by _v. More...
 
const Coloroperator*= (const Color &_pt)
 Multiplication equal operator. More...
 
Color operator+ (const Color &_pt) const
 Addition operator (this + _pt) More...
 
Color operator+ (const float &_v) const
 Add _v to all color components. More...
 
const Coloroperator+= (const Color &_pt)
 Addition equal operator. More...
 
Color operator- (const Color &_pt) const
 Subtraction operator. More...
 
Color operator- (const float &_v) const
 Subtract _v from all color components. More...
 
const Coloroperator-= (const Color &_pt)
 Subtraction equal operator. More...
 
const Color operator/ (const Color &_pt) const
 Division operator. More...
 
const Color operator/ (const float &_v) const
 Divide all color component by _v. More...
 
const Coloroperator/= (const Color &_pt)
 Division equal operator. More...
 
Coloroperator= (const Color &_pt)
 Equal operator. More...
 
bool operator== (const Color &_pt) const
 Equality operator. More...
 
float operator[] (unsigned int _index)
 Array index operator. More...
 
void Reset ()
 Reset the color to default values. More...
 
void Set (float _r=1, float _g=1, float _b=1, float _a=1)
 Set the contents of the vector. More...
 
void SetFromABGR (const ABGR _v)
 Set from uint32 ABGR packed value. More...
 
void SetFromARGB (const ARGB _v)
 Set from uint32 ARGB packed value. More...
 
void SetFromBGRA (const BGRA _v)
 Set from uint32 BGRA packed value. More...
 
void SetFromHSV (float _h, float _s, float _v)
 Set a color based on HSV values. More...
 
void SetFromRGBA (const RGBA _v)
 Set from uint32 RGBA packed value. More...
 
void SetFromYUV (float _y, float _u, float _v)
 Set from yuv. More...
 
ignition::math::Vector3d YUV () const
 Get the color in YUV colorspace. More...
 

Public Attributes

float a
 
float b
 
float g
 
float r
 

Static Public Attributes

static const Color Black
 (0, 0, 0) More...
 
static const Color Blue
 (0, 0, 1) More...
 
static const Color Green
 (0, 1, 0) More...
 
static const Color Purple
 (1, 0, 1) More...
 
static const Color Red
 (1, 0, 0) More...
 
static const Color White
 (1, 1, 1) More...
 
static const Color Yellow
 (1, 1, 0) More...
 

Friends

std::ostream & operator<< (std::ostream &_out, const Color &_pt)
 Stream insertion operator. More...
 
std::istream & operator>> (std::istream &_in, Color &_pt)
 Stream insertion operator. More...
 

Detailed Description

Defines a color.

Member Typedef Documentation

typedef unsigned int ABGR
typedef unsigned int ARGB
typedef unsigned int BGRA
typedef unsigned int RGBA

Constructor & Destructor Documentation

Color ( )

Constructor.

Color ( float  _r,
float  _g,
float  _b,
float  _a = 1.0 
)

Constructor.

Parameters
[in]_rRed value (range 0 to 1)
[in]_gGreen value (range 0 to 1
[in]_bBlue value (range 0 to 1
[in]_aAlpha value (0=transparent, 1=opaque)
Color ( const Color _clr)

Copy Constructor.

Parameters
[in]_clrColor to copy
virtual ~Color ( )
virtual

Destructor.

Member Function Documentation

ABGR GetAsABGR ( ) const

Get as uint32 ABGR packed value.

Returns
the color
ARGB GetAsARGB ( ) const

Get as uint32 ARGB packed value.

Returns
the color
BGRA GetAsBGRA ( ) const

Get as uint32 BGRA packed value.

Returns
the color
RGBA GetAsRGBA ( ) const

Get as uint32 RGBA packed value.

Returns
the color
math::Vector3 GetAsYUV ( ) const

Get the color in YUV colorspace.

Returns
the YUV color
Deprecated:
See YUV() function that returns an ignition::math::Vector3d object.
ignition::math::Vector3d HSV ( ) const

Get the color in HSV colorspace.

Returns
HSV values in an ignition::math::Vector3d format.
bool operator!= ( const Color _pt) const

Inequality operator.

Parameters
[in]_ptThe color to check for inequality
Returns
True if the this color does not equal _pt
const Color operator* ( const Color _pt) const

Multiplication operator.

Parameters
[in]_ptThe color to muliply by
Returns
The resulting color
const Color operator* ( const float &  _v) const

Multiply all color components by _v.

Parameters
[in]_vThe value to multiply by
Returns
The resulting color
const Color& operator*= ( const Color _pt)

Multiplication equal operator.

Parameters
[in]_ptThe color to muliply by
Returns
The resulting color
Color operator+ ( const Color _pt) const

Addition operator (this + _pt)

Parameters
[in]_ptColor to add
Returns
The resulting color
Color operator+ ( const float &  _v) const

Add _v to all color components.

Parameters
[in]_vValue to add to each color component
Returns
The resulting color
const Color& operator+= ( const Color _pt)

Addition equal operator.

Parameters
[in]_ptColor to add
Returns
The resulting color
Color operator- ( const Color _pt) const

Subtraction operator.

Parameters
[in]_ptThe color to substract
Returns
The resulting color
Color operator- ( const float &  _v) const

Subtract _v from all color components.

Parameters
[in]_vValue to subtract
Returns
The resulting color
const Color& operator-= ( const Color _pt)

Subtraction equal operator.

Parameters
[in]_ptColor to subtract
Returns
The resulting color
const Color operator/ ( const Color _pt) const

Division operator.

Parameters
[in]_ptColor to divide by
Returns
The resulting color
const Color operator/ ( const float &  _v) const

Divide all color component by _v.

Parameters
[in]_vThe value to divide by
Returns
The resulting color
const Color& operator/= ( const Color _pt)

Division equal operator.

Parameters
[in]_ptColor to divide by
Returns
The resulting color
Color& operator= ( const Color _pt)

Equal operator.

Parameters
[in]_ptColor to copy
Returns
Reference to this color
bool operator== ( const Color _pt) const

Equality operator.

Parameters
[in]_ptThe color to check for equality
Returns
True if the this color equals _pt
float operator[] ( unsigned int  _index)

Array index operator.

Parameters
[in]_indexColor component index(0=red, 1=green, 2=blue)
Returns
r, g, b, or a when _index is 0, 1, 2 or 3
void Reset ( )

Reset the color to default values.

void Set ( float  _r = 1,
float  _g = 1,
float  _b = 1,
float  _a = 1 
)

Set the contents of the vector.

Parameters
[in]_rRed value (range 0 to 1)
[in]_gGreen value (range 0 to 1)
[in]_bBlue value (range 0 to 1)
[in]_aAlpha value (0=transparent, 1=opaque)
void SetFromABGR ( const ABGR  _v)

Set from uint32 ABGR packed value.

Parameters
[in]_vthe new color
void SetFromARGB ( const ARGB  _v)

Set from uint32 ARGB packed value.

Parameters
[in]_vthe new color
void SetFromBGRA ( const BGRA  _v)

Set from uint32 BGRA packed value.

Parameters
[in]_vthe new color
void SetFromHSV ( float  _h,
float  _s,
float  _v 
)

Set a color based on HSV values.

Parameters
[in]_hHue(0..360)
[in]_sSaturation(0..1)
[in]_vValue(0..1)
void SetFromRGBA ( const RGBA  _v)

Set from uint32 RGBA packed value.

Parameters
[in]_vthe new color
void SetFromYUV ( float  _y,
float  _u,
float  _v 
)

Set from yuv.

Parameters
[in]_yvalue
[in]_uvalue
[in]_vvalue
ignition::math::Vector3d YUV ( ) const

Get the color in YUV colorspace.

Returns
The YUV color in an ignition::math::Vector3d format.

Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  _out,
const Color _pt 
)
friend

Stream insertion operator.

Parameters
[in]_outthe output stream
[in]_ptthe color
Returns
the output stream
std::istream& operator>> ( std::istream &  _in,
Color _pt 
)
friend

Stream insertion operator.

Parameters
[in]_inthe input stream
[in]_pt

Member Data Documentation

float a
float b
const Color Black
static

(0, 0, 0)

const Color Blue
static

(0, 0, 1)

float g
const Color Green
static

(0, 1, 0)

const Color Purple
static

(1, 0, 1)

float r
const Color Red
static

(1, 0, 0)

const Color White
static

(1, 1, 1)

const Color Yellow
static

(1, 1, 0)


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