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 }