LinearTransform.h

Go to the documentation of this file.
00001 /* -*- mode: c++ -*- */
00002 
00013 #ifndef _LinearTransform_H_
00014 #define _LinearTransform_H_
00015 
00016 #include "UnaryTransform.h"
00017 
00018 namespace hippodraw {
00019 
00020 class AxisModelBase;
00021 class AxisTick;
00022 
00029 class MDL_HIPPOPLOT_API LinearTransform : public UnaryTransform
00030 {
00031 private:
00032 
00035   std::vector < AxisTick > m_ticks;
00036 
00037 void setFirstTick( AxisModelBase & );
00038   void setTickStep( AxisModelBase & );
00039   const std::vector < AxisTick > &  
00040   genTicks ( AxisModelBase & );
00041 
00042 public:
00043 
00045   LinearTransform ();
00046 
00048   LinearTransform ( const LinearTransform & );
00049 
00051   virtual ~LinearTransform();
00052 
00054 #ifdef CLONE_DEFECT
00055   virtual TransformBase *   clone () const;
00056 #else
00057   virtual LinearTransform * clone () const;
00058 #endif
00059 
00060   bool isLinear () const;
00061 
00063   virtual void transform ( double & x ) const;
00064 
00066   virtual void inverseTransform ( double & x ) const;
00067 
00069   virtual void transform ( std::vector< double > & x ) const;
00070 
00074   virtual void  validate ( Range & ) const;
00075   
00078   virtual const std::vector < AxisTick > &
00079   setTicks ( AxisModelBase & axis );
00080 
00084   virtual const Range & adjustValues ( AxisModelBase & axis,
00085                                        const Range & limit );
00086   
00087 };
00088 
00089 } // namespace hippodraw
00090 
00091 #endif // _LinearTransform_H_

Generated for HippoDraw Class Library by doxygen