Kicking it Olde Sküül! Burgerlib on Github Follow Olde Sküül on Twitter Burgerbecky on LinkedIn Burgerbecky on LinkedIn
Loading...
Searching...
No Matches
Burger::RGBFloat_t Struct Reference

Red, Green and Blue 32 bit floating point values. More...

Collaboration diagram for Burger::RGBFloat_t:

Public Member Functions

 operator Vector3D_t & ()
 Convert the color to a Vector3D_t.
 
 operator const Vector3D_t & () const
 Convert the color to a const Vector3D_t.
 
RGBFloat_toperator= (const Vector3D_t &rInput)
 Convert a Vector3D_t into a RGBFloat_t.
 
void HSLInterpolate (const RGBFloat_t *pInput1, const RGBFloat_t *pInput2, float fFactor, uint_t bDirection=0)
 Interpolate between colors using the HSL color wheel.
 

Public Attributes

float m_fRed
 32 bit float red value
 
float m_fGreen
 32 bit float green value
 
float m_fBlue
 32 bit float blue value
 

Static Public Attributes

static const RGBFloat_t Aqua = {0,1.0f,1.0f}
 
static const RGBFloat_t Black = {0,0,0}
 
static const RGBFloat_t Blue = {0,0,1.0f}
 
static const RGBFloat_t Fuchsia = {1.0f,0,1.0f}
 
static const RGBFloat_t Gray = {0.5f,0.5f,0.5f}
 
static const RGBFloat_t Green = {0,0.5f,0}
 
static const RGBFloat_t Lime = {0,1.0f,0}
 
static const RGBFloat_t Maroon = {0.5f,0,0}
 
static const RGBFloat_t Navy = {0,0,0.5f}
 
static const RGBFloat_t Olive = {0.5f,0.5f,0}
 
static const RGBFloat_t Orange = {1.0f,165.0f/255.0f,0}
 
static const RGBFloat_t Purple = {0.5f,0,0.5f}
 
static const RGBFloat_t Red = {1.0f,0,0}
 
static const RGBFloat_t Silver = {0.75f,0.75f,0.75f}
 
static const RGBFloat_t Teal = {0,0.5f,0.5f}
 
static const RGBFloat_t White = {1.0f,1.0f,1.0f}
 
static const RGBFloat_t Yellow = {1.0f,1.0f,0}
 

Detailed Description

Red, Green and Blue 32 bit floating point values.


Structure that contains the red, green and blue (in that order) color components where the value of 0.0f mean absence of color and 1.0f is the maximum color

See also
Burger::RGBAFloat_t, Burger::RGBWord8_t or Burger::RGBWord16_t

Member Function Documentation

◆ HSLInterpolate()

void BURGER_API Burger::RGBFloat_t::HSLInterpolate ( const RGBFloat_t * pInput1,
const RGBFloat_t * pInput2,
float fFactor,
uint_t bDirection = 0 )

Interpolate between colors using the HSL color wheel.


Interpolate between two colors using the HSL color wheel to make a smoother color shift.

Parameters
pInput1Pointer to the first color
pInput2Pointer to the second color
fFactorInterpolation value between 0.0f and 1.0f
bDirectionFALSE for Red to Green to Blue, TRUE for Red to Blue to Green
See also
HSL_t::Interpolate(const HSL_t*,const HSL_t*,float,uint_t);

◆ operator const Vector3D_t &()

Burger::RGBFloat_t::operator const Vector3D_t & ( ) const
inline

Convert the color to a const Vector3D_t.


Since the RGBFloat_t structure is identical to a Vector3D_t, this operator will allow the color to be used with the math operators that use a Vector3D_t as input.

Returns
A reference to this object cast as a const Vector3D_t
See also
RGBFloat_t::operator Vector3D_t &() or RGBFloat_t::operator = (const Vector3D_t &)

◆ operator Vector3D_t &()

Burger::RGBFloat_t::operator Vector3D_t & ( )
inline

Convert the color to a Vector3D_t.


Since the RGBFloat_t structure is identical to a Vector3D_t, this operator will allow the color to be used with the math operators that use a Vector3D_t as input or output.

Returns
A reference to this object cast as a Vector3D_t
See also
RGBFloat_t::operator const Vector3D_t &() const or RGBFloat_t::operator = (const Vector3D_t &)

◆ operator=()

RGBFloat_t & Burger::RGBFloat_t::operator= ( const Vector3D_t & rInput)
inline

Convert a Vector3D_t into a RGBFloat_t.


Since the RGBFloat_t structure is identical to a Vector3D_t, this operator will copy a Vector3D_t into this color structure

Parameters
rInputReference to a Vector3D_t to copy into this structure
Returns
A reference to this object
See also
RGBFloat_t::operator Vector3D_t &() or RGBFloat_t::operator const Vector3D_t &() const

Member Data Documentation

◆ Aqua

const Burger::RGBFloat_t Burger::RGBFloat_t::Aqua = {0,1.0f,1.0f}
static

RGBA 0,1.0f,1.0f : 

◆ Black

const Burger::RGBFloat_t Burger::RGBFloat_t::Black = {0,0,0}
static

RGBA 0,0,0 : 

◆ Blue

const Burger::RGBFloat_t Burger::RGBFloat_t::Blue = {0,0,1.0f}
static

RGBA 0,0,1.0f : 

◆ Fuchsia

const Burger::RGBFloat_t Burger::RGBFloat_t::Fuchsia = {1.0f,0,1.0f}
static

RGBA 1.0f,0,1.0f : 

◆ Gray

const Burger::RGBFloat_t Burger::RGBFloat_t::Gray = {0.5f,0.5f,0.5f}
static

RGBA 0.5f,0.5f,0.5f : 

◆ Green

const Burger::RGBFloat_t Burger::RGBFloat_t::Green = {0,0.5f,0}
static

RGBA 0,0.5f,0 : 

◆ Lime

const Burger::RGBFloat_t Burger::RGBFloat_t::Lime = {0,1.0f,0}
static

RGBA 0,1.0f,0 : 

◆ m_fBlue

float Burger::RGBFloat_t::m_fBlue

32 bit float blue value

◆ m_fGreen

float Burger::RGBFloat_t::m_fGreen

32 bit float green value

◆ m_fRed

float Burger::RGBFloat_t::m_fRed

32 bit float red value

◆ Maroon

const Burger::RGBFloat_t Burger::RGBFloat_t::Maroon = {0.5f,0,0}
static

RGBA 0.5f,0,0 : 

◆ Navy

const Burger::RGBFloat_t Burger::RGBFloat_t::Navy = {0,0,0.5f}
static

RGBA 0,0,0.5f : 

◆ Olive

const Burger::RGBFloat_t Burger::RGBFloat_t::Olive = {0.5f,0.5f,0}
static

RGBA 0.5f,0.5f,0 : 

◆ Orange

const Burger::RGBFloat_t Burger::RGBFloat_t::Orange = {1.0f,165.0f/255.0f,0}
static

RGBA 1.0f,165.0f/255.0f,0 : 

◆ Purple

const Burger::RGBFloat_t Burger::RGBFloat_t::Purple = {0.5f,0,0.5f}
static

RGBA 0.5f,0,0.5f : 

◆ Red

const Burger::RGBFloat_t Burger::RGBFloat_t::Red = {1.0f,0,0}
static

RGBA 1.0f,0,0 : 

◆ Silver

const Burger::RGBFloat_t Burger::RGBFloat_t::Silver = {0.75f,0.75f,0.75f}
static

RGBA 0.75f,0.75f,0.75f : 

◆ Teal

const Burger::RGBFloat_t Burger::RGBFloat_t::Teal = {0,0.5f,0.5f}
static

RGBA 0,0.5f,0.5f : 

◆ White

const Burger::RGBFloat_t Burger::RGBFloat_t::White = {1.0f,1.0f,1.0f}
static

RGBA 1.0f,1.0f,1.0f : 

◆ Yellow

const Burger::RGBFloat_t Burger::RGBFloat_t::Yellow = {1.0f,1.0f,0}
static

RGBA 1.0f,1.0f,0 :