QwtLogScaleEngine Class Reference

A scale engine for logarithmic scales. More...

`#include <qwt_scale_engine.h>`

Inheritance diagram for QwtLogScaleEngine:
[legend]

## Public Member Functions

| QwtLogScaleEngine (uint base=10)
virtual | ~QwtLogScaleEngine ()
| Destructor.
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
| Calculate a scale division for an interval. More...
Public Member Functions inherited from QwtScaleEngine
| QwtScaleEngine (uint base=10)
virtual | ~QwtScaleEngine ()
| Destructor.
void | setBase (uint base)
uint | base () const
void | setAttribute (Attribute, bool on=true)
bool | testAttribute (Attribute) const
void | setAttributes (Attributes)
Attributes | attributes () const
void | setReference (double reference)
| Specify a reference point. More...
double | reference () const
void | setMargins (double lower, double upper)
| Specify margins at the scale's endpoints. More...
double | lowerMargin () const
double | upperMargin () const
void | setTransformation (QwtTransform *)
QwtTransform * | transformation () const

## Protected Member Functions

QwtInterval | align (const QwtInterval &, double stepSize) const
| Align an interval to a step size. More...
void | buildTicks (const QwtInterval &, double stepSize, int maxMinSteps, QList< double > ticks[QwtScaleDiv::NTickTypes]) const
| Calculate ticks for an interval. More...
QList< double > | buildMajorTicks (const QwtInterval &interval, double stepSize) const
| Calculate major ticks for an interval. More...
void | buildMinorTicks (const QList< double > &majorTicks, int maxMinorSteps, double stepSize, QList< double > &minorTicks, QList< double > &mediumTicks) const
| Calculate minor/medium ticks for major ticks. More...
Protected Member Functions inherited from QwtScaleEngine
bool | contains (const QwtInterval &, double val) const
QList< double > | strip (const QList< double > &, const QwtInterval &) const
double | divideInterval (double interval, int numSteps) const
QwtInterval | buildInterval (double v) const
| Build an interval around a value. More...

## Additional Inherited Members

Public Types inherited from QwtScaleEngine
enum | Attribute { NoAttribute = 0x00, IncludeReference = 0x01, Symmetric = 0x02, Floating = 0x04, Inverted = 0x08 }
typedef QFlags< Attribute > | Attributes
| Layout attributes.

## Detailed Description

A scale engine for logarithmic 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.

## Constructor & Destructor Documentation

QwtLogScaleEngine::QwtLogScaleEngine | ( | uint | base = `10` | ) |

Constructor

Parameters

  base | Base of the scale engine

See also
  setBase()

## Member Function Documentation

QwtInterval QwtLogScaleEngine::align | ( | const QwtInterval & | 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

void QwtLogScaleEngine::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.

QList< double > QwtLogScaleEngine::buildMajorTicks | ( | const QwtInterval & | interval,
|  | double | stepSize
| ) |  | const

protected

Calculate major ticks for an interval.

Parameters

  interval | Interval
  stepSize | Step size

Returns
  Calculated ticks

void QwtLogScaleEngine::buildMinorTicks | ( | const QList< double > & | majorTicks,
|  | int | maxMinorSteps,
|  | double | stepSize,
|  | QList< double > & | minorTicks,
|  | QList< double > & | mediumTicks
| ) |  | const

protected

Calculate minor/medium ticks for major ticks.

Parameters

  majorTicks | Major ticks
  maxMinorSteps | Maximum number of minor steps
  stepSize | Step size
  minorTicks | Array to be filled with the calculated minor ticks
  mediumTicks | Array to be filled with the calculated medium ticks

void QwtLogScaleEngine::buildTicks | ( | const QwtInterval & | interval,
|  | double | stepSize,
|  | int | maxMinorSteps,
|  | QList< double > | ticks[QwtScaleDiv::NTickTypes]
| ) |  | const

protected

Calculate ticks for an interval.

Parameters

  interval | Interval
  maxMinorSteps | Maximum number of minor steps
  stepSize | Step size
  ticks | Arrays to be filled with the calculated ticks

See also
  buildMajorTicks(), buildMinorTicks

QwtScaleDiv QwtLogScaleEngine::divideScale | ( | double | x1,
|  | double | x2,
|  | int | maxMajorSteps,
|  | int | maxMinorSteps,
|  | double | stepSize = `0.0`
| ) |  | const

virtual

Calculate a scale division for an interval.

Parameters

  x1 | First interval limit
  x2 | Second interval limit
  maxMajorSteps | Maximum for the number of major steps
  maxMinorSteps | Maximum number of minor steps
  stepSize | Step size. If stepSize == 0, the engine calculates one.

Returns
  Calculated scale division

Implements QwtScaleEngine.