14 #ifndef _BinaryTransform_H_
15 #define _BinaryTransform_H_
18 #include "msdevstudio/MSconfig.h"
68 bool =
true,
bool =
true);
88 virtual bool isLinearInXY ()
const = 0;
93 virtual bool isLinearInZ ()
const;
100 virtual void transform (
double & x,
double & y )
const = 0;
106 virtual bool inverseTransform (
double & x,
double & y )
const = 0;
109 virtual void transform ( std::vector< double > & x,
110 std::vector< double > & y )
const = 0;
117 virtual double aspectRatio ()
const;
121 virtual Rect calcRectangle (
const Range & x,
122 const Range & y ) = 0;
126 virtual void validate (
Range & x,
Range & y )
const = 0;
129 virtual const Range & limitX ()
const = 0;
132 virtual const Range & limitY ()
const = 0;
136 virtual const std::vector < AxisTick > &
143 const Range & limit ) = 0;
146 const Range & limitZ ()
const;
158 void transformZ (
double & z )
const;
161 void inverseTransformZ (
double & z )
const;
164 bool needsGrid()
const;
167 void setNeedsGrid(
bool needs_grid );
170 bool needsXTicks()
const;
173 void setNeedsXTicks(
bool needs_x_ticks );
176 bool needsYTicks()
const;
179 void setNeedsYTicks(
bool needs_y_ticks );
182 bool isPeriodic()
const;
189 #endif // _BinaryTransform_H_
#define MDL_HIPPOPLOT_API
A transform that transforms coordinates from one coordinate system to another.
bool m_is_periodic
Is this transform periodic.
numeric::array clone(numeric::array arr)
The AxisModelBase class maintains the Range and scaling of an axis.
Class representing a rectangle.
bool m_needs_y_ticks
Does this binary transform y ticks?
bool m_needs_x_ticks
Does this binary transform x ticks?
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...
TransformBase class interface.
Expresses a range of values.
UnaryTransform * m_z
The transform on the Z axis.
bool m_needs_grid
Does this binary transform needs grid?