---
name: "QwtLogScaleEngine"
section: "3"
platform: "linux"
package: "libqwt-doc"
version: "6.1.4-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/QwtLogScaleEngine"
---

# QwtLogScaleEngine(3)

A scale engine for logarithmic scales.

## NAME

QwtLogScaleEngine - A scale engine for logarithmic scales.

## SYNOPSIS

`#include <qwt_scale_engine.h>`

Inherits **QwtScaleEngine**.

### Public Member Functions

**QwtLogScaleEngine** (uint **base**=10)\
 virtual **~QwtLogScaleEngine** ()\
 Destructor.  virtual void **autoScale** (int maxNumSteps, double &x1, double &x2, double &stepSize) const\
 virtual **QwtScaleDiv** **divideScale** (double x1, double x2, int maxMajorSteps, int maxMinorSteps, double stepSize=0.0) const\
 Calculate a scale division for an interval.

### Protected Member Functions

**QwtInterval** **align** (const **QwtInterval** &, double stepSize) const\
 Align an interval to a step size.  void **buildTicks** (const **QwtInterval** &, double stepSize, int maxMinorSteps, QList\< double \> ticks\[**QwtScaleDiv::NTickTypes**\]) const\
 Calculate ticks for an interval.  QList\< double \> **buildMajorTicks** (const **QwtInterval** &interval, double stepSize) const\
 Calculate major ticks for an interval.  void **buildMinorTicks** (const QList\< double \> &majorTicks, int maxMinorSteps, double stepSize, QList\< double \> &minorTicks, QList\< double \> &mediumTicks) const\
 Calculate minor/medium ticks for major ticks.

### Additional Inherited Members

## 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 $re 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**.

## Author

Generated automatically by Doxygen for Qwt User's Guide from the source code.
