00001 00012 #include "BinToRainbow.h" 00013 00014 using namespace hippodraw; 00015 00016 BinToRainbow:: 00017 BinToRainbow ( const char * name ) 00018 : BinToColorMap ( name ) 00019 { 00020 m_reds.resize ( 256); 00021 m_greens.resize ( 256 ); 00022 m_blues.resize ( 256 ); 00023 00024 for ( int i = 0; i < 256; i++ ) { 00025 if ( i < 64 ) { 00026 m_reds[i] = 0; 00027 m_greens[i] = 4*i; 00028 m_blues[i] = 255; 00029 } 00030 if ( i >= 64 && i < 192 ) { 00031 m_reds [i] = 2 * ( i - 64 ); 00032 m_greens[i] = 255; 00033 m_blues[i] = 255 - m_reds[i]; 00034 } 00035 if ( i >= 192 ) { 00036 m_reds[i] = 255; 00037 m_greens[i] = 255 - 4*( i- 192); 00038 m_blues[i] = 0; 00039 } 00040 } 00041 } 00042 00043 BinToRainbow::BinToRainbow ( const BinToRainbow & bin_to_color ) 00044 : BinToColorMap ( bin_to_color ) 00045 { 00046 } 00047 00048 BinToColor * BinToRainbow::clone () const 00049 { 00050 return new BinToRainbow ( *this ); 00051 } 00052