XYTransform.h
Go to the documentation of this file.
1 /* -*- mode: c++ -*-*/
2 
14 #ifndef _XYTransform_H_
15 #define _XYTransform_H_
16 
17 #include "BinaryTransform.h"
18 
19 #include <vector>
20 
21 namespace hippodraw {
22 
23 class UnaryTransform;
24 class Range;
25 
31 {
32 
33 private:
34 
37 
40 
41 public:
42 
46  UnaryTransform * y,
47  UnaryTransform * z );
48 
50  XYTransform ( const XYTransform & );
51 
53  virtual ~XYTransform();
54 
56 #ifdef CLONE_DEFECT
57  virtual TransformBase * clone () const;
58 #else
59  virtual XYTransform * clone () const;
60 #endif
61 
63  TransformBase * xTransform () const;
64 
66  TransformBase * yTransform () const;
67 
68  virtual bool isLinearInXY () const;
69 
70  virtual void transform ( double & x, double & y ) const;
71 
72  virtual bool inverseTransform ( double & x, double & y ) const;
73 
74  virtual void transform ( std::vector< double > & x,
75  std::vector< double > & y ) const;
76 
77  virtual double aspectRatio () const;
78 
79  virtual Rect calcRectangle ( const Range & x,
80  const Range & y );
81 
82  virtual void validate ( Range & x, Range & y ) const;
83 
85  virtual const Range & limitX () const;
86 
88  virtual const Range & limitY () const;
89 
90  virtual const std::vector < AxisTick > &
91  setTicks ( AxisModelBase & axis_model, hippodraw::Axes::Type axis );
92 
96  virtual void adjustValues ( AxisModelBase & model,
98  const Range & limit );
99 };
100 
101 } // namespace hippodraw
102 
103 #endif // _XYTransform_H_
#define MDL_HIPPOPLOT_API
Definition: libhippo.h:36
A transform that transforms coordinates from one coordinate system to another.
Definition: TransformBase.h:35
A transform that transforms the X and Y coordinates independently.
Definition: XYTransform.h:30
UnaryTransform * m_y
The transform on the Y axis.
Definition: XYTransform.h:39
hippodraw::BinaryTransform class interface
numeric::array clone(numeric::array arr)
Definition: num_util.cpp:412
UnaryTransform * m_x
The transform on the X axis.
Definition: XYTransform.h:36
The AxisModelBase class maintains the Range and scaling of an axis.
Definition: AxisModelBase.h:33
Class representing a rectangle.
Definition: Rectangle.h:34
A transform that transforms coordinates from one 2D coordinate system to another. ...
A transform that transforms coordinates in one dimension from one coordinate system to another...
Expresses a range of values.
Definition: Range.h:33
Type
Axes constants.
Definition: AxesType.h:31

Generated for HippoDraw Class Library by doxygen