# QwtScaleTransformation Class Reference

A transformation between coordinate systems. More...

`#include <qwt_scale_map.h>`

List of all members.

## Public Types

enum | Type { Linear, Log10, Other }

## Public Member Functions

virtual QwtScaleTransformation * | copy () const
virtual double | invXForm (double x, double p1, double p2, double s1, double s2) const
| QwtScaleTransformation (Type type)
Type | type () const
virtual double | xForm (double x, double s1, double s2, double p1, double p2) const
virtual | ~QwtScaleTransformation ()

## Detailed Description

A transformation between coordinate systems.

QwtScaleTransformation offers transformations from the coordinate system of a scale into the linear coordinate system of a paint device and vice versa.

## Member Enumeration Documentation

enum QwtScaleTransformation::Type

Transformation type.

Enumerator:

  Linear | Transformation between 2 linear scales.
  Log10 | Transformation between a linear and a logarithmic ( base 10 ) scale.
  Other | Any other type of transformation.

## Constructor & Destructor Documentation

QwtScaleTransformation::QwtScaleTransformation | ( | Type | type | ) |

Constructor for a linear transformation.

QwtScaleTransformation::~QwtScaleTransformation | ( |  | ) | `[virtual]`

Destructor.

## Member Function Documentation

QwtScaleTransformation * QwtScaleTransformation::copy | ( |  | ) | const`[virtual]`

Create a clone of the transformation.

double QwtScaleTransformation::invXForm | ( | double | p,
|  | double | p1,
|  | double | p2,
|  | double | s1,
|  | double | s2
| ) |  | const`[virtual]`

Transform a value from the coordinate system of the paint device into the coordinate system of a scale.

Parameters:

  p | Value related to the coordinate system of the paint device
  p1 | First border of the coordinate system of the paint device
  p2 | Second border of the coordinate system of the paint device
  s1 | First border of the coordinate system of the scale
  s2 | Second border of the coordinate system of the scale

Returns:
  linear mapping:
    s1 + ( s2 - s1 ) / ( p2 - p1 ) * ( p - p1 );
  log10 mapping:
    exp((p - p1) / (p2 - p1) * log(s2 / s1)) * s1;

QwtScaleTransformation::Type QwtScaleTransformation::type | ( |  | ) | const`[inline]`

Returns:
  Transformation type

double QwtScaleTransformation::xForm | ( | double | s,
|  | double | s1,
|  | double | s2,
|  | double | p1,
|  | double | p2
| ) |  | const`[virtual]`

Transform a value from the coordinate system of a scale into the coordinate system of the paint device.

Parameters:

  s | Value related to the coordinate system of the scale
  s1 | First border of the coordinate system of the scale
  s2 | Second border of the coordinate system of the scale
  p1 | First border of the coordinate system of the paint device
  p2 | Second border of the coordinate system of the paint device

Returns:
  linear mapping:
    p1 + (p2 - p1) / (s2 - s1) * (s - s1);
  log10 mapping:
    p1 + (p2 - p1) / log(s2 / s1) * log(s / s1);