Main Page
Related Pages
Classes
Files
File List
File Members
src
palette.hpp
Go to the documentation of this file.
1
5
/* Copyright (c) 2005-2011 Taneli Kalvas. All rights reserved.
6
*
7
* You can redistribute this software and/or modify it under the terms
8
* of the GNU General Public License as published by the Free Software
9
* Foundation; either version 2 of the License, or (at your option)
10
* any later version.
11
*
12
* This library is distributed in the hope that it will be useful, but
13
* WITHOUT ANY WARRANTY; without even the implied warranty of
14
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15
* General Public License for more details.
16
*
17
* You should have received a copy of the GNU General Public License
18
* along with this library (file "COPYING" included in the package);
19
* if not, write to the Free Software Foundation, Inc., 51 Franklin
20
* Street, Fifth Floor, Boston, MA 02110-1301 USA
21
*
22
* If you have questions about your rights to use or distribute this
23
* software, please contact Berkeley Lab's Technology Transfer
24
* Department at TTD@lbl.gov. Other questions, comments and bug
25
* reports should be sent directly to the author via email at
26
* taneli.kalvas@jyu.fi.
27
*
28
* NOTICE. This software was developed under partial funding from the
29
* U.S. Department of Energy. As such, the U.S. Government has been
30
* granted for itself and others acting on its behalf a paid-up,
31
* nonexclusive, irrevocable, worldwide license in the Software to
32
* reproduce, prepare derivative works, and perform publicly and
33
* display publicly. Beginning five (5) years after the date
34
* permission to assert copyright is obtained from the U.S. Department
35
* of Energy, and subject to any subsequent five (5) year renewals,
36
* the U.S. Government is granted for itself and others acting on its
37
* behalf a paid-up, nonexclusive, irrevocable, worldwide license in
38
* the Software to reproduce, prepare derivative works, distribute
39
* copies to the public, perform publicly and display publicly, and to
40
* permit others to do so.
41
*/
42
43
#ifndef PALETTE_HPP
44
#define PALETTE_HPP 1
45
46
47
#include <vector>
48
#include "
color.hpp
"
49
50
59
class
Palette
{
60
61
public
:
62
68
struct
Entry
{
69
Color
_color
;
70
double
_val
;
72
Entry
(
const
Color
&color,
double
val );
73
74
bool
operator<
(
const
Entry
&e )
const
;
75
};
76
77
private
:
78
79
std::vector<Entry> _entries;
80
int
_steps;
82
public
:
83
86
Palette
();
87
92
Palette
(
const
std::vector<Entry> &entries );
93
105
Color
operator()
(
double
x )
const
;
106
112
void
clear
(
void
);
113
120
void
push_back
(
const
Color
&color,
double
val );
121
126
void
norm
(
void
);
127
134
void
set_stepped_palette
(
int
steps );
135
138
void
debug_print
( std::ostream &os )
const
;
139
};
140
141
142
#endif
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
Palette::Entry::_color
Color _color
Entry colors.
Definition:
palette.hpp:69
Palette::Entry::_val
double _val
Entry values.
Definition:
palette.hpp:70
Palette
Class for palette definition.
Definition:
palette.hpp:59
color.hpp
Colors for plotting.
Palette::set_stepped_palette
void set_stepped_palette(int steps)
Set stepped palette.
Palette::clear
void clear(void)
Clear current palette.
Palette::Entry::Entry
Entry(const Color &color, double val)
Palette::Palette
Palette()
Default constructor for default black and white palette.
Palette::debug_print
void debug_print(std::ostream &os) const
Print debugging information to os.
Palette::Entry
Palette defining entry.
Definition:
palette.hpp:68
Palette::operator()
Color operator()(double x) const
Return the interpolated color value from palette.
Color
Color class for plotting.
Definition:
color.hpp:53
Palette::norm
void norm(void)
Normalize palette entries.
Palette::Entry::operator<
bool operator<(const Entry &e) const
Palette::push_back
void push_back(const Color &color, double val)
Pushes new entry to palette.
Reference manual for Ion Beam Simulator 1.0.5b
Generated on by
Doxygen
1.8.5 on Tue Dec 19 2017 19:37:27.