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. | |
typedef unsigned int | ARGB |
A ARGB packed value as an unsigned int Each 8 bits corresponds to a channel. | |
typedef unsigned int | BGRA |
A BGRA packed value as an unsigned int Each 8 bits corresponds to a channel. | |
typedef unsigned int | RGBA |
A RGBA packed value as an unsigned int Each 8 bits corresponds to a channel. | |
Public Member Functions | |
Color ()=default | |
Constructor. | |
Color (const float _r, const float _g, const float _b, const float _a=1.0) | |
Constructor. | |
float & | A () |
Get a mutable reference to the alpha value. | |
float | A () const |
Get the alpha value. | |
void | A (const float _a) |
Set the alpha value. | |
ABGR | AsABGR () const |
Get as uint32 ABGR packed value. | |
ARGB | AsARGB () const |
Get as uint32 ARGB packed value. | |
BGRA | AsBGRA () const |
Get as uint32 BGRA packed value. | |
RGBA | AsRGBA () const |
Get as uint32 RGBA packed value. | |
float & | B () |
Get a mutable reference to the blue value. | |
float | B () const |
Get the blue value. | |
void | B (const float _b) |
Set the blue value. | |
float & | G () |
Get a mutable reference to the green value. | |
float | G () const |
Get the green value. | |
void | G (const float _g) |
Set the green value. | |
Vector3f | HSV () const |
Get the color in HSV colorspace. | |
bool | operator!= (const Color &_pt) const |
Inequality operator. | |
const Color | operator* (const Color &_pt) const |
Multiplication operator. | |
const Color | operator* (const float &_v) const |
Multiply all color components by _v. | |
const Color & | operator*= (const Color &_pt) |
Multiplication equal operator. | |
Color | operator+ (const Color &_pt) const |
Addition operator (this + _pt) | |
Color | operator+ (const float &_v) const |
Add _v to all color components. | |
const Color & | operator+= (const Color &_pt) |
Addition equal operator. | |
Color | operator- (const Color &_pt) const |
Subtraction operator. | |
Color | operator- (const float &_v) const |
Subtract _v from all color components. | |
const Color & | operator-= (const Color &_pt) |
Subtraction equal operator. | |
const Color | operator/ (const Color &_pt) const |
Division operator. | |
const Color | operator/ (const float &_v) const |
Divide all color component by _v. | |
const Color & | operator/= (const Color &_pt) |
Division equal operator. | |
bool | operator== (const Color &_pt) const |
Equality operator. | |
float | operator[] (const unsigned int _index) |
Array index operator. | |
float | operator[] (const unsigned int _index) const |
Array index operator, const version. | |
float & | R () |
Get a mutable reference to the red value. | |
float | R () const |
Get the red value. | |
void | R (const float _r) |
Set the red value. | |
void | Reset () |
Reset the color to default values to red=0, green=0, blue=0, alpha=1. | |
void | Set (const float _r=1, const float _g=1, const float _b=1, const float _a=1) |
Set the contents of the vector. | |
void | SetFromABGR (const ABGR _v) |
Set from uint32 ABGR packed value. | |
void | SetFromARGB (const ARGB _v) |
Set from uint32 ARGB packed value. | |
void | SetFromBGRA (const BGRA _v) |
Set from uint32 BGRA packed value. | |
void | SetFromHSV (const float _h, const float _s, const float _v) |
Set a color based on HSV values. | |
void | SetFromRGBA (const RGBA _v) |
Set from uint32 RGBA packed value. | |
void | SetFromYUV (const float _y, const float _u, const float _v) |
Set from yuv. | |
Vector3f | YUV () const |
Get the color in YUV colorspace. | |
Static Public Member Functions | |
static constexpr Color | UnclampedColor (const float _r, const float _g, const float _b, const float _a) |
Static function to create colors that are not clamped. | |
Static Public Attributes | |
static const Color & | Black |
(0, 0, 0) | |
static const Color & | Blue |
(0, 0, 1) | |
static const Color & | Cyan |
(0, 1, 1) | |
static const Color & | Green |
(0, 1, 0) | |
static const Color & | Magenta |
(1, 0, 1) | |
static const Color & | Red |
(1, 0, 0) | |
static const Color & | White |
(1, 1, 1) | |
static const Color & | Yellow |
(1, 1, 0) | |
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/2]
|
default |
Constructor.
Referenced by Color::UnclampedColor().
◆ Color() [2/2]
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)
- Note
- If there are values outside the range [0, 1], they will be clamped and an error message will be printed
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]
◆ 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]
◆ 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]
◆ 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!=()
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]
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]
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]
Subtract _v from all color components.
- Parameters
-
[in] _v Value to subtract
- Returns
- The resulting color
◆ operator-=()
◆ operator/() [1/2]
◆ operator/() [2/2]
Divide all color component by _v.
- Parameters
-
[in] _v The value to divide by
- Returns
- The resulting color
◆ operator/=()
◆ operator==()
Equality operator.
- Parameters
-
[in] _pt The color to check for equality
- Returns
- True if the this color equals _pt
◆ operator[]() [1/2]
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]
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]
◆ Reset()
void Reset | ( | ) |
Reset the color to default values to red=0, green=0, blue=0, alpha=1.
◆ Set()
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()
◆ SetFromARGB()
◆ SetFromBGRA()
◆ SetFromHSV()
Set a color based on HSV values.
- Parameters
-
[in] _h Hue(0..360) [in] _s Saturation(0..1) [in] _v Value(0..1)
◆ SetFromRGBA()
◆ SetFromYUV()
Set from yuv.
- Parameters
-
[in] _y value [in] _u value [in] _v value
◆ UnclampedColor()
|
inlinestaticconstexpr |
Static function to create colors that are not clamped.
- 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)
- Note
- This is mainly intended to initialize constexpr values such as Color::gRed. The Color::Color constructor is recommended for regular use.
References Color::Color().
◆ YUV()
Vector3f YUV | ( | ) | const |
Get the color in YUV colorspace.
- Returns
- the YUV color
Member Data Documentation
◆ Black
◆ Blue
◆ Cyan
◆ Green
◆ Magenta
◆ Red
◆ White
◆ Yellow
The documentation for this class was generated from the following file: