13 #include "msdevstudio/MSconfig.h"
24 using namespace hippodraw;
34 const std::string xname =
m_x->
name ();
35 const std::string yname =
m_y->
name ();
36 const std::string zname = z->
name ();
75 return m_x -> isLinear () &&
m_y -> isLinear ();
102 std::vector< double > & y )
const
116 double x_lo = x.
low ();
117 double x_hi = x.
high ();
118 double y_lo = y.
low ();
119 double y_hi = y.
high ();
124 return Rect ( x_lo, y_lo, x_hi - x_lo, y_hi - y_lo );
155 const vector < AxisTick > &
174 const Range & limit )
double high() const
Returns the maximum of the range object.
virtual const std::vector< AxisTick > & setTicks(AxisModelBase &axis_model, hippodraw::Axes::Type axis)
Sets and return the axis ticks on specified axis.
virtual void transform(double &x, double &y) const
Transform the coordinates on the X and Y axes.
TransformBase * yTransform() const
Returns the transform function on the Y axis.
A transform that transforms coordinates from one coordinate system to another.
UnaryTransform class interface.
XYTransform(UnaryTransform *x, UnaryTransform *y, UnaryTransform *z)
The following constructor takes three base constructors as arguments.
hippodrw::Rect class interface
virtual XYTransform * clone() const
Creates a new Transform object by copying an existing one.
hippodraw::XYTransform class interface
virtual UnaryTransform * clone() const =0
Function to make copy of object.
A transform that transforms the X and Y coordinates independently.
virtual const Range & limitY() const
Returns a Range whose values are the limits on the Y coordinate.
virtual Rect calcRectangle(const Range &x, const Range &y)
Returns a rectangle enclosing the transformed data space.
virtual const Range & limits() const
Returns a Range whose values are the limits on the coordinate.
TransformBase * xTransform() const
Returns the transform function on the X axis.
virtual void transform(double &x) const =0
virtual ~XYTransform()
The virtual destructor.
virtual void validate(Range &x, Range &y) const
Validates the Ranges.
UnaryTransform * m_y
The transform on the Y axis.
virtual const std::vector< AxisTick > & setTicks(AxisModelBase &axis)=0
Sets the vector of ticks along the axis to which this unary transform is applied. ...
virtual void inverseTransform(double &x) const =0
Inverse transforms the coordinate x.
UnaryTransform * m_x
The transform on the X axis.
virtual double aspectRatio() const
Returns the aspect ratio.
The AxisModelBase class maintains the Range and scaling of an axis.
Class representing a rectangle.
virtual void validate(Range &) const =0
Validates the Range.
const std::string & name() const
Returns the name of the Transform.
std::string m_name
Name of the Transform.
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...
double low() const
Returns the minimum of the range object.
virtual bool isLinearInXY() const
Returns true if the transform would be one to one on both the X and Y axes.
Expresses a range of values.
virtual bool inverseTransform(double &x, double &y) const
Transform the transformed coordinates on X and Y axis back to the original true data space...
UnaryTransform * m_z
The transform on the Z axis.
virtual void adjustValues(AxisModelBase &model, hippodraw::Axes::Type axes, const Range &limit)
Sets the range of given axis to be a new "nice" within the limits given.
virtual const Range & limitX() const
Returns a Range whose values are the limits on the X coordinate.