Standard RGBA color class with floating point elements and operations. More...
#include <color.h>

Public Types | |
| using | Pod_type = Color_struct |
| POD class corresponding to this color. More... | |
| using | storage_type = Color_struct |
| Storage class used by this color. More... | |
| using | value_type = Float32 |
| Element type. More... | |
| using | size_type = Size |
| Size type, unsigned. More... | |
| using | difference_type = Difference |
| Difference type, signed. More... | |
| using | pointer = Float32 * |
| Mutable pointer to element. More... | |
| using | const_pointer = const Float32 * |
| Const pointer to element. More... | |
| using | reference = Float32 & |
| Mutable reference to element. More... | |
| using | const_reference = const Float32 & |
| Const reference to element. More... | |
Public Member Functions | |
| Float32 * | begin () |
| Returns the pointer to the first color element. More... | |
| const Float32 * | begin () const |
| Returns the pointer to the first color element. More... | |
| Float32 * | end () |
| Returns the past-the-end pointer. More... | |
| const Float32 * | end () const |
| Returns the past-the-end pointer. More... | |
| Color () | |
| The default constructor leaves the color elements uninitialized. More... | |
| Color (const Color &c)=default | |
| Default copy constructor. More... | |
| Color (const Color_struct &c) | |
| Constructor from underlying storage type. More... | |
| Color (const Float32 s) | |
Constructor initializes all vector elements to the value s. More... | |
| Color (Float32 nr, Float32 ng, Float32 nb, Float32 na=1.0f) | |
Constructor initializes (r,g,b,a) from (nr,ng,nb,na). More... | |
| template<typename T> | |
| Color (T array[4]) | |
Constructor initializes the color elements from a 4-dimensional array. More... | |
| Color (const Vector< Float32, 4 > &v) | |
Constructor initializes (r,g,b,a) from (v.x, v.y, v.z, v.w) of a compatible 4D vector v. More... | |
| Color (const Spectrum_struct &s) | |
| Conversion from Spectrum. More... | |
| Color & | operator= (const Color &c)=default |
| Assignment operator. More... | |
| Color & | operator= (const Vector< Float32, 4 > &v) |
Assignment operator from compatible 4D vector, setting (r,g,b,a) to (v.x, v.y, v.z, v.w). More... | |
| const Float32 & | operator[] (Size i) const |
Accesses the i-th color element, 0 <= i < 4. More... | |
| Float32 & | operator[] (Size i) |
Accesses the i-th color element, 0 <= i < 4. More... | |
| Float32 | get (Size i) const |
Returns the i-th color element, 0 <= i < 4. More... | |
| void | set (Size i, Float32 value) |
Sets the i-th color element to value, 0 <= i < 4. More... | |
| bool | is_black () const |
Returns true if the color is black ignoring the alpha value. More... | |
| Float32 | linear_intensity () const |
| Returns the intensity of the RGB components, equally weighted. More... | |
| Float32 | ntsc_intensity () const |
| Returns the intensity of the RGB components, weighted according to the NTSC standard. More... | |
| Float32 | cie_intensity () const |
| Returns the intensity of the RGB components, weighted according to the CIE standard. More... | |
| Color | clip (Clip_mode mode=CLIP_RGB, bool desaturate=false) const |
Returns this color clipped into the [0,1] range, according to the Clip_mode mode, and fades overbright colors to white if desaturate is true. More... | |
| Color | desaturate (Float32 maxval=1.0f) const |
Returns this color clipped to the range [0,maxval] using color desaturation. More... | |
Static Public Member Functions | |
| static constexpr Size | size () |
| Constant size of the color. More... | |
| static constexpr Size | max_size () |
| Constant maximum size of the color. More... | |
Static Public Attributes | |
| static constexpr Size | SIZE = 4 |
| Constant size of the color. More... | |
Additional Inherited Members | |
Public Attributes inherited from mi::math::Color_struct | |
| Float32 | r |
| Red color component. More... | |
| Float32 | g |
| Green color component. More... | |
| Float32 | b |
| Blue color component. More... | |
| Float32 | a |
| Alpha value, 0.0 is fully transparent and 1.0 is opaque; value can lie outside that range. More... | |
Standard RGBA color class with floating point elements and operations.
This class provides array-like storage for the four RGBA elements of type mi::Float32. Several functions and arithmetic operators support the work with colors.
The color class is a model of the STL container concept. It provides random access to its elements and corresponding random access iterators.
#include <mi/math/color.h>