BinTo3ColorScale.cxx
Go to the documentation of this file.
1 
12 #include "BinTo3ColorScale.h"
13 
14 #include <cassert>
15 
16 namespace hippodraw {
17 
19 BinTo3ColorScale ( const char * name )
20  : BinToColor ( name )
21 {
22 }
23 
25  : BinToColor ( bin_to_color )
26 {
27 }
28 
30 {
31  return new BinTo3ColorScale ( *this );
32 }
33 
34 void BinTo3ColorScale::doubleToColor ( double value, Color & color ) const
35 {
36  double r,g,b;
37  double v = value;
38 
39  if (v < (m_vmin + 0.25 * m_dv)) {
40  r = 0;
41  g = 2* (v - m_vmin) / m_dv;
42  b = 1 - 2*(v -m_vmin)/m_dv ;
43 
44  } else if (v < (m_vmin + 0.5 * m_dv)) {
45  r = 0;
46  g = 2*(v - m_vmin) / m_dv;
47  b = 1 - 2 * (v - m_vmin) / m_dv;
48  } else if (v < (m_vmin + 0.75 * m_dv)) {
49  r = 2 * (v - m_vmin - 0.5 * m_dv) / m_dv;
50  g = 1 - 2* (v - m_vmin - 0.5*m_dv) / m_dv;
51  b = 0;
52  } else {
53  r = 2 * (v - m_vmin - 0.5 * m_dv) / m_dv;
54  g = 1 - 2 * (v - m_vmin - 0.5 * m_dv ) / m_dv;
55  b = 0;
56  }
57  int red = static_cast < int > ( r * 255. );
58  int green = static_cast < int > ( g * 255. );
59  int blue = static_cast < int > ( b * 255. );
60 
61 
62  assert ( red < 256 && green < 256 && blue < 256 );
63  color.setColor ( red, green, blue );
64 }
65 
66 } // namespace hippodraw
67 
The base class for the value to the color transformation.
Definition: BinToColor.h:30
void setColor(const std::string &)
Sets the color.
Definition: Color.cxx:112
BinTo3ColorScale class interface.
double m_vmin
The minimum value expected.
Definition: BinToColor.h:54
virtual void doubleToColor(double value, Color &color) const
This function does the actual calculation that transforms the given value into a color using the curr...
A Color class for creating the color object following the standard RGB color space.
Definition: Color.h:37
ViewBase * v
Definition: PlotTable.cxx:104
double m_dv
The distance of the expected values, i.e.
Definition: BinToColor.h:50
virtual BinToColor * clone() const
Creates a copy of itself.
The class derived from the BinToColor class.
BinTo3ColorScale(const char *name)
The constructor.

Generated for HippoDraw Class Library by doxygen