Defines a color using a red (R), green (G), blue (B), and alpha (A) component. Each color component is in the range [0..1]. More...
#include <gz/math/Color.hh>
Public Types | |
typedef unsigned int | ABGR |
A ABGR packed value as an unsigned int Each 8 bits corresponds to a channel. More... | |
typedef unsigned int | ARGB |
A ARGB packed value as an unsigned int Each 8 bits corresponds to a channel. More... | |
typedef unsigned int | BGRA |
A BGRA packed value as an unsigned int Each 8 bits corresponds to a channel. More... | |
typedef unsigned int | RGBA |
A RGBA packed value as an unsigned int Each 8 bits corresponds to a channel. More... | |
Public Member Functions | |
Color ()=default | |
Constructor. More... | |
Color (const Color &_clr)=default | |
Copy Constructor. More... | |
constexpr | Color (const float _r, const float _g, const float _b, const float _a=1.0) |
Constructor. More... | |
~Color ()=default | |
Destructor. More... | |
float & | A () |
Get a mutable reference to the alpha value. More... | |
float | A () const |
Get the alpha value. More... | |
void | A (const float _a) |
Set the alpha value. More... | |
ABGR | AsABGR () const |
Get as uint32 ABGR packed value. More... | |
ARGB | AsARGB () const |
Get as uint32 ARGB packed value. More... | |
BGRA | AsBGRA () const |
Get as uint32 BGRA packed value. More... | |
RGBA | AsRGBA () const |
Get as uint32 RGBA packed value. More... | |
float & | B () |
Get a mutable reference to the blue value. More... | |
float | B () const |
Get the blue value. More... | |
void | B (const float _b) |
Set the blue value. More... | |
float & | G () |
Get a mutable reference to the green value. More... | |
float | G () const |
Get the green value. More... | |
void | G (const float _g) |
Set the green value. More... | |
Vector3f | 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 Color & | operator*= (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 Color & | operator+= (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 Color & | operator-= (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 Color & | operator/= (const Color &_pt) |
Division equal operator. More... | |
Color & | operator= (const Color &_pt)=default |
Equal operator. More... | |
bool | operator== (const Color &_pt) const |
Equality operator. More... | |
float | operator[] (const unsigned int _index) |
Array index operator. More... | |
float | operator[] (const unsigned int _index) const |
Array index operator, const version. More... | |
float & | R () |
Get a mutable reference to the red value. More... | |
float | R () const |
Get the red value. More... | |
void | R (const float _r) |
Set the red value. More... | |
void | Reset () |
Reset the color to default values to red=0, green=0, blue=0, alpha=1. More... | |
void | Set (const float _r=1, const float _g=1, const float _b=1, const 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 (const float _h, const float _s, const float _v) |
Set a color based on HSV values. More... | |
void | SetFromRGBA (const RGBA _v) |
Set from uint32 RGBA packed value. More... | |
void | SetFromYUV (const float _y, const float _u, const float _v) |
Set from yuv. More... | |
Vector3f | YUV () const |
Get the color in YUV colorspace. More... | |
Static Public Attributes | |
static const Color & | Black |
(0, 0, 0) More... | |
static const Color & | Blue |
(0, 0, 1) More... | |
static const Color & | Cyan |
(0, 1, 1) More... | |
static const Color & | Green |
(0, 1, 0) More... | |
static const Color & | Magenta |
(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... | |
Detailed Description
Defines a color using a red (R), green (G), blue (B), and alpha (A) component. Each color component is in the range [0..1].
Example
Member Typedef Documentation
◆ ABGR
A ABGR packed value as an unsigned int Each 8 bits corresponds to a channel.
◆ ARGB
A ARGB packed value as an unsigned int Each 8 bits corresponds to a channel.
◆ BGRA
A BGRA packed value as an unsigned int Each 8 bits corresponds to a channel.
◆ RGBA
A RGBA packed value as an unsigned int Each 8 bits corresponds to a channel.
Constructor & Destructor Documentation
◆ Color() [1/3]
|
default |
Constructor.
◆ Color() [2/3]
|
inlineconstexpr |
Constructor.
- Parameters
-
[in] _r Red value (range 0 to 1) [in] _g Green value (range 0 to 1) [in] _b Blue value (range 0 to 1) [in] _a Alpha value (0=transparent, 1=opaque)
◆ Color() [3/3]
◆ ~Color()
|
default |
Destructor.
Member Function Documentation
◆ A() [1/3]
float& A | ( | ) |
Get a mutable reference to the alpha value.
- Returns
- The alpha value
◆ A() [2/3]
float A | ( | ) | const |
Get the alpha value.
- Returns
- The alpha value
◆ A() [3/3]
void A | ( | const float | _a | ) |
Set the alpha value.
- Parameters
-
[in] _a New alpha value
◆ AsABGR()
ABGR AsABGR | ( | ) | const |
Get as uint32 ABGR packed value.
- Returns
- the color
◆ AsARGB()
ARGB AsARGB | ( | ) | const |
Get as uint32 ARGB packed value.
- Returns
- the color
◆ AsBGRA()
BGRA AsBGRA | ( | ) | const |
Get as uint32 BGRA packed value.
- Returns
- the color
◆ AsRGBA()
RGBA AsRGBA | ( | ) | const |
Get as uint32 RGBA packed value.
- Returns
- the color
◆ B() [1/3]
float& B | ( | ) |
Get a mutable reference to the blue value.
- Returns
- The blue value
◆ B() [2/3]
float B | ( | ) | const |
Get the blue value.
- Returns
- The blue value
◆ B() [3/3]
void B | ( | const float | _b | ) |
Set the blue value.
- Parameters
-
[in] _b New blue value
◆ G() [1/3]
float& G | ( | ) |
Get a mutable reference to the green value.
- Returns
- The green value
◆ G() [2/3]
float G | ( | ) | const |
Get the green value.
- Returns
- The green value
◆ G() [3/3]
void G | ( | const float | _g | ) |
Set the green value.
- Parameters
-
[in] _g New green value
◆ HSV()
Vector3f HSV | ( | ) | const |
Get the color in HSV colorspace.
- Returns
- HSV values in a Vector3f format. A vector3f containing {NAN_F, NAN_F, NAN_F} is returned on error.
◆ operator!=()
bool operator!= | ( | const Color & | _pt | ) | const |
Inequality operator.
- Parameters
-
[in] _pt The color to check for inequality
- Returns
- True if the this color does not equal _pt
◆ operator*() [1/2]
Multiplication operator.
- Parameters
-
[in] _pt The color to muliply by
- Returns
- The resulting color
◆ operator*() [2/2]
const Color operator* | ( | const float & | _v | ) | const |
Multiply all color components by _v.
- Parameters
-
[in] _v The value to multiply by
- Returns
- The resulting color
◆ operator*=()
Multiplication equal operator.
- Parameters
-
[in] _pt The color to muliply by
- Returns
- The resulting color
◆ operator+() [1/2]
◆ operator+() [2/2]
Color operator+ | ( | const float & | _v | ) | const |
Add _v to all color components.
- Parameters
-
[in] _v Value to add to each color component
- Returns
- The resulting color
◆ operator+=()
◆ operator-() [1/2]
Subtraction operator.
- Parameters
-
[in] _pt The color to substract
- Returns
- The resulting color
◆ operator-() [2/2]
Color operator- | ( | const float & | _v | ) | const |
Subtract _v from all color components.
- Parameters
-
[in] _v Value to subtract
- Returns
- The resulting color
◆ operator-=()
◆ operator/() [1/2]
◆ operator/() [2/2]
const Color operator/ | ( | const float & | _v | ) | const |
Divide all color component by _v.
- Parameters
-
[in] _v The value to divide by
- Returns
- The resulting color
◆ operator/=()
◆ operator=()
◆ operator==()
bool operator== | ( | const Color & | _pt | ) | const |
Equality operator.
- Parameters
-
[in] _pt The color to check for equality
- Returns
- True if the this color equals _pt
◆ operator[]() [1/2]
float operator[] | ( | const unsigned int | _index | ) |
Array index operator.
- Parameters
-
[in] _index Color component index(0=red, 1=green, 2=blue, 3=alpha)
- Returns
- r, g, b, or a when _index is 0, 1, 2 or 3. A NAN_F value is returned if the _index is invalid
◆ operator[]() [2/2]
float operator[] | ( | const unsigned int | _index | ) | const |
Array index operator, const version.
- Parameters
-
[in] _index Color component index(0=red, 1=green, 2=blue, 3=alpha)
- Returns
- r, g, b, or a when _index is 0, 1, 2 or 3. A NAN_F value is returned if the _index is invalid
◆ R() [1/3]
float& R | ( | ) |
Get a mutable reference to the red value.
- Returns
- The red value
◆ R() [2/3]
float R | ( | ) | const |
Get the red value.
- Returns
- The red value
◆ R() [3/3]
void R | ( | const float | _r | ) |
Set the red value.
- Parameters
-
[in] _r New red value
◆ Reset()
void Reset | ( | ) |
Reset the color to default values to red=0, green=0, blue=0, alpha=1.
◆ Set()
void Set | ( | const float | _r = 1 , |
const float | _g = 1 , |
||
const float | _b = 1 , |
||
const float | _a = 1 |
||
) |
Set the contents of the vector.
- Parameters
-
[in] _r Red value (range 0 to 1) [in] _g Green value (range 0 to 1) [in] _b Blue value (range 0 to 1) [in] _a Alpha value (0=transparent, 1=opaque)
◆ SetFromABGR()
void SetFromABGR | ( | const ABGR | _v | ) |
Set from uint32 ABGR packed value.
- Parameters
-
[in] _v the new color
◆ SetFromARGB()
void SetFromARGB | ( | const ARGB | _v | ) |
Set from uint32 ARGB packed value.
- Parameters
-
[in] _v the new color
◆ SetFromBGRA()
void SetFromBGRA | ( | const BGRA | _v | ) |
Set from uint32 BGRA packed value.
- Parameters
-
[in] _v the new color
◆ SetFromHSV()
void SetFromHSV | ( | const float | _h, |
const float | _s, | ||
const float | _v | ||
) |
Set a color based on HSV values.
- Parameters
-
[in] _h Hue(0..360) [in] _s Saturation(0..1) [in] _v Value(0..1)
◆ SetFromRGBA()
void SetFromRGBA | ( | const RGBA | _v | ) |
Set from uint32 RGBA packed value.
- Parameters
-
[in] _v the new color
◆ SetFromYUV()
void SetFromYUV | ( | const float | _y, |
const float | _u, | ||
const float | _v | ||
) |
Set from yuv.
- Parameters
-
[in] _y value [in] _u value [in] _v value
◆ YUV()
Vector3f YUV | ( | ) | const |
Get the color in YUV colorspace.
- Returns
- the YUV color
Member Data Documentation
◆ Black
|
static |
(0, 0, 0)
◆ Blue
|
static |
(0, 0, 1)
◆ Cyan
|
static |
(0, 1, 1)
◆ Green
|
static |
(0, 1, 0)
◆ Magenta
|
static |
(1, 0, 1)
◆ Red
|
static |
(1, 0, 0)
◆ White
|
static |
(1, 1, 1)
◆ Yellow
|
static |
(1, 1, 0)
The documentation for this class was generated from the following file: