BinToColorMap.cxx
Go to the documentation of this file.
1 
12 #include "BinToColorMap.h"
13 
14 #include <cmath>
15 using std :: string;
16 
17 #include <cassert>
18 
19 namespace hippodraw {
20 
21 BinToColorMap::BinToColorMap ( const char * name )
22  : BinToColor ( name )
23 {
24  m_control_points.push_back ( .5 );
25  calcGamma ( );
26 }
27 
28 bool
31 {
32  return true;
33 }
34 
35 void
37 setControlPoints ( const std::vector < double > & points )
38 {
39  m_control_points[0] = points[0];
40  calcGamma ( );
41 }
42 
43 void
46 {
47  double f = m_control_points[0];
48  m_gamma = std::pow ( 100., ( f - 0.5) );
49 }
50 
52  : BinToColor ( bin_to_color )
53 
54 {
55  m_reds = bin_to_color.m_reds;
56  m_greens = bin_to_color.m_greens;
57  m_blues = bin_to_color.m_blues;
58  m_control_points = bin_to_color.m_control_points;
59  calcGamma ();
60 }
61 
62 
63 
65 {
66 }
67 
68 void
70 doubleToColor ( double value, Color & color ) const
71 {
72  double tmp = ( value - m_vmin ) / m_dv;
73  int index = static_cast < int > (255. * std::pow( tmp, m_gamma) );
74  assert ( index < 256 );
75  color.setColor ( m_reds[index], m_greens[index], m_blues[index] );
76 }
77 
78 } // namespace hippodraw
79 

Generated for HippoDraw Class Library by doxygen