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

HammerAito.h

Go to the documentation of this file.
00001 /* -*- mode: c++ -*- */
00002 
00014 #ifndef _HammerAito_H_
00015 #define _HammerAito_H_
00016 
00017 #include "PeriodicBinaryTransform.h"
00018 #include "axes/AxisTick.h"
00019 
00036 class MDL_HIPPOPLOT_API HammerAito : public PeriodicBinaryTransform
00037 {
00038 
00039 private:
00040 
00043   std::vector < AxisTick > m_ticks;
00044 
00046   void setTickStep( AxisModelBase & axis );
00047 
00049   void setFirstTick( AxisModelBase & axis );
00050 
00052   const std::vector < AxisTick > &
00053   genTicks ( AxisModelBase & axis, hippodraw::Axes::Type axistype );
00054   
00055 public:
00056 
00059   HammerAito ( UnaryTransform * z );
00060 
00062   HammerAito ( const HammerAito & );
00063 
00065   virtual ~HammerAito();
00066 
00068 #ifdef CLONE_DEFECT
00069   virtual TransformBase * clone () const;
00070 #else
00071   virtual HammerAito    * clone () const;
00072 #endif
00073 
00074   virtual bool isLinearInXY () const;
00075   
00076   /* It should be noted that we need to explicitly take care of offset
00077      because the following transform assumes that all the points given
00078      to it are such that they have ALREADY been altered to take care
00079      of offset 
00080   */
00081   virtual void transform ( double & lon, double & lat ) const;
00082 
00083   /* It should be noted that  we need to explicitly take care of offset
00084      because the following inverse transform assumes that all the points
00085      returned by it r such that they SHALL be altered to take care of offset */
00086   virtual void inverseTransform ( double & lon, double & lat ) const;
00087 
00088   /* It should be noted that  we need to explicitly take care of offset
00089      because the following transform assumes that all the points given to
00090      it are  such that they have ALREADY been altered to take care of offset */
00091   virtual void transform ( std::vector< double > & lon, 
00092                            std::vector< double > & lat ) const;
00093   
00094   virtual double aspectRatio () const;
00095 
00096   virtual HippoRectangle calcRectangle ( const Range & x, 
00097                                          const Range & y );
00098 
00099   virtual void validate ( Range & lat, Range & lon ) const;
00100 
00101   virtual const std::vector < AxisTick > &
00102   setTicks ( AxisModelBase & axis_model, hippodraw::Axes::Type axis );
00103   
00107   virtual void adjustValues ( AxisModelBase & model,
00108                               hippodraw::Axes::Type  axes,
00109                               const Range & limit );
00110 };
00111 
00112 #endif // _HammerAito_H_

Generated for HippoDraw-1.14.8.5 by doxygen 1.4.3