QWT API (中文) 7.3.0
Qt绘图库 - 中文API文档
载入中...
搜索中...
未找到
qwt_raster_data.h
1/******************************************************************************
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 * Modified by ChenZongYan in 2024 <czy.t@163.com>
10 * Summary of major modifications (see ChangeLog.md for full history):
11 * 1. CMake build system & C++11 throughout.
12 * 2. Core panner/ zoomer refactored:
13 * - QwtPanner → QwtCachePanner (pixmap-cache version)
14 * - New real-time QwtPlotPanner derived from QwtPicker.
15 * 3. Zoomer supports multi-axis.
16 * 4. Parasite-plot framework:
17 * - QwtFigure, QwtPlotParasiteLayout, QwtPlotTransparentCanvas,
18 * - QwtPlotScaleEventDispatcher, built-in pan/zoom on axis.
19 * 5. New picker: QwtPlotSeriesDataPicker (works with date axis).
20 * 6. Raster & color-map extensions:
21 * - QwtGridRasterData (2-D table + interpolation)
22 * - QwtLinearColorMap::stopColors(), stopPos() API rename.
23 * 7. Bar-chart: expose pen/brush control.
24 * 8. Amalgamated build: single QwtPlot.h / QwtPlot.cpp pair in src-amalgamate.
25 *****************************************************************************/
26
27#ifndef QWT_RASTER_DATA_H
28#define QWT_RASTER_DATA_H
29
30#include "qwtcore_global.h"
31#include <qnamespace.h>
32
33class QwtInterval;
34class QPolygonF;
35class QRectF;
36class QSize;
37template< typename T >
38class QList;
39template< class Key, class T >
40class QMap;
41
62class QWTCORE_EXPORT QwtRasterData
63{
64public:
67
76 {
93 WithoutGaps = 0x01
94 };
95
96 Q_DECLARE_FLAGS(Attributes, Attribute)
97
98
103 {
105 IgnoreAllVerticesOnLevel = 0x01,
106
108 IgnoreOutOfRange = 0x02
109 };
110
111 Q_DECLARE_FLAGS(ConrecFlags, ConrecFlag)
112
113
116 virtual ~QwtRasterData();
117
119 void setAttribute(Attribute, bool on = true);
121 bool testAttribute(Attribute) const;
122
123 // Get the bounding interval for an axis
124 virtual QwtInterval interval(Qt::Axis) const = 0;
125
127 virtual QRectF pixelHint(const QRectF&) const;
128
130 virtual void initRaster(const QRectF&, const QSize& raster);
132 virtual void discardRaster();
133
134 // Get the value at a raster position
135 virtual double value(double x, double y) const = 0;
136
138 virtual ContourLines contourLines(const QRectF& rect, const QSize& raster, const QList< double >& levels, ConrecFlags) const;
139
140 class Contour3DPoint;
141 class ContourPlane;
142
143private:
144 QwtRasterData(const QwtRasterData&) = delete;
145 QwtRasterData& operator=(const QwtRasterData&) = delete;
146
147 QWT_DECLARE_PRIVATE(QwtRasterData)
148};
149
150Q_DECLARE_OPERATORS_FOR_FLAGS(QwtRasterData::ConrecFlags)
151Q_DECLARE_OPERATORS_FOR_FLAGS(QwtRasterData::Attributes)
152
153#endif
Definition qwt_raster_data.h:38
Definition qwt_raster_data.h:40
A class representing an interval
Definition qwt_interval.h:39
Definition qwt_raster_data.cpp:40
QwtRasterData defines an interface to any type of raster data.
Definition qwt_raster_data.h:63
virtual ~QwtRasterData()
Destructor
Attribute
Raster data attributes
Definition qwt_raster_data.h:76
ConrecFlag
Flags to modify the contour algorithm
Definition qwt_raster_data.h:103