00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #ifndef QWT_PLOT_CURVE_3D_H
00011 #define QWT_PLOT_CURVE_3D_H
00012
00013 #include "qwt_global.h"
00014 #include "qwt_plot_seriesitem.h"
00015 #include "qwt_series_data.h"
00016
00017 class QwtSymbol;
00018 class QwtColorMap;
00019
00020 class QWT_EXPORT QwtPlotCurve3D: public QwtPlotSeriesItem<QwtDoublePoint3D>
00021 {
00022 public:
00023 enum CurveStyle
00024 {
00025 Dots,
00026 Symbols
00027 };
00028
00029 enum PaintAttribute
00030 {
00031 ClipPoints = 1
00032 };
00033
00034 explicit QwtPlotCurve3D(const QString &title = QString::null);
00035 explicit QwtPlotCurve3D(const QwtText &title);
00036
00037 virtual ~QwtPlotCurve3D();
00038
00039 virtual int rtti() const;
00040
00041 void setPaintAttribute(PaintAttribute, bool on = true);
00042 bool testPaintAttribute(PaintAttribute) const;
00043
00044 void setSamples(const QVector<QwtDoublePoint3D> &);
00045
00046 void setColorMap(const QwtColorMap &);
00047 const QwtColorMap &colorMap() const;
00048
00049 void setColorRange(const QwtDoubleInterval &);
00050 QwtDoubleInterval & colorRange() const;
00051
00052 void setStyle(CurveStyle style);
00053 CurveStyle style() const;
00054
00055 virtual void drawSeries(QPainter *,
00056 const QwtScaleMap &xMap, const QwtScaleMap &yMap,
00057 const QRectF &canvasRect, int from, int to) const;
00058
00059 protected:
00060 virtual void drawDots(QPainter *,
00061 const QwtScaleMap &xMap, const QwtScaleMap &yMap,
00062 const QRectF &canvasRect, int from, int to) const;
00063
00064 void drawSymbols(QPainter *painter,
00065 const QwtScaleMap &xMap, const QwtScaleMap &yMap,
00066 const QRectF &canvasRect, int from, int to) const;
00067
00068
00069 virtual QwtSymbol *valueSymbol(const QwtDoublePoint3D &) const;
00070
00071 void init();
00072
00073 class PrivateData;
00074 PrivateData *d_data;
00075 };
00076
00077 #endif