colours.cpp
Go to the documentation of this file.
00001 
00005 /*****************************************************************************
00006 ** Includes
00007 *****************************************************************************/
00008 
00009 #include "../../include/qglv/gl/headers.hpp"
00010 #include "../../include/qglv/gl/colours.hpp"
00011 
00012 /*****************************************************************************
00013 ** Namespace
00014 *****************************************************************************/
00015 
00016 namespace qglv {
00017 
00018 /*****************************************************************************
00019  ** Drawing methods
00020  *****************************************************************************/
00021 
00022 void colour(enum Colour colour, const float& alpha) {
00023   switch (colour) {
00024     case Blue:
00025       glColor4f(0.0f, 0.0f, 1.0f, alpha);
00026       break;
00027     case DimGray:
00028       glColor4f(0.411f, 0.411f, 0.411f, alpha);
00029       break;
00030     case Gray19:
00031       glColor4f(0.188f, 0.188f, 0.188f, alpha);
00032       break;
00033     case GoldenBrown:
00034       glColor4f(0.6f, 0.4f, 0.08f, alpha);
00035       break;
00036     case Green:
00037       glColor4f(0.0f, 1.0f, 0.0f, alpha);
00038       break;
00039     case Magenta:
00040       glColor4f(1.0f, 0.0f, 1.0f, alpha);
00041       break;
00042     case Pink:
00043       glColor4f(1.0f, 0.078f, 0.57f, alpha);
00044       break;
00045     case Maroon:
00046       glColor4f(0.5f, 0.0f, 0.0f, alpha);
00047       break;
00048     case Orange:
00049       glColor4f(1.0f, 0.64f, 0.0f, alpha);
00050       break;
00051     case Red:
00052       glColor4f(1.0f, 0.0f, 0.0f, alpha);
00053       break;
00054     case White:
00055       glColor4f(1.0f, 1.0f, 1.0f, alpha);
00056       break;
00057     case Yellow:
00058       glColor4f(1.0f, 1.0f, 0.0f, alpha);
00059       break;
00060     default : // Red
00061       glColor4f(1.0f, 0.0f, 0.0f, alpha);
00062       break;
00063   }
00064 }
00065 
00066 void normalisedValueToRGB(const float& value, float& r, float& g, float& b) {
00067   float bounded_value = value;
00068   if( bounded_value < 0.0f ) {
00069     bounded_value = 0.0f;
00070   } else if ( bounded_value > 1.0f ) {
00071     bounded_value = 1.0f;
00072   }
00073 
00074   if( bounded_value < 0.25f )
00075   {
00076     r = 1.0f;
00077     g = bounded_value / 0.25f;
00078     b = 0.0f;
00079   }
00080   else if( bounded_value < 0.5f )
00081   {
00082     r = 1.0f - (bounded_value-0.25f) / 0.25f;
00083     g = 1.0f;
00084     b = 0.0f;
00085   }
00086   else if( bounded_value < 0.75f )
00087   {
00088     r = 0.0f;
00089     g = 1.0f;
00090     b = (bounded_value-0.5f)/0.25f;
00091   }
00092   else
00093   {
00094     r = 0.0f;
00095     g = 1.0f - (bounded_value-0.75f)/0.25f;
00096     b = 1.0f;
00097   }
00098 };
00099 
00100 
00101 } // namespace qglv
00102 


qglv_opengl
Author(s): Daniel Stonier
autogenerated on Sat Jun 18 2016 08:19:28