UnaryTransform.h
Go to the documentation of this file.
1 /* -*- mode: c++ -*- */
2 
14 #ifndef _UnaryTransform_H_
15 #define _UnaryTransform_H_
16 
17 #ifdef _MSC_VER
18 #include "msdevstudio/MSconfig.h" // for CLONE_DEFECT
19 #endif
20 
21 #include "TransformBase.h"
22 
23 #include "axes/Range.h"
24 
25 namespace hippodraw {
26 
27 class AxisModelBase;
28 class AxisTick;
29 
36 {
37 
38 protected:
39 
41  const Range m_limits;
42 
44  UnaryTransform ( double low, double high );
45 
46 public:
47 
49  virtual ~UnaryTransform();
50 
52 #ifdef CLONE_DEFECT
53  virtual TransformBase * clone () const = 0;
54 #else
55  virtual UnaryTransform * clone () const = 0;
56 #endif
57 
58  virtual bool isLinear () const = 0;
59 
62  virtual void transform ( double & x ) const = 0;
63 
65  virtual void inverseTransform ( double & x ) const = 0;
66 
68  virtual void transform ( std::vector< double > & x ) const = 0;
69 
72  virtual void validate ( Range & ) const = 0;
73 
75  virtual const Range & limits () const;
76 
79  virtual const std::vector < AxisTick > &
80  setTicks ( AxisModelBase & axis ) = 0;
81 
85  virtual const Range & adjustValues ( AxisModelBase & model,
86  const Range & limit ) = 0;
87 
88 };
89 
90 } // namespace hippodraw
91 
92 #endif // _UnaryTransform_H_

Generated for HippoDraw Class Library by doxygen