LogTransform.h
Go to the documentation of this file.
1 /* -*- mode: c++ -*- */
2 
14 #ifndef _LogTransform_H_
15 #define _LogTransform_H_
16 
17 #include "UnaryTransform.h"
18 
19 namespace hippodraw {
20 
21 class AxisModelBase;
22 class AxisTick;
23 
29 {
30 private:
31 
34  std::vector < AxisTick > m_ticks;
35 
36  void setFirstTick( AxisModelBase & );
37  void setTickStep( AxisModelBase & );
38  const std::vector < AxisTick > &
39  genTicks ( AxisModelBase & );
40 
41  double prevStep ( double current, AxisModelBase & axis );
42  double nextStep ( double current, AxisModelBase & axis );
43 
44  const Range & adjustLogValues ( AxisModelBase & axis );
45 
46 public:
47 
49  LogTransform ();
50 
52  LogTransform ( const LogTransform & );
53 
55  virtual ~LogTransform();
56 
58 #ifdef CLONE_DEFECT
59  virtual TransformBase * clone () const;
60 #else
61  virtual LogTransform * clone () const;
62 #endif
63 
64  virtual bool isLinear () const;
65 
69  virtual void transform ( double & x ) const;
70 
72  virtual void inverseTransform ( double & x ) const;
73 
76  virtual void transform ( std::vector< double > & x ) const;
77 
80  virtual void validate ( Range & ) const;
81 
84  virtual const std::vector < AxisTick > &
85  setTicks ( AxisModelBase & axis );
86 
90  const Range & adjustValues ( AxisModelBase & axis, const Range & limit );
91 
92 };
93 
94 } // namespace hippodraw
95 
96 #endif // _LogTransform_H_

Generated for HippoDraw Class Library by doxygen