Qwt User's Guide
qwt_transform.h
00001 /* -*- mode: C++ ; c-file-style: "stroustrup" -*- *****************************
00002  * Qwt Widget Library
00003  * Copyright (C) 1997   Josef Wilgen
00004  * Copyright (C) 2002   Uwe Rathmann
00005  *
00006  * This library is free software; you can redistribute it and/or
00007  * modify it under the terms of the Qwt License, Version 1.0
00008  *****************************************************************************/
00009 
00010 #ifndef QWT_TRANSFORM_H
00011 #define QWT_TRANSFORM_H
00012 
00013 #include "qwt_global.h"
00014 
00035 class QWT_EXPORT QwtTransform
00036 {
00037 public:
00038     QwtTransform();
00039     virtual ~QwtTransform();
00040 
00045     virtual double bounded( double value ) const;
00046 
00055     virtual double transform( double value ) const = 0;
00056 
00065     virtual double invTransform( double value ) const = 0;
00066 
00068     virtual QwtTransform *copy() const = 0;
00069 };
00070 
00077 class QWT_EXPORT QwtNullTransform: public QwtTransform
00078 {
00079 public:
00080     QwtNullTransform();
00081     virtual ~QwtNullTransform();
00082 
00083     virtual double transform( double value ) const;
00084     virtual double invTransform( double value ) const;
00085 
00086     virtual QwtTransform *copy() const;
00087 };
00097 class QWT_EXPORT QwtLogTransform: public QwtTransform
00098 {   
00099 public:
00100     QwtLogTransform();
00101     virtual ~QwtLogTransform();
00102     
00103     virtual double transform( double value ) const;
00104     virtual double invTransform( double value ) const;
00105 
00106     virtual double bounded( double value ) const;
00107 
00108     virtual QwtTransform *copy() const;
00109 
00110 #if QT_VERSION >= 0x050400
00111     static const double LogMin;
00112     static const double LogMax;
00113 #else
00114     QT_STATIC_CONST double LogMin;
00115     QT_STATIC_CONST double LogMax;
00116 #endif
00117 };
00118 
00127 class QWT_EXPORT QwtPowerTransform: public QwtTransform
00128 {
00129 public:
00130     QwtPowerTransform( double exponent );
00131     virtual ~QwtPowerTransform();
00132 
00133     virtual double transform( double value ) const;
00134     virtual double invTransform( double value ) const;
00135 
00136     virtual QwtTransform *copy() const;
00137 
00138 private:
00139     const double d_exponent;
00140 };
00141 
00142 #endif
 All Classes Functions Variables Typedefs Enumerations Enumerator