NDEVR
API Documentation

Forward declaration of the NDEVR translated string class. More...

Inheritance diagram for LABColor:
[legend]
Collaboration diagram for LABColor:
[legend]

Public Member Functions

constexpr LABColor ()
 Default constructor.
 LABColor (const ACIColor &lab)
 Constructs a LABColor by converting from an AutoCAD Color Index color.
 LABColor (const HSBColor &lab)
 Constructs a LABColor by converting from an HSB color.
 LABColor (const RGBColor &lab)
 Constructs a LABColor by converting from an RGB color.
constexpr LABColor (const Vector< 4, fltp04 > &lab)
 Constructs a LABColor from a 4-component vector.
 LABColor (const XYZColor &lab)
 Constructs a LABColor by converting from a CIE XYZ color.
constexpr LABColor (fltp04 x, fltp04 y, fltp04 z, fltp04 a=1.0f)
 Constructs a LABColor from individual L*, a*, b*, and alpha components.
Public Member Functions inherited from Vector< 4, fltp04 >
constexpr Vector (const fltp04 &prefix, typename std::enable_if< tdims >=2, const Vector< t_dims - 1, fltp04 > & >::type vector)
 Creates a vector where the prefix scaler is combined with the suffix vector.
constexpr Vector (const fltp04 &prefix_a, const fltp04 &prefix_b, typename std::enable_if< tdims >=3, const Vector< tdims - 1, fltp04 > & >::type vector)
 Creates a vector where the prefix scaler values are combined with the suffix vector.
constexpr Vector (const fltp04 &scaler) noexcept
constexpr Vector (const fltp04 &x, const fltp04 &y, const fltp04 &z, typename std::enable_if< tdims==4, const fltp04 & >::type w)
 Sets values in each dimension to the respective value in the passed in scaler.
constexpr Vector (const fltp04 &x, const fltp04 &y, const typename std::enable_if< tdims==3, const fltp04 & >::type z)
 Sets values in each dimension to the respective value in the passed in scaler.
constexpr Vector (const fltp04 &x, typename std::enable_if< tdims==2, const fltp04 & >::type y)
 Sets values in each dimension to the respective value in the passed in scaler.
constexpr Vector (const fltp04(&vector)[t_dims])
 Given a container of statically determined array, transforms it to a vector.
constexpr Vector (const Vector< getMax(tdims - 2, 0), fltp04 > &vector, const fltp04 &suffix_a, typename std::enable_if< tdims >=3, const fltp04 & >::type suffix_b)
 Creates a vector where the prefix vector is combined with the suffix scalers.
constexpr Vector (const Vector< t_dims, t_vec_type > &vector) noexcept
constexpr Vector (const Vector< tdims - 1, fltp04 > &vector, typename std::enable_if< tdims >=2, const fltp04 & >::type suffix)
 Creates a vector where the prefix vector is combined with the suffix scalers.
constexpr decltype(auto) as () const
 Returns the vector as a new time of vector.
constexpr uint01 dimensionalIndex () const
 Used with template arguments MAX or MIN, Gets the dimensional index for the value that is either max or min.
constexpr fltp04 dimensionalValue () const
 Used with template arguments MAX or MIN, Gets the dimensional value for the value that is either max or min.
constexpr t_magnitude_type magnitude () const
 Vectors are commonly used to model forces such as wind, sea current, gravity, and electromagnetism.
constexpr fltp04 magnitudeSquared () const
 Vectors are commonly used to model forces such as wind, sea current, gravity, and electromagnetism.
constexpr Vector< t_dims, t_norm_type > normalized (Vector< t_dims, t_norm_type > value_if_nan=Constant< Vector< t_dims, t_norm_type > >::Invalid) const
 Gets the normalized, or unit length representation of this vector.
constexpr operator fltp04 & ()
 For Single dimensional objects, they may also be considered a scaler, thus allow implicit conversion from a vector to a scaler when the dimension of the vector is 1.
constexpr operator fltp04 & ()
 For Single dimensional objects, they may also be considered a scaler, thus allow implicit conversion from a vector to a scaler when the dimension of the vector is 1.
constexpr Vector< t_dims, fltp04operator- () const
 Negation operator.
constexpr Vector< t_dims, fltp04 > & operator= (const fltp04 &scaler)
 Assignment operator.
constexpr fltp04operator[] (uint01 dimension_index)
 Accesses the value of a certain dimension.
constexpr fltp04 product () const
 Returns the product, or value of each dimension multiplied together.
constexpr fltp04 sum () const
 Returns the sum, or value of each dimension added together.

Additional Inherited Members

Static Public Member Functions inherited from Vector< 4, fltp04 >
static constexpr uint01 NumberOfDimensions ()
 Number of dimensions in this vector class.
static constexpr fltp04 Type ()
 Returns the type of this class.
Protected Attributes inherited from Vector< 4, fltp04 >
fltp04 m_values [t_dims]
 The values[t dims].

Detailed Description

Forward declaration of the NDEVR translated string class.


A perceptually uniform color defined in the CIE L*a*b* color space.

A Lab color space is a color-opponent space with dimension L for luminance and a and b for the color-opponent dimensions, based on nonlinearly-compressed CIE XYZ color space coordinates.

IE L*a*b* color space, also know as CIE 1976 color space, stands for: L*, the luminance a*, the red/green color-opponent dimension b*, the yellow/blue color-opponent dimension The L*a*b* color model has been created to serve as a device independent model to be used as a reference. It is based directly on the CIE 1931 XYZ color space as an attempt to linearize the perceptibility of color differences. The non-linear relations for L*, a*, and b* are intended to mimic the logarithmic response of the eye, coloring information is referred to the color of the white point of the system. Useful for color comparisions, distances, etc

See also
RGBColor, XYZColor, HSBColor

Definition at line 64 of file LABColor.h.

Constructor & Destructor Documentation

◆ LABColor() [1/7]

LABColor::LABColor ( )
inlineconstexpr

Default constructor.

Constructs an uninitialized LABColor.

Definition at line 70 of file LABColor.h.

◆ LABColor() [2/7]

LABColor::LABColor ( fltp04 x,
fltp04 y,
fltp04 z,
fltp04 a = 1.0f )
inlineconstexpr

Constructs a LABColor from individual L*, a*, b*, and alpha components.

Parameters
[in]xThe L* (luminance) component.
[in]yThe a* (red/green opponent) component.
[in]zThe b* (yellow/blue opponent) component.
[in]aThe alpha (opacity) component, defaults to 1.0 (fully opaque).

Definition at line 79 of file LABColor.h.

◆ LABColor() [3/7]

LABColor::LABColor ( const Vector< 4, fltp04 > & lab)
inlineconstexpr

Constructs a LABColor from a 4-component vector.

Parameters
[in]labThe vector containing L*, a*, b*, and alpha values.

Definition at line 86 of file LABColor.h.

◆ LABColor() [4/7]

LABColor::LABColor ( const XYZColor & lab)
explicit

Constructs a LABColor by converting from a CIE XYZ color.

Parameters
[in]labThe XYZ color to convert from.

◆ LABColor() [5/7]

LABColor::LABColor ( const ACIColor & lab)
explicit

Constructs a LABColor by converting from an AutoCAD Color Index color.

Parameters
[in]labThe ACI color to convert from.

◆ LABColor() [6/7]

LABColor::LABColor ( const HSBColor & lab)
explicit

Constructs a LABColor by converting from an HSB color.

Parameters
[in]labThe HSB color to convert from.

◆ LABColor() [7/7]

LABColor::LABColor ( const RGBColor & lab)
explicit

Constructs a LABColor by converting from an RGB color.

Parameters
[in]labThe RGB color to convert from.

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