#include <qwt_scldiv.h>
Public Member Functions | |
| QwtScaleDiv () | |
| 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) |
Private Member Functions | |
| bool | buildLinDiv (int maxMajMark, int maxMinMark, double step=0.0) |
| bool | buildLogDiv (int maxMajMark, int maxMinMark, double step=0.0) |
Private Attributes | |
| double | d_lBound |
| double | d_hBound |
| double | d_majStep |
| bool | d_log |
| QwtArray< double > | d_majMarks |
| QwtArray< double > | d_minMarks |
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++;
}
}
Definition at line 69 of file qwt_scldiv.h.
|
|
Construct a QwtScaleDiv instance.
Definition at line 42 of file qwt_scldiv.cpp. |
|
||||||||||||||||
|
Build a linear scale division in ascending order. If the 'step' parameter is set to 0.0, this function cal[culates the step width automatically according to the value of 'maxSteps'. MaxSteps must be greater than or equal to 2. It will be guessed if an invalid value is specified. The maximum possible number of steps is limited to 10000. The maxSteps parameter has no effect if a fixed step width is specified.
Definition at line 129 of file qwt_scldiv.cpp. References border_eps, d_hBound, d_lBound, d_majMarks, d_majStep, d_minMarks, qwtAbs, qwtCeil125(), qwtLimRange(), qwtLinSpace(), qwtMax, qwtMin, and step_eps. Referenced by buildLogDiv(), and rebuild(). |
|
||||||||||||||||
|
Build a logarithmic scale division.
Definition at line 232 of file qwt_scldiv.cpp. References border_eps, buildLinDiv(), d_hBound, d_lBound, d_majMarks, d_majStep, d_minMarks, LOG_MAX, LOG_MIN, qwtAbs, qwtCeil125(), qwtLimRange(), qwtLogSpace(), qwtMax, qwtMin, and step_eps. Referenced by rebuild(). |
|
|
Definition at line 86 of file qwt_scldiv.h. Referenced by QwtScaleDraw::setScale(), QwtScaleIf::setScaleMaxMajor(), and QwtScaleIf::setScaleMaxMinor(). |
|
|
Definition at line 81 of file qwt_scldiv.h. Referenced by QwtScaleDraw::setScale(), QwtScaleIf::setScaleMaxMajor(), and QwtScaleIf::setScaleMaxMinor(). |
|
|
Definition at line 102 of file qwt_scldiv.h. Referenced by QwtScaleDraw::draw(), QwtScaleDraw::labelPlacement(), QwtScaleDraw::maxLabelHeight(), QwtScaleDraw::maxLabelWidth(), QwtSlider::rangeChange(), QwtSlider::scaleChange(), QwtScaleDraw::setScale(), QwtScaleIf::setScaleMaxMajor(), and QwtScaleIf::setScaleMaxMinor(). |
|
|
Definition at line 96 of file qwt_scldiv.h. Referenced by QwtScaleDraw::draw(), QwtGrid::draw(), QwtScaleDraw::maxLabelHeight(), QwtScaleDraw::maxLabelWidth(), QwtScaleDraw::minBorderDist(), QwtScaleDraw::minHeight(), QwtScaleDraw::minLabelDist(), QwtScaleDraw::minWidth(), QwtScaleIf::setScale(), and QwtPlot::sizeHint(). |
|
|
Definition at line 105 of file qwt_scldiv.h. Referenced by QwtScaleDraw::draw(), QwtGrid::draw(), QwtScaleDraw::maxLabelHeight(), QwtScaleDraw::maxLabelWidth(), QwtScaleDraw::minBorderDist(), and QwtScaleDraw::minLabelDist(). |
|
|
Definition at line 113 of file qwt_scldiv.h. Referenced by QwtScaleDraw::draw(), QwtScaleDraw::labelPlacement(), QwtScaleDraw::maxLabelHeight(), and QwtScaleDraw::maxLabelWidth(). |
|
|
Definition at line 91 of file qwt_scldiv.h. Referenced by QwtScaleDraw::draw(), QwtGrid::draw(), QwtScaleDraw::minHeight(), QwtScaleDraw::minWidth(), and QwtScaleIf::setScale(). |
|
|
Definition at line 107 of file qwt_scldiv.h. Referenced by QwtScaleDraw::draw(), and QwtGrid::draw(). |
|
|
Inequality.
Definition at line 439 of file qwt_scldiv.cpp. |
|
|
Equality operator.
Definition at line 425 of file qwt_scldiv.cpp. References d_hBound, d_lBound, d_log, d_majMarks, d_majStep, and d_minMarks. |
|
||||||||||||||||||||||||||||||||
|
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
Definition at line 86 of file qwt_scldiv.cpp. References buildLinDiv(), buildLogDiv(), d_hBound, d_lBound, d_log, d_majMarks, d_minMarks, qwtMax, qwtMin, and qwtTwistArray(). Referenced by QwtAutoScale::build(), QwtAutoScale::buildLinScale(), QwtAutoScale::buildLogScale(), and QwtScaleDraw::setScale(). |
|
|
Detach the shared data and set everything to zero.
Definition at line 445 of file qwt_scldiv.cpp. References d_hBound, d_lBound, d_log, d_majMarks, d_majStep, and d_minMarks. Referenced by QwtAutoScale::reset(). |
|
|
Definition at line 124 of file qwt_scldiv.h. Referenced by buildLinDiv(), buildLogDiv(), operator==(), QwtScaleDiv(), rebuild(), and reset(). |
|
|
Definition at line 123 of file qwt_scldiv.h. Referenced by buildLinDiv(), buildLogDiv(), operator==(), QwtScaleDiv(), rebuild(), and reset(). |
|
|
Definition at line 126 of file qwt_scldiv.h. Referenced by operator==(), QwtScaleDiv(), rebuild(), and reset(). |
|
|
Definition at line 128 of file qwt_scldiv.h. Referenced by buildLinDiv(), buildLogDiv(), operator==(), rebuild(), and reset(). |
|
|
Definition at line 125 of file qwt_scldiv.h. Referenced by buildLinDiv(), buildLogDiv(), operator==(), QwtScaleDiv(), and reset(). |
|
|
Definition at line 129 of file qwt_scldiv.h. Referenced by buildLinDiv(), buildLogDiv(), operator==(), rebuild(), and reset(). |
1.3.2