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
00024 class QWT_EXPORT QwtPlotSpectroCurve: public QwtPlotSeriesItem<QwtPoint3D>
00025 {
00026 public:
00028 enum PaintAttribute
00029 {
00031 ClipPoints = 1
00032 };
00033
00035 typedef QFlags<PaintAttribute> PaintAttributes;
00036
00037 explicit QwtPlotSpectroCurve( const QString &title = QString::null );
00038 explicit QwtPlotSpectroCurve( const QwtText &title );
00039
00040 virtual ~QwtPlotSpectroCurve();
00041
00042 virtual int rtti() const;
00043
00044 void setPaintAttribute( PaintAttribute, bool on = true );
00045 bool testPaintAttribute( PaintAttribute ) const;
00046
00047 void setSamples( const QVector<QwtPoint3D> & );
00048
00049 void setColorMap( QwtColorMap * );
00050 const QwtColorMap *colorMap() const;
00051
00052 void setColorRange( const QwtInterval & );
00053 QwtInterval & colorRange() 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 void setPenWidth(double width);
00060 double penWidth() const;
00061
00062 protected:
00063 virtual void drawDots( QPainter *,
00064 const QwtScaleMap &xMap, const QwtScaleMap &yMap,
00065 const QRectF &canvasRect, int from, int to ) const;
00066
00067 private:
00068 void init();
00069
00070 class PrivateData;
00071 PrivateData *d_data;
00072 };
00073
00074 Q_DECLARE_OPERATORS_FOR_FLAGS( QwtPlotSpectroCurve::PaintAttributes )
00075
00076 #endif