Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
colorreps
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
29
BinToColorMap::
30
hasControlPoints
()
const
31
{
32
return
true
;
33
}
34
35
void
36
BinToColorMap::
37
setControlPoints
(
const
std::vector < double > & points )
38
{
39
m_control_points
[0] = points[0];
40
calcGamma
( );
41
}
42
43
void
44
BinToColorMap::
45
calcGamma
( )
46
{
47
double
f =
m_control_points
[0];
48
m_gamma
= std::pow ( 100., ( f - 0.5) );
49
}
50
51
BinToColorMap::BinToColorMap
(
const
BinToColorMap
& bin_to_color )
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
64
BinToColorMap::~BinToColorMap
()
65
{
66
}
67
68
void
69
BinToColorMap::
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