Isis 3.0 Object Programmers' Reference
Home
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
ScatterPlotData.h
1
#ifndef ScatterPlotData_h
2
#define ScatterPlotData_h
3
4
#include <qwt_raster_data.h>
5
6
#include <QScopedPointer>
7
#include <QVector>
8
9
#include "
Stretch.h
"
10
11
template
<
typename
A,
typename
B>
class
QPair;
12
template
<
typename
T>
class
QVector;
13
14
class
QwtInterval;
15
16
namespace
Isis {
17
class
Cube;
18
27
class
ScatterPlotData
:
public
QwtRasterData
{
28
public
:
29
ScatterPlotData
(
Cube
*xCube,
int
xCubeBand,
int
xBinCount,
30
Cube
*yCube,
int
yCubeBand,
int
yBinCount,
31
QwtInterval sampleRange, QwtInterval lineRange);
32
ScatterPlotData
(
const
ScatterPlotData
&other);
33
34
~ScatterPlotData
();
35
virtual
QwtRasterData
*
copy
()
const
;
36
virtual
double
value
(
double
x,
double
y)
const
;
37
38
double
xCubeMin
()
const
;
39
double
xCubeMax
()
const
;
40
double
yCubeMin
()
const
;
41
double
yCubeMax
()
const
;
42
43
void
swap
(
ScatterPlotData
&other);
44
45
QPair<double, double>
binXY
(
int
binIndex
)
const
;
46
int
binCount
(
int
binIndex)
const
;
47
int
numberOfBins
()
const
;
48
49
QVector<double>
discreteXValues
()
const
;
50
51
void
alarm
(
double
x,
double
y);
52
void
clearAlarms
();
53
54
QRectF
pixelHint
(
const
QRectF &area)
const
;
55
56
ScatterPlotData
&
operator=
(
const
ScatterPlotData
&other);
57
58
private
:
59
int
binCount
(
int
xIndex,
int
yIndex)
const
;
60
int
binIndex
(
int
xIndex,
int
yIndex)
const
;
61
int
binIndex
(
double
x,
double
y)
const
;
62
QPair<int, int>
binXYIndices
(
int
binIndex)
const
;
63
QPair<int, int>
binXYIndices
(
double
x,
double
y)
const
;
64
65
QScopedPointer<Stretch>
m_xDnToBinStretch
;
66
QScopedPointer<Stretch>
m_yDnToBinStretch
;
67
72
QScopedPointer< QVector< QVector<int> > >
m_counts
;
73
75
int
m_maxCount
;
76
80
QScopedPointer< QMap<int, bool> >
m_alarmedBins
;
81
83
double
m_xCubeMin
;
85
double
m_xCubeMax
;
87
double
m_yCubeMin
;
89
double
m_yCubeMax
;
90
};
91
};
92
93
#endif