00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #ifndef QWT_SCLDIV_H
00011 #define QWT_SCLDIV_H
00012
00013 #include "qwt_global.h"
00014 #include "qwt_array.h"
00015
00016 #if defined(QWT_TEMPLATEDLL)
00017
00018 template class QWT_EXPORT QwtArray<double>;
00019
00020 #endif
00021
00069 class QWT_EXPORT QwtScaleDiv
00070 {
00071 public:
00072 QwtScaleDiv ();
00073
00074 int operator== (const QwtScaleDiv &s) const;
00075 int operator!= (const QwtScaleDiv &s) const;
00076
00081 double lBound() const { return d_lBound; }
00086 double hBound() const { return d_hBound; }
00091 uint minCnt() const { return d_minMarks.size(); }
00096 uint majCnt() const { return d_majMarks.size(); }
00097
00102 bool logScale() const { return d_log; }
00103
00105 double majMark(int i) const { return d_majMarks[i]; }
00107 double minMark(int i) const { return d_minMarks[i]; }
00108
00113 double majStep() const { return d_majStep; }
00114 void reset();
00115
00116 bool rebuild(double lBound, double hBound, int maxMaj, int maxMin,
00117 bool log, double step = 0.0, bool ascend = TRUE);
00118
00119 private:
00120 bool buildLinDiv(int maxMajMark, int maxMinMark, double step = 0.0);
00121 bool buildLogDiv(int maxMajMark, int maxMinMark, double step = 0.0);
00122
00123 double d_lBound;
00124 double d_hBound;
00125 double d_majStep;
00126 bool d_log;
00127
00128 QwtArray<double> d_majMarks;
00129 QwtArray<double> d_minMarks;
00130 };
00131
00132 #endif