# QwtLog10ScaleEngine Class Reference

Inheritance diagram for QwtLog10ScaleEngine:

[legend]
Collaboration diagram for QwtLog10ScaleEngine:

[legend]
List of all members.

## Detailed Description

A scale engine for logarithmic (base 10) scales.

The step size is measured in *decades* and the major step size will be adjusted to fit the pattern , where n is a natural number including zero.

Warning:
  the step size as well as the margins are measured in *decades*.

Definition at line 167 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 | log10 (const QwtDoubleInterval &) const
QwtDoubleInterval | pow10 (const QwtDoubleInterval &) const

## Member Function Documentation

void QwtLog10ScaleEngine::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:
  QwtScaleEngine::setAttribute

Implements QwtScaleEngine.

Definition at line 629 of file qwt_scale_engine.cpp.

References QwtScaleEngine::buildInterval(), QwtScaleEngine::divideInterval(), QwtDoubleInterval::extend(), QwtScaleEngine::hiMargin(), QwtDoubleInterval::limited(), log10(), QwtScaleEngine::loMargin(), QwtDoubleInterval::maxValue(), QwtDoubleInterval::minValue(), QwtScaleEngine::reference(), QwtDoubleInterval::setInterval(), QwtScaleEngine::testAttribute(), and QwtDoubleInterval::width().

QwtScaleDiv QwtLog10ScaleEngine::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, QwtLog10ScaleEngine::subDivide

Implements QwtScaleEngine.

Definition at line 686 of file qwt_scale_engine.cpp.

References QwtScaleEngine::attributes(), QwtScaleEngine::divideInterval(), QwtLinearScaleEngine::divideScale(), QwtScaleEngine::hiMargin(), QwtScaleDiv::invert(), QwtDoubleInterval::limited(), log10(), QwtScaleEngine::loMargin(), QwtDoubleInterval::maxValue(), QwtDoubleInterval::minValue(), QwtDoubleInterval::normalized(), QwtScaleEngine::reference(), QwtScaleEngine::setAttributes(), QwtScaleEngine::setMargins(), QwtScaleEngine::setReference(), and QwtDoubleInterval::width().

QwtScaleTransformation * QwtLog10ScaleEngine::transformation | ( |  | ) | const`[virtual]`

Return a transformation, for logarithmic (base 10) scales

Implements QwtScaleEngine.

Definition at line 614 of file qwt_scale_engine.cpp.

QwtDoubleInterval QwtLog10ScaleEngine::log10 | ( | const QwtDoubleInterval & | interval | ) | const`[protected]`

Return the interval [log10(interval.minValue(), log10(interval.maxValue]

Definition at line 892 of file qwt_scale_engine.cpp.

References QwtDoubleInterval::maxValue(), and QwtDoubleInterval::minValue().

Referenced by autoScale(), and divideScale().

QwtDoubleInterval QwtLog10ScaleEngine::pow10 | ( | const QwtDoubleInterval & | interval | ) | const`[protected]`

Return the interval [pow10(interval.minValue(), pow10(interval.maxValue]

Definition at line 902 of file qwt_scale_engine.cpp.

References QwtDoubleInterval::maxValue(), and QwtDoubleInterval::minValue().