Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

UnaryTransform.h

Go to the documentation of this file.
00001 /* -*- mode: c++ -*- */
00002 
00014 #ifndef _UnaryTransform_H_
00015 #define _UnaryTransform_H_
00016 
00017 #ifdef _MSC_VER
00018 #include "msdevstudio/MSconfig.h" // for CLONE_DEFECT
00019 #endif
00020 
00021 #include "TransformBase.h"
00022 
00023 #include "axes/Range.h"
00024 
00025 class AxisModelBase;
00026 class AxisTick;
00027 
00033 class MDL_HIPPOPLOT_API UnaryTransform : public TransformBase
00034 {
00035 
00036 protected:
00037 
00039   const Range m_limits;
00040 
00042   UnaryTransform ( double low, double high );
00043 
00044 public:
00045 
00047   virtual ~UnaryTransform();
00048 
00050 #ifdef CLONE_DEFECT
00051   virtual TransformBase *   clone () const = 0;
00052 #else
00053   virtual UnaryTransform * clone () const = 0;
00054 #endif
00055 
00056   virtual bool isLinear () const = 0;
00057 
00060   virtual void transform ( double & x ) const = 0;
00061 
00063   virtual void inverseTransform ( double & x ) const = 0;
00064 
00066   virtual void transform ( std::vector< double > & x ) const = 0;
00067 
00070   virtual void validate ( Range & ) const = 0;
00071 
00073   virtual const Range & limits () const;
00074 
00077   virtual const std::vector < AxisTick > &
00078   setTicks ( AxisModelBase & axis ) = 0;
00079 
00083   virtual const Range & adjustValues ( AxisModelBase & model,
00084                                        const Range & limit ) = 0;
00085 
00086 };
00087 
00088 #endif // _UnaryTransform_H_

Generated for HippoDraw-1.14.8.5 by doxygen 1.4.3