#include <qwt_scldiv.h>
Public Methods | |
QwtScaleDiv () | |
virtual | ~QwtScaleDiv () |
QwtScaleDiv (const QwtScaleDiv& s) | |
QwtScaleDiv& | operator= (const QwtScaleDiv &s) |
int | operator== (const QwtScaleDiv &s) const |
int | operator!= (const QwtScaleDiv &s) const |
double | lBound () const |
double | hBound () const |
int | minCnt () const |
int | majCnt () const |
bool | logScale () const |
double | majMark (int i) const |
double | minMark (int i) const |
double | majStep () const |
void | reset () |
bool | rebuild (double lBound, double hBound, int maxMaj, int maxMin, bool log, double step = 0.0, bool ascend = TRUE) |
The QwtScaleDiv class can build linear and logarithmic scale divisions for specified intervals. It uses an adjustable algorithm to generate the major and minor step widths automatically. A scale division has a minimum value, a maximum value, a vector of major marks, and a vector of minor marks.
#include "../include/qwt_scldiv.h> #include <iostream.h> main() { int i,k; QwtScaleDiv sd; sd.rebuild(0.01, 100, 10, 10, TRUE, 0.0); k=0; for (i=0;i<sd.majCnt();i++) { while(k < sd.minCnt()) { if (sd.minMark(k) < sd.majMark(i)) { cout << " - " << sd.minMark(i) << "\n"; k++; } else break; } cout << "-- " << sd.majMark(i) << "\n"; } while(k < sd.minCnt()) { cout << " - " << sd.minMark(i) << "\n"; k++; } }
|
Construct a QwtScaleDiv instance.
|
|
Destroy a QwtScaleDiv instance.
|
|
Copy Constructor.
Calls copy(). |
|
Inequality.
|
|
Copy Assignment.
|
|
Equality operator.
|
|
Build a scale width major and minor divisions If no fixed step width is specified or if it is set to 0, the major step width will be calculated automatically according to the the value of maxMajSteps. The maxMajSteps parameter has no effect if a fixed step size is specified. The minor step width is always calculated automatically.
If the step width is to be calculated automatically, the algorithm tries to find reasonable values fitting into the scheme {1,2,5}*10^n with an integer number n for linear scales. For logarithmic scales, there are three different cases
|
|
Detach the shared data and set everything to zero.
|