cartobase
6.0.6
converter_d.h
Go to the documentation of this file.
1
/* This software and supporting documentation are distributed by
2
* Institut Federatif de Recherche 49
3
* CEA/NeuroSpin, Batiment 145,
4
* 91191 Gif-sur-Yvette cedex
5
* France
6
*
7
* This software is governed by the CeCILL-B license under
8
* French law and abiding by the rules of distribution of free software.
9
* You can use, modify and/or redistribute the software under the
10
* terms of the CeCILL-B license as circulated by CEA, CNRS
11
* and INRIA at the following URL "http://www.cecill.info".
12
*
13
* As a counterpart to the access to the source code and rights to copy,
14
* modify and redistribute granted by the license, users are provided only
15
* with a limited warranty and the software's author, the holder of the
16
* economic rights, and the successive licensors have only limited
17
* liability.
18
*
19
* In this respect, the user's attention is drawn to the risks associated
20
* with loading, using, modifying and/or developing or reproducing the
21
* software by the user in light of its specific status of free software,
22
* that may mean that it is complicated to manipulate, and that also
23
* therefore means that it is reserved for developers and experienced
24
* professionals having in-depth computer knowledge. Users are therefore
25
* encouraged to load and test the software's suitability as regards their
26
* requirements in conditions enabling the security of their systems and/or
27
* data to be ensured and, more generally, to use and operate it in the
28
* same conditions as regards security.
29
*
30
* The fact that you are presently reading this means that you have had
31
* knowledge of the CeCILL-B license and that you accept its terms.
32
*/
33
34
#ifndef CARTOBASE_TYPE_CONVERTER_D_H
35
#define CARTOBASE_TYPE_CONVERTER_D_H
36
37
#include <
cartobase/type/converter.h
>
38
39
namespace
carto
40
{
41
42
template
<
typename
INP,
typename
OUTP>
43
DefaultedRescalerInfo<INP,OUTP>::DefaultedRescalerInfo
()
44
{
45
// Initialize scale information
46
_defaultedvmin =
carto::getcheckedmin<INP>
(
47
std::numeric_limits<double>::quiet_NaN
());
48
_defaultedvmax =
carto::getcheckedmax<INP>
(
49
std::numeric_limits<double>::quiet_NaN
());
50
_defaultedomin =
carto::getcheckedmin<OUTP>
(
51
std::numeric_limits<double>::quiet_NaN
());
52
_defaultedomax =
carto::getcheckedmax<OUTP>
(
53
std::numeric_limits<double>::quiet_NaN
());
54
55
_scale = this->getscale();
56
}
57
58
template
<
typename
INP,
typename
OUTP>
59
DefaultedRescalerInfo<INP,OUTP>::DefaultedRescalerInfo
(
const
RescalerInfo
& info )
60
{
61
// Initialize scale information
62
_defaultedvmin =
carto::getcheckedmin<INP>
( info.
vmin
);
63
_defaultedvmax =
carto::getcheckedmax<INP>
( info.
vmax
);
64
_defaultedomin =
carto::getcheckedmin<OUTP>
( info.
omin
);
65
_defaultedomax =
carto::getcheckedmax<OUTP>
( info.
omax
);
66
67
_scale = this->getscale();
68
}
69
70
template
<
typename
INP,
typename
OUTP>
71
double
DefaultedRescalerInfo<INP,OUTP>::getscale()
const
{
72
double
vdiff, odiff;
73
vdiff =
static_cast<
double
>
(this->_defaultedvmax)
74
-
static_cast<
double
>
(this->_defaultedvmin);
75
vdiff = ( vdiff != 0 ? vdiff : 1 );
76
odiff =
static_cast<
double
>
(this->_defaultedomax)
77
-
static_cast<
double
>
(this->_defaultedomin);
78
79
return
odiff / vdiff ;
80
}
81
82
}
83
84
#endif
carto::DefaultedRescalerInfo::DefaultedRescalerInfo
DefaultedRescalerInfo()
Definition
converter_d.h:43
carto::RescalerInfo
Low level rescaler info used for rescaling.
Definition
converter.h:58
carto::RescalerInfo::vmin
double vmin
Definition
converter.h:71
carto::RescalerInfo::vmax
double vmax
Definition
converter.h:72
carto::RescalerInfo::omin
double omin
Definition
converter.h:73
carto::RescalerInfo::omax
double omax
Definition
converter.h:74
converter.h
carto
Definition
algorithm.h:48
carto::getcheckedmax
TYPE getcheckedmax(double max)
Definition
converter.h:420
carto::getcheckedmin
TYPE getcheckedmin(double min)
Definition
converter.h:413
std::numeric_limits::quiet_NaN
static _Tp quiet_NaN()
Definition
limits_gcc3.h:996
cartobase
type
converter_d.h
Generated by
1.13.2