9 static int pixel_cntr_x;
10 static int pixel_cntr_y;
20 int data_array_xsize_;
21 int data_array_ysize_;
23 double data_array_min_;
24 double data_array_max_;
34 double background_value_;
41 RasterData(
int data_array_xsize,
int data_array_ysize): QwtRasterData()
45 set_axis(0, 0, 10, 10);
48 data_array_xsize_ = data_array_xsize;
49 data_array_ysize_ = data_array_ysize;
51 background_value_ = -200;
61 virtual QwtRasterData *copy()
const 64 clone -> set_data_range(data_array_min_, data_array_max_);
65 clone -> set_axis(xaxis_min_, yaxis_min_, xaxis_max_, yaxis_max_);
66 clone -> set_data(data_array_);
67 clone -> set_background_value(background_value_);
74 virtual QwtDoubleInterval
range()
const 76 return QwtDoubleInterval(data_array_min_, data_array_max_);
81 virtual double value(
double x,
double y)
const 83 int x_idx = (int) ( ((x - xaxis_min_) / axis2index_x_ ) + 0.5 );
84 int y_idx = (int) ( (y - yaxis_min_) / axis2index_y_ );
88 if (x_idx < data_array_xsize_)
89 datum = data_array_[y_idx][x_idx];
91 datum = background_value_;
93 if ((y - yaxis_min_) <= 1e-6)
96 if ((x - xaxis_min_) <= 1e-6)
111 data_array_min_ = data_array_min;
112 data_array_max_ = data_array_max;
117 void set_axis(
double xaxis_min,
double yaxis_min,
double xaxis_max,
double yaxis_max) {
118 if ((xaxis_min < 0) || (xaxis_max < 0)) cerr <<
"rasterdata.h: negative Plot Scale does not work! (xaxis_min=" <<xaxis_min <<
",xaxis_max= " << xaxis_max <<
")" << endl;
120 xaxis_min_ = xaxis_min;
121 yaxis_min_ = yaxis_min;
122 xaxis_max_ = xaxis_max;
123 yaxis_max_ = yaxis_max;
125 setBoundingRect(QwtDoubleRect(xaxis_min_, yaxis_min_, xaxis_max_, yaxis_max_));
127 axis2index_x_ = (xaxis_max_ - xaxis_min_) / (data_array_xsize_-1);
128 axis2index_y_ = (yaxis_max_ - yaxis_min_) / (data_array_ysize_ -1);
146 if (pixel_cntr_x == 0) cerr <<
"rasterdata.h: ATTENTION: x Pixel counter does not seem to work properly" << endl << endl;
152 if (pixel_cntr_y == 0) cerr <<
"rasterdata.h: ATTENTION: y Pixel counter does not seem to work properly" << endl << endl;
161 cerr <<
" #################################" << endl <<
"rasterdata.h: auslesen_fuck(), Objektadresse: " <<
this << endl;
162 cerr <<
"xaxis_max_ " << xaxis_max_ <<
", Inhalt : "<< xaxis_max_ << endl;
163 cerr <<
"xaxis_min_ " << xaxis_min_ <<
", Inhalt : "<< xaxis_min_ << endl;
164 cerr <<
"data_array_xsize_ " << data_array_xsize_ << endl;
165 cerr <<
"axis2index_x_ " << axis2index_x_ <<
", Inhalt : "<< axis2index_x_ << endl;
166 cerr <<
"data_array_ "<< data_array_ <<
" &= "<<&data_array_<< endl;
167 cerr <<
"Adresse der Klasse " <<
this << endl;
168 cerr <<
"##################################" << endl << endl;
176 #endif // RASTERDATA_H
virtual double value(double x, double y) const
implemented method of abstract QwtRasterData,
Definition: rasterdata.h:81
void read_stuff()
function for debugging, reads class members
Definition: rasterdata.h:160
int get_pixels_y()
reads pixel counter (y) , required to check for the plot size (y) in pixels
Definition: rasterdata.h:151
virtual QwtDoubleInterval range() const
implemented method of abstract QwtRasterData, reads min and max data value
Definition: rasterdata.h:74
void reset_pixel_counter()
resets pixel counter, required to check for the plot size in pixels
Definition: rasterdata.h:139
Implementation of the abstract QwtRasterData Class,.
Definition: rasterdata.h:16
RasterData(int data_array_xsize, int data_array_ysize)
constructor: only sets array size; background value, axis and data range are set to default values an...
Definition: rasterdata.h:41
int get_pixels_x()
reads pixel counter (x) , required to check for the plot size (x) in pixels
Definition: rasterdata.h:145
void set_data(double **array)
sets data array to be displayed @**array pointer to 2d array, call by reference!
Definition: rasterdata.h:134
void set_background_value(double background_value)
sets value for background areas, required to fill rightmost area (bug workaround) ...
Definition: rasterdata.h:157
void set_axis(double xaxis_min, double yaxis_min, double xaxis_max, double yaxis_max)
sets min and max axis values for the painting area (BoundingRect) in axis scale coordinates (not pixe...
Definition: rasterdata.h:117
void set_data_range(double data_array_min, double data_array_max)
sets min and max occuring value in data array
Definition: rasterdata.h:110