Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
colorreps
BinTo3ColorScale.cxx
Go to the documentation of this file.
1
12
#include "
BinTo3ColorScale.h
"
13
14
#include <cassert>
15
16
namespace
hippodraw {
17
18
BinTo3ColorScale::
19
BinTo3ColorScale
(
const
char
* name )
20
:
BinToColor
( name )
21
{
22
}
23
24
BinTo3ColorScale::BinTo3ColorScale
(
const
BinTo3ColorScale
& bin_to_color )
25
:
BinToColor
( bin_to_color )
26
{
27
}
28
29
BinToColor
*
BinTo3ColorScale:: clone
()
const
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
Generated for HippoDraw Class Library by