# qwt_plot_spectrocurve.h

    00001 /* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
    00002  * Qwt Widget Library
    00003  * Copyright (C) 1997   Josef Wilgen
    00004  * Copyright (C) 2002   Uwe Rathmann
    00005  *
    00006  * This library is free software; you can redistribute it and/or
    00007  * modify it under the terms of the Qwt License, Version 1.0
    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