# QwtLinearScaleEngine Class Reference

Inheritance diagram for QwtLinearScaleEngine:

[legend]
Collaboration diagram for QwtLinearScaleEngine:

[legend]
List of all members.

## Detailed Description

A scale engine for linear scales.

The step size will fit into the pattern , 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 QwtScaleTransformation * | transformation () 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.

Parameters:

  | interval | Interval
  | stepSize | Step size

Returns:
  Aligned interval

Definition at line 600 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

Parameters:

  | 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:
  QwtLinearScaleEngine::setAttribute

Implements QwtScaleEngine.

Definition at line 416 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.

Parameters:

  | 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 461 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 401 of file qwt_scale_engine.cpp. Referenced by QwtDial::updateScale().