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 multiply 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 multiply 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 subtract
- 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: