1
/* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
3
* Copyright (C) 1997 Josef Wilgen
4
* Copyright (C) 2002 Uwe Rathmann
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
*****************************************************************************/
12
#ifndef QWT_RASTER_DATA_H
13
#define QWT_RASTER_DATA_H 1
16
#include "qwt_global.h"
17
#include "qwt_double_rect.h"
18
#include "qwt_double_interval.h"
20
#if QT_VERSION >= 0x040000
24
#if defined(QWT_TEMPLATEDLL)
26
template class QWT_EXPORT QMap<double, QPolygonF>;
31
#include <qvaluelist.h>
32
#include "qwt_array.h"
33
#include "qwt_double_rect.h"
34
#if defined(QWT_TEMPLATEDLL)
36
#ifndef QWTARRAY_TEMPLATE_QWTDOUBLEPOINT // by mjo3
37
#define QWTARRAY_TEMPLATE_QWTDOUBLEPOINT
38
template class QWT_EXPORT QwtArray<QwtDoublePoint>;
39
#endif //end of QWTARRAY_TEMPLATE_QWTDOUBLEPOINT
40
#ifndef QMAP_TEMPLATE_DOUBLE_QWTDOUBLEPOINT // by mjo3
41
#define QMAP_TEMPLATE_DOUBLE_QWTDOUBLEPOINT
42
template class QWT_EXPORT QMap<double, QwtArray<QwtDoublePoint> >;
43
#endif //end of QMAP_TEMPLATE_QWTDOUBLEPOINT
51
\brief QwtRasterData defines an interface to any type of raster data.
53
class QWT_EXPORT QwtRasterData
56
#if QT_VERSION >= 0x040000
57
typedef QMap<double, QPolygonF> ContourLines;
59
typedef QMap<double, QwtArray<QwtDoublePoint> > ContourLines;
64
IgnoreAllVerticesOnLevel = 1,
69
QwtRasterData(const QwtDoubleRect &);
70
virtual ~QwtRasterData();
73
virtual QwtRasterData *copy() const = 0;
75
virtual void setBoundingRect(const QwtDoubleRect &);
76
QwtDoubleRect boundingRect() const;
78
virtual QSize rasterHint(const QwtDoubleRect &) const;
80
virtual void initRaster(const QwtDoubleRect &, const QSize& raster);
81
virtual void discardRaster();
83
//! \return the value at a raster position
84
virtual double value(double x, double y) const = 0;
86
//! \return the range of the values
87
virtual QwtDoubleInterval range() const = 0;
89
#if QT_VERSION >= 0x040000
90
virtual ContourLines contourLines(const QwtDoubleRect &rect,
91
const QSize &raster, const QList<double> &levels,
94
virtual ContourLines contourLines(const QwtDoubleRect &rect,
95
const QSize &raster, const QValueList<double> &levels,
103
QwtDoubleRect d_boundingRect;