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

XYTransform.h

Go to the documentation of this file.
00001 /* -*- mode: c++ -*-*/
00002 
00014 #ifndef _XYTransform_H_
00015 #define _XYTransform_H_
00016 
00017 #include "BinaryTransform.h"
00018 #include <vector>
00019 
00020 class UnaryTransform;
00021 class Range;
00022 
00027 class MDL_HIPPOPLOT_API XYTransform : public BinaryTransform
00028 {
00029 
00030 private:
00031 
00033   UnaryTransform * m_x;
00034 
00036   UnaryTransform * m_y;
00037 
00038 public:
00039 
00042   XYTransform ( UnaryTransform * x, 
00043                 UnaryTransform * y,
00044                 UnaryTransform * z );
00045 
00047   XYTransform ( const XYTransform & );
00048 
00050   virtual ~XYTransform();
00051 
00053 #ifdef CLONE_DEFECT
00054   virtual TransformBase * clone () const;
00055 #else
00056   virtual XYTransform   * clone () const;
00057 #endif
00058 
00060   TransformBase * xTransform () const;
00061 
00063   TransformBase * yTransform () const;
00064 
00065   virtual bool isLinearInXY () const;
00066 
00067   virtual void transform ( double & x, double & y ) const;
00068 
00069   virtual void inverseTransform ( double & x, double & y ) const;
00070 
00071   virtual void transform ( std::vector< double > & x, 
00072                            std::vector< double > & y ) const;
00073 
00074   virtual double aspectRatio () const;
00075 
00076   virtual HippoRectangle calcRectangle ( const Range & x, 
00077                                          const Range & y );
00078 
00079   virtual void validate ( Range & x, Range & y ) const;
00080 
00082   virtual const Range & limitX () const;
00083 
00085   virtual const Range & limitY () const;
00086 
00087   virtual const std::vector < AxisTick > &
00088   setTicks ( AxisModelBase & axis_model, hippodraw::Axes::Type axis );
00089 
00093   virtual void adjustValues ( AxisModelBase & model,
00094                               hippodraw::Axes::Type  axes,
00095                               const Range & limit );
00096 };
00097 
00098 #endif // _XYTransform_H_

Generated for HippoDraw-1.14.8.5 by doxygen 1.4.3