source: ntrip/trunk/BNC/qwt/qwt_matrix_raster_data.h@ 9042

Last change on this file since 9042 was 8127, checked in by stoecker, 8 years ago

update qwt and qwtpolar, many QT5 fixes (unfinished)

File size: 2.0 KB
Line 
1/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
2 * Qwt Widget Library
3 * Copyright (C) 1997 Josef Wilgen
4 * Copyright (C) 2002 Uwe Rathmann
5 *
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the Qwt License, Version 1.0
8 *****************************************************************************/
9
10#ifndef QWT_MATRIX_RASTER_DATA_H
11#define QWT_MATRIX_RASTER_DATA_H 1
12
13#include "qwt_global.h"
14#include "qwt_raster_data.h"
15#include <qvector.h>
16
17/*!
18 \brief A class representing a matrix of values as raster data
19
20 QwtMatrixRasterData implements an interface for a matrix of
21 equidistant values, that can be used by a QwtPlotRasterItem.
22 It implements a couple of resampling algorithms, to provide
23 values for positions, that or not on the value matrix.
24*/
25class QWT_EXPORT QwtMatrixRasterData: public QwtRasterData
26{
27public:
28 /*!
29 \brief Resampling algorithm
30 The default setting is NearestNeighbour;
31 */
32 enum ResampleMode
33 {
34 /*!
35 Return the value from the matrix, that is nearest to the
36 the requested position.
37 */
38 NearestNeighbour,
39
40 /*!
41 Interpolate the value from the distances and values of the
42 4 surrounding values in the matrix,
43 */
44 BilinearInterpolation
45 };
46
47 QwtMatrixRasterData();
48 virtual ~QwtMatrixRasterData();
49
50 void setResampleMode(ResampleMode mode);
51 ResampleMode resampleMode() const;
52
53 virtual void setInterval( Qt::Axis, const QwtInterval & );
54
55 void setValueMatrix( const QVector<double> &values, int numColumns );
56 const QVector<double> valueMatrix() const;
57
58 void setValue( int row, int col, double value );
59
60 int numColumns() const;
61 int numRows() const;
62
63 virtual QRectF pixelHint( const QRectF & ) const;
64
65 virtual double value( double x, double y ) const;
66
67private:
68 void update();
69
70 class PrivateData;
71 PrivateData *d_data;
72};
73
74#endif
Note: See TracBrowser for help on using the repository browser.