Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

BinToBlack.cxx

Go to the documentation of this file.
00001 
00012 #include "BinToColorScale.h"
00013 
00014 #include <cassert>
00015 
00016 BinToColorScale::
00017 BinToColorScale ( const char * name )
00018   : BinToColor ( name )
00019 {
00020 
00021 }
00022 
00023 BinToColorScale::BinToColorScale ( const BinToColorScale & bin_to_color )
00024   : BinToColor ( bin_to_color )
00025 {
00026 
00027 }
00028 
00029 BinToColor * BinToColorScale:: clone () const
00030 {
00031   return new BinToColorScale ( *this );
00032 }
00033 
00034 
00035 
00036 
00037 
00038 void
00039 BinToColorScale::
00040 doubleToColor ( double value, Color & color ) const
00041 {
00042    double r=1;
00043    double g=1;
00044    double b=1;
00045    double dv = m_range.length ();
00046    double vmin = m_range.low ();
00047    double v = value;
00048    
00049 
00050  
00051 
00052    if (v < (vmin + 0.25 * dv)) {
00053      r = 0;
00054      g = 4 * (v - vmin) / dv;
00055    } else if (v < (vmin + 0.5 * dv)) {
00056      r = 0;
00057      b = 1 + 4 * (vmin + 0.25 * dv - v) / dv;
00058    } else if (v < (vmin + 0.75 * dv)) {
00059      r = 4 * (v - vmin - 0.5 * dv) / dv;
00060      b = 0;
00061    } else {
00062      g = 1 + 4 * (vmin + 0.75 * dv - v) / dv;
00063      b = 0;
00064    }
00065    int red   = static_cast < int > ( r * 255. );
00066    int green = static_cast < int > ( g * 255. );
00067    int blue  = static_cast < int > ( b * 255. );
00068 
00069    assert ( red < 256 && green < 256 && blue < 256 );
00070    color.setColor ( red, green, blue );
00071 }

Generated for HippoDraw-1.14.8.5 by doxygen 1.4.3