BinToGreyScale.cxx
Go to the documentation of this file.00001
00012 #include "BinToGreyScale.h"
00013
00014 using namespace hippodraw;
00015
00016 BinToGreyScale::
00017 BinToGreyScale ( const char * name )
00018 : BinToColor ( name )
00019 {
00020 }
00021
00022 BinToGreyScale::BinToGreyScale ( const BinToGreyScale & bin_to_color )
00023 : BinToColor ( bin_to_color )
00024 {
00025 }
00026
00027 BinToColor * BinToGreyScale::clone () const
00028 {
00029 return new BinToGreyScale ( *this );
00030 }
00031
00032 void
00033 BinToGreyScale::
00034 doubleToColor ( double value, Color & color ) const
00035 {
00036 int red=color.getRed();
00037 int green=color.getGreen();
00038 int blue=color.getBlue();
00039
00040 double tmp = ( value - m_vmin ) / m_dv ;
00041 double red_tmp = 255. - tmp * ( 255. - static_cast < double > ( red) );
00042 double green_tmp = 255. - tmp * ( 255. - static_cast < double > ( green ) );
00043 double blue_tmp = 255. - tmp * ( 255. - static_cast < double > ( blue ) );
00044
00045 int ired_tmp = static_cast< int> ( red_tmp );
00046 int igreen_tmp = static_cast< int> ( green_tmp );
00047 int iblue_tmp = static_cast< int> ( blue_tmp );
00048
00049 color.setColor ( ired_tmp, igreen_tmp, iblue_tmp );
00050 }
00051
00052 bool
00053 BinToGreyScale::
00054 acceptChangeColor () const
00055 {
00056 return true;
00057 }