QwtLinearScaleEngine Class Reference

Inheritance diagram for QwtLinearScaleEngine:

Inheritance graph
Collaboration diagram for QwtLinearScaleEngine:

Collaboration graph
List of all members.

Detailed Description

A scale engine for linear scales.

The step size will fit into the pattern $\left\{ 1,2,5\right\} \cdot 10^{n}$, where n is an integer.

Definition at line 126 of file qwt_scale_engine.h.

Public Member Functions

virtual void autoScale (int maxSteps, double &x1, double &x2, double &stepSize) const
virtual QwtScaleDiv divideScale (double x1, double x2, int numMajorSteps, int numMinorSteps, double stepSize=0.0) const
virtual QwtScaleTransformationtransformation () const

Protected Member Functions

QwtDoubleInterval align (const QwtDoubleInterval &, double stepSize) const

Member Function Documentation

QwtDoubleInterval QwtLinearScaleEngine::align const QwtDoubleInterval interval,
double  stepSize
const [protected]

Align an interval to a step size.

The limits of an interval are aligned that both are integer multiples of the step size.

interval Interval
stepSize Step size
Aligned interval

Definition at line 607 of file qwt_scale_engine.cpp.

References QwtScaleArithmetic::ceilEps(), QwtScaleArithmetic::floorEps(), QwtDoubleInterval::maxValue(), and QwtDoubleInterval::minValue().

Referenced by autoScale().

void QwtLinearScaleEngine::autoScale int  maxNumSteps,
double &  x1,
double &  x2,
double &  stepSize
const [virtual]

Align and divide an interval

maxNumSteps Max. number of steps
x1 First limit of the interval (In/Out)
x2 Second limit of the interval (In/Out)
stepSize Step size (Out)
See also:

Implements QwtScaleEngine.

Definition at line 423 of file qwt_scale_engine.cpp.

References align(), QwtScaleEngine::buildInterval(), QwtScaleEngine::divideInterval(), QwtDoubleInterval::extend(), QwtScaleEngine::hiMargin(), QwtScaleEngine::loMargin(), QwtDoubleInterval::maxValue(), QwtDoubleInterval::minValue(), QwtDoubleInterval::normalized(), QwtScaleEngine::reference(), QwtDoubleInterval::setMaxValue(), QwtDoubleInterval::setMinValue(), QwtDoubleInterval::symmetrize(), QwtScaleEngine::testAttribute(), and QwtDoubleInterval::width().

QwtScaleDiv QwtLinearScaleEngine::divideScale double  x1,
double  x2,
int  maxMajSteps,
int  maxMinSteps,
double  stepSize = 0.0
const [virtual]

Calculate a scale division.

x1 First interval limit
x2 Second interval limit
maxMajSteps Maximum for the number of major steps
maxMinSteps Maximum number of minor steps
stepSize Step size. If stepSize == 0, the scaleEngine calculates one.
See also:
QwtScaleEngine::stepSize, QwtScaleEngine::subDivide

Implements QwtScaleEngine.

Definition at line 468 of file qwt_scale_engine.cpp.

References QwtScaleEngine::divideInterval(), and QwtDoubleInterval::width().

Referenced by QwtLog10ScaleEngine::divideScale(), and QwtDial::updateScale().

QwtScaleTransformation * QwtLinearScaleEngine::transformation  )  const [virtual]

Return a transformation, for linear scales

Implements QwtScaleEngine.

Definition at line 408 of file qwt_scale_engine.cpp.

Referenced by QwtDial::updateScale().

Generated on Mon Feb 26 21:24:10 2007 for Qwt User's Guide by  doxygen 1.4.6