# QwtLinearScaleEngine Class Reference

A scale engine for linear scales. More...

`#include <qwt_scale_engine.h>`

Inheritance diagram for QwtLinearScaleEngine:
[legend]

List of all members.

## Public Types

enum | Attribute { NoAttribute = 0, IncludeReference = 1, Symmetric = 2, Floating = 4, Inverted = 8 }

## Public Member Functions

int | attributes () const
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
double | lowerMargin () const
double | reference () const
void | setAttribute (Attribute, bool on=true)
void | setAttributes (int)
void | setMargins (double lower, double upper)
void | setReference (double reference)
bool | testAttribute (Attribute) const
virtual QwtScaleTransformation * | transformation () const
double | upperMargin () const

## Protected Member Functions

QwtDoubleInterval | align (const QwtDoubleInterval &, double stepSize) const
QwtDoubleInterval | buildInterval (double v) const
bool | contains (const QwtDoubleInterval &, double val) const
double | divideInterval (double interval, int numSteps) const
QwtValueList | strip (const QwtValueList &, const QwtDoubleInterval &) const

## Detailed Description

A scale engine for linear scales.

The step size will fit into the pattern , where n is an integer.

## Member Enumeration Documentation

enum QwtScaleEngine::Attribute`[inherited]`

- IncludeReference
  Build a scale which includes the reference() value.
- Symmetric
  Build a scale which is symmetric to the reference() value.
- Floating
  The endpoints of the scale are supposed to be equal the outmost included values plus the specified margins (see setMargins()). If this attribute is *not* set, the endpoints of the scale will be integer multiples of the step size.
- Inverted
  Turn the scale upside down.

See also:
  setAttribute(), testAttribute(), reference(), lowerMargin(), upperMargin()

## 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

int QwtScaleEngine::attributes | ( |  | ) | const`[inherited]`

Return the scale attributes

See also:
  Attribute, setAttributes(), testAttribute()

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:
  setAttribute()

Implements QwtScaleEngine.

QwtDoubleInterval QwtScaleEngine::buildInterval | ( | double | v | ) | const`[protected, inherited]`

Build an interval for a value.

In case of v == 0.0 the interval is [-0.5, 0.5], otherwide it is [0.5 * v, 1.5 * v]

bool QwtScaleEngine::contains | ( | const QwtDoubleInterval & | interval,
|  | double | value
| ) |  | const`[protected, inherited]`

Check if an interval "contains" a value

Parameters:

  interval | Interval
  value | Value

See also:
  QwtScaleArithmetic::compareEps()

double QwtScaleEngine::divideInterval | ( | double | intervalSize,
|  | int | numSteps
| ) |  | const`[protected, inherited]`

Calculate a step size for an interval size

Parameters:

  intervalSize | Interval size
  numSteps | Number of steps

Returns:
  Step size

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.

double QwtScaleEngine::lowerMargin | ( |  | ) | const`[inherited]`

Returns:
  the margin at the lower end of the scale The default margin is 0.

See also:
  setMargins()

double QwtScaleEngine::reference | ( |  | ) | const`[inherited]`

Returns:
  the reference value

See also:
  setReference(), setAttribute()

void QwtScaleEngine::setAttribute | ( | Attribute | attribute,
|  | bool | on = `true`
| ) |  | `[inherited]`

Change a scale attribute

Parameters:

  attribute | Attribute to change
  on | On/Off

See also:
  Attribute, testAttribute()

void QwtScaleEngine::setAttributes | ( | int | attributes | ) | `[inherited]`

Change the scale attribute

Parameters:

  attributes | Set scale attributes

See also:
  Attribute, attributes()

void QwtScaleEngine::setMargins | ( | double | lower,
|  | double | upper
| ) |  | `[inherited]`

Specify margins at the scale's endpoints.

Parameters:

  lower | minimum distance between the scale's lower boundary and the smallest enclosed value
  upper | minimum distance between the scale's upper boundary and the greatest enclosed value

Margins can be used to leave a minimum amount of space between the enclosed intervals and the boundaries of the scale.

Warning:
  - QwtLog10ScaleEngine measures the margins in decades.

See also:
  upperMargin(), lowerMargin()

void QwtScaleEngine::setReference | ( | double | r | ) | `[inherited]`

Specify a reference point.

Parameters:

  r | new reference value

The reference point is needed if options IncludeReference or Symmetric are active. Its default value is 0.0.

See also:
  Attribute

QwtValueList QwtScaleEngine::strip | ( | const QwtValueList & | ticks,
|  | const QwtDoubleInterval & | interval
| ) |  | const`[protected, inherited]`

Remove ticks from a list, that are not inside an interval

Parameters:

  ticks | Tick list
  interval | Interval

Returns:
  Stripped tick list

bool QwtScaleEngine::testAttribute | ( | Attribute | attribute | ) | const`[inherited]`

Check if a attribute is set.

Parameters:

  attribute | Attribute to be tested

See also:
  Attribute, setAttribute()

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

Return a transformation, for linear scales

Implements QwtScaleEngine.

double QwtScaleEngine::upperMargin | ( |  | ) | const`[inherited]`

Returns:
  the margin at the upper end of the scale The default margin is 0.

See also:
  setMargins()