Qwt User's Guide 6.0.0
Public Types | Public Member Functions

QwtScaleTransformation Class Reference

Operations for linear or logarithmic (base 10) transformations. More...

#include <qwt_scale_map.h>

List of all members.

Public Types

enum  Type {
  Linear,
  Log10,
  Other
}

Public Member Functions

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

Detailed Description

Operations for linear or logarithmic (base 10) transformations.


Member Enumeration Documentation

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 a linear to a logarithmic interval.

Parameters:
pvalue related to the linear interval [p1, p2]
p1first border of linear interval
p2second border of linear interval
s1first border of logarithmic interval
s2second border of logarithmic interval
Returns:
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 between 2 linear intervals.

Parameters:
svalue related to the interval [s1, s2]
s1first border of scale interval
s2second border of scale interval
p1first border of target interval
p2second border of target interval
Returns:
linear mapping:
p1 + (p2 - p1) / (s2 - s1) * (s - s1)
log10 mapping:
p1 + (p2 - p1) / log(s2 / s1) * log(s / s1)