Qwt User's Guide  6.1.1
 All Classes Functions Variables Typedefs Enumerations Enumerator Pages
qwt_transform.h
1 /* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
2  * Qwt Widget Library
3  * Copyright (C) 1997 Josef Wilgen
4  * Copyright (C) 2002 Uwe Rathmann
5  *
6  * This library is free software; you can redistribute it and/or
7  * modify it under the terms of the Qwt License, Version 1.0
8  *****************************************************************************/
9 
10 #ifndef QWT_TRANSFORM_H
11 #define QWT_TRANSFORM_H
12 
13 #include "qwt_global.h"
14 
35 class QWT_EXPORT QwtTransform
36 {
37 public:
38  QwtTransform();
39  virtual ~QwtTransform();
40 
45  virtual double bounded( double value ) const;
46 
55  virtual double transform( double value ) const = 0;
56 
65  virtual double invTransform( double value ) const = 0;
66 
68  virtual QwtTransform *copy() const = 0;
69 };
70 
77 class QWT_EXPORT QwtNullTransform: public QwtTransform
78 {
79 public:
81  virtual ~QwtNullTransform();
82 
83  virtual double transform( double value ) const;
84  virtual double invTransform( double value ) const;
85 
86  virtual QwtTransform *copy() const;
87 };
97 class QWT_EXPORT QwtLogTransform: public QwtTransform
98 {
99 public:
100  QwtLogTransform();
101  virtual ~QwtLogTransform();
102 
103  virtual double transform( double value ) const;
104  virtual double invTransform( double value ) const;
105 
106  virtual double bounded( double value ) const;
107 
108  virtual QwtTransform *copy() const;
109 
110  QT_STATIC_CONST double LogMin;
111  QT_STATIC_CONST double LogMax;
112 };
113 
122 class QWT_EXPORT QwtPowerTransform: public QwtTransform
123 {
124 public:
125  QwtPowerTransform( double exponent );
126  virtual ~QwtPowerTransform();
127 
128  virtual double transform( double value ) const;
129  virtual double invTransform( double value ) const;
130 
131  virtual QwtTransform *copy() const;
132 
133 private:
134  const double d_exponent;
135 };
136 
137 #endif
virtual double transform(double value) const =0
A transformation between coordinate systems.
Definition: qwt_transform.h:35
Logarithmic transformation.
Definition: qwt_transform.h:97
virtual double bounded(double value) const
Definition: qwt_transform.cpp:37
virtual double invTransform(double value) const =0
A transformation using pow()
Definition: qwt_transform.h:122
QT_STATIC_CONST double LogMax
Largest allowed value for logarithmic scales: 1.0e150.
Definition: qwt_transform.h:111
QT_STATIC_CONST double LogMin
Smallest allowed value for logarithmic scales: 1.0e-150.
Definition: qwt_transform.h:110
Null transformation.
Definition: qwt_transform.h:77
virtual QwtTransform * copy() const =0
Virtualized copy operation.