#include <XYTransform.h>
Inheritance diagram for XYTransform:
Definition at line 30 of file XYTransform.h.
Public Member Functions | |
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 double | aspectRatio () const |
Returns the aspect ratio. | |
virtual Rect | calcRectangle (const Range &x, const Range &y) |
Returns a rectangle enclosing the transformed data space. | |
virtual XYTransform * | clone () const |
Creates a new Transform object by copying an existing one. | |
virtual bool | inverseTransform (double &x, double &y) const |
Transform the transformed coordinates on X and Y axis back to the original true data space. | |
void | inverseTransformZ (double &z) const |
Inverse transforms the z coordinate. | |
virtual bool | isLinearInXY () const |
Returns true if the transform would be one to one on both the X and Y axes. | |
virtual bool | isLinearInZ () const |
Returns true if the transform would be one to one on Z axes. | |
bool | isPeriodic () const |
Sets whether this transform is periodic. | |
virtual const Range & | limitX () const |
Returns a Range whose values are the limits on the X coordinate. | |
virtual const Range & | limitY () const |
Returns a Range whose values are the limits on the Y coordinate. | |
const Range & | limitZ () const |
Returns the Range limits on the third coordinate. | |
const std::string & | name () const |
Returns the name of the Transform. | |
bool | needsGrid () const |
Returns whether this transform needs grid. | |
bool | needsXTicks () const |
Returns whether this transform needs x ticks. | |
bool | needsYTicks () const |
Returns whether this transform needs y ticks. | |
void | setNeedsGrid (bool needs_grid) |
Sets whether this transform needs grid. | |
void | setNeedsXTicks (bool needs_x_ticks) |
Sets whether this transform needs x ticks. | |
void | setNeedsYTicks (bool needs_y_ticks) |
Sets whether this transform needs y yicks. | |
virtual const std::vector< AxisTick > & | setTicks (AxisModelBase &axis_model, hippodraw::Axes::Type axis) |
Sets and return the axis ticks on specified axis. | |
void | setZTransform (TransformBase *transform) |
Sets the transform function on the Z axis. | |
virtual void | transform (std::vector< double > &x, std::vector< double > &y) const |
A transform on two axes. | |
virtual void | transform (double &x, double &y) const |
Transform the coordinates on the X and Y axes. | |
void | transformZ (double &z) const |
Transforms the z coordinate. | |
virtual void | validate (Range &x, Range &y) const |
Validates the Ranges. | |
TransformBase * | xTransform () const |
Returns the transform function on the X axis. | |
XYTransform (const XYTransform &) | |
The copy constructor. | |
XYTransform (UnaryTransform *x, UnaryTransform *y, UnaryTransform *z) | |
The following constructor takes three base constructors as arguments. | |
TransformBase * | yTransform () const |
Returns the transform function on the Y axis. | |
TransformBase * | zTransform () const |
Returns the transform function on the Z axis. | |
virtual | ~XYTransform () |
The virtual destructor. | |
Protected Attributes | |
bool | m_is_periodic |
Is this transform periodic. | |
std::string | m_name |
Name of the Transform. | |
bool | m_needs_grid |
Does this binary transform needs grid? | |
bool | m_needs_x_ticks |
Does this binary transform x ticks? | |
bool | m_needs_y_ticks |
Does this binary transform y ticks? | |
UnaryTransform * | m_z |
The transform on the Z axis. | |
Private Attributes | |
UnaryTransform * | m_x |
The transform on the X axis. | |
UnaryTransform * | m_y |
The transform on the Y axis. |
XYTransform | ( | UnaryTransform * | x, | |
UnaryTransform * | y, | |||
UnaryTransform * | z | |||
) |
The following constructor takes three base constructors as arguments.
Definition at line 26 of file XYTransform.cxx.
References TransformBase::m_name, XYTransform::m_x, XYTransform::m_y, and TransformBase::name().
Referenced by XYTransform::clone().
XYTransform | ( | const XYTransform & | ) |
The copy constructor.
Definition at line 50 of file XYTransform.cxx.
References UnaryTransform::clone(), XYTransform::m_x, and XYTransform::m_y.
~XYTransform | ( | ) | [virtual] |
The virtual destructor.
Definition at line 44 of file XYTransform.cxx.
References XYTransform::m_x, and XYTransform::m_y.
void adjustValues | ( | AxisModelBase & | model, | |
hippodraw::Axes::Type | axes, | |||
const Range & | limit | |||
) | [virtual] |
Sets the range of given axis to be a new "nice" within the limits given.
Implements BinaryTransform.
Definition at line 172 of file XYTransform.cxx.
References XYTransform::m_x, XYTransform::m_y, BinaryTransform::m_z, hippodraw::Axes::X, hippodraw::Axes::Y, and hippodraw::Axes::Z.
double aspectRatio | ( | ) | const [virtual] |
Returns the aspect ratio.
Some transforms require a specific ration of the width to the height of the display. Returning a value of 2.0, for example, means that the width should be twice the height. Returning a value of 0.0 means any aspect ratio may be used.
Reimplemented from BinaryTransform.
Definition at line 108 of file XYTransform.cxx.
Returns a rectangle enclosing the transformed data space.
Implements BinaryTransform.
Definition at line 113 of file XYTransform.cxx.
References Range::high(), Range::low(), and XYTransform::transform().
XYTransform * clone | ( | ) | const [virtual] |
Creates a new Transform object by copying an existing one.
Implements BinaryTransform.
Definition at line 65 of file XYTransform.cxx.
References XYTransform::XYTransform().
bool inverseTransform | ( | double & | x, | |
double & | y | |||
) | const [virtual] |
Transform the transformed coordinates on X and Y axis back to the original true data space.
Return true if success, else return false.
Implements BinaryTransform.
Definition at line 88 of file XYTransform.cxx.
References UnaryTransform::inverseTransform(), XYTransform::m_x, and XYTransform::m_y.
void inverseTransformZ | ( | double & | z | ) | const [inherited] |
Inverse transforms the z coordinate.
Definition at line 106 of file BinaryTransform.cxx.
References UnaryTransform::inverseTransform(), and BinaryTransform::m_z.
bool isLinearInXY | ( | ) | const [virtual] |
Returns true
if the transform would be one to one on both the X and Y axes.
Clients can use this function to avoid calling the transform in for loops.
Implements BinaryTransform.
Definition at line 73 of file XYTransform.cxx.
References XYTransform::m_x, and XYTransform::m_y.
bool isLinearInZ | ( | ) | const [virtual, inherited] |
Returns true
if the transform would be one to one on Z axes.
Clients can use this function to avoid calling the transform in for loops.
Definition at line 153 of file BinaryTransform.cxx.
References UnaryTransform::isLinear(), and BinaryTransform::m_z.
Referenced by ContourPointRep::getContour().
bool isPeriodic | ( | ) | const [inherited] |
Sets whether this transform is periodic.
Definition at line 148 of file BinaryTransform.cxx.
References BinaryTransform::m_is_periodic.
Referenced by BinaryTransform::BinaryTransform(), AxisRepBase::drawCrossHairs(), ContourPointRep::drawProjectedValues(), CompositePlotter::fillPickedPoint(), XyPlotter::getZValues(), Inspector::setHighRange(), and Inspector::updateTransformTab().
const Range & limitX | ( | ) | const [virtual] |
Returns a Range whose values are the limits on the X coordinate.
Implements BinaryTransform.
Definition at line 135 of file XYTransform.cxx.
References UnaryTransform::limits(), and XYTransform::m_x.
const Range & limitY | ( | ) | const [virtual] |
Returns a Range whose values are the limits on the Y coordinate.
Implements BinaryTransform.
Definition at line 140 of file XYTransform.cxx.
References UnaryTransform::limits(), and XYTransform::m_y.
const Range & limitZ | ( | ) | const [inherited] |
Returns the Range limits on the third coordinate.
Definition at line 112 of file BinaryTransform.cxx.
References UnaryTransform::limits(), and BinaryTransform::m_z.
Referenced by CompositePlotter::autoScaleZ(), and CompositePlotter::setRangePrivate().
const string & name | ( | ) | const [inherited] |
Returns the name of the Transform.
Definition at line 45 of file TransformBase.cxx.
References TransformBase::m_name.
Referenced by BinaryTransform::BinaryTransform(), TransformXML::createElement(), DisplayController::getLog(), DisplayController::setLog(), Inspector::updateTransformTab(), and XYTransform::XYTransform().
bool needsGrid | ( | ) | const [inherited] |
Returns whether this transform needs grid.
Definition at line 118 of file BinaryTransform.cxx.
References BinaryTransform::m_needs_grid.
Referenced by BinaryTransform::BinaryTransform().
bool needsXTicks | ( | ) | const [inherited] |
Returns whether this transform needs x ticks.
Definition at line 128 of file BinaryTransform.cxx.
References BinaryTransform::m_needs_x_ticks.
Referenced by BinaryTransform::BinaryTransform(), and CompositePlotter::drawAxisRep().
bool needsYTicks | ( | ) | const [inherited] |
Returns whether this transform needs y ticks.
Definition at line 138 of file BinaryTransform.cxx.
References BinaryTransform::m_needs_y_ticks.
Referenced by BinaryTransform::BinaryTransform(), and CompositePlotter::drawAxisRep().
void setNeedsGrid | ( | bool | needs_grid | ) | [inherited] |
Sets whether this transform needs grid.
Definition at line 123 of file BinaryTransform.cxx.
References BinaryTransform::m_needs_grid.
void setNeedsXTicks | ( | bool | needs_x_ticks | ) | [inherited] |
Sets whether this transform needs x ticks.
Definition at line 133 of file BinaryTransform.cxx.
References BinaryTransform::m_needs_x_ticks.
void setNeedsYTicks | ( | bool | needs_y_ticks | ) | [inherited] |
Sets whether this transform needs y yicks.
Definition at line 143 of file BinaryTransform.cxx.
References BinaryTransform::m_needs_y_ticks.
const vector< AxisTick > & setTicks | ( | AxisModelBase & | axis_model, | |
hippodraw::Axes::Type | axis | |||
) | [virtual] |
Sets and return the axis ticks on specified axis.
Implements BinaryTransform.
Definition at line 157 of file XYTransform.cxx.
References XYTransform::m_x, XYTransform::m_y, BinaryTransform::m_z, UnaryTransform::setTicks(), hippodraw::Axes::X, and hippodraw::Axes::Y.
void setZTransform | ( | TransformBase * | transform | ) | [inherited] |
Sets the transform function on the Z axis.
The transform object must be derived class of UnaryTransform, otherwise the transform object pointer is set to null.
Definition at line 93 of file BinaryTransform.cxx.
References BinaryTransform::m_z, and BinaryTransform::transform().
void transform | ( | std::vector< double > & | x, | |
std::vector< double > & | y | |||
) | const [virtual] |
A transform on two axes.
Implements BinaryTransform.
Definition at line 101 of file XYTransform.cxx.
References XYTransform::m_x, XYTransform::m_y, and UnaryTransform::transform().
void transform | ( | double & | x, | |
double & | y | |||
) | const [virtual] |
Transform the coordinates on the X and Y axes.
Implements BinaryTransform.
Definition at line 79 of file XYTransform.cxx.
References XYTransform::m_x, XYTransform::m_y, and UnaryTransform::transform().
Referenced by XYTransform::calcRectangle().
void transformZ | ( | double & | z | ) | const [inherited] |
Transforms the z coordinate.
Definition at line 100 of file BinaryTransform.cxx.
References BinaryTransform::m_z, and UnaryTransform::transform().
Referenced by ContourPointRep::drawContourTicks(), AxisRepColor::drawZTickLabels(), AxisRepColor::drawZTickLines(), and CompositePlotter::prepareToDraw().
Validates the Ranges.
Adjusts Ranges to be restricted to that which is valid for the transform.
Implements BinaryTransform.
Definition at line 128 of file XYTransform.cxx.
References XYTransform::m_x, XYTransform::m_y, and UnaryTransform::validate().
TransformBase * xTransform | ( | ) | const |
Returns the transform function on the X axis.
Definition at line 145 of file XYTransform.cxx.
References XYTransform::m_x.
Referenced by DisplayController::getLog(), and DisplayController::setLog().
TransformBase * yTransform | ( | ) | const |
Returns the transform function on the Y axis.
Definition at line 150 of file XYTransform.cxx.
References XYTransform::m_y.
Referenced by DisplayController::getLog(), and DisplayController::setLog().
TransformBase * zTransform | ( | ) | const [inherited] |
Returns the transform function on the Z axis.
Definition at line 86 of file BinaryTransform.cxx.
References BinaryTransform::m_z.
Referenced by DisplayController::getLog(), and DisplayController::setLog().
bool m_is_periodic [protected, inherited] |
Is this transform periodic.
Definition at line 57 of file BinaryTransform.h.
Referenced by BinaryTransform::BinaryTransform(), and BinaryTransform::isPeriodic().
std::string m_name [protected, inherited] |
Name of the Transform.
Definition at line 42 of file TransformBase.h.
Referenced by AIR::AIR(), AIR2::AIR2(), ARC::ARC(), ARC2::ARC2(), BinaryTransform::BinaryTransform(), Cartesian::Cartesian(), Cartesian2::Cartesian2(), GlobalSinusoidal::GlobalSinusoidal(), GlobalSinusoidal2::GlobalSinusoidal2(), HammerAito::HammerAito(), HammerAito2::HammerAito2(), Lambert::Lambert(), Lambert2::Lambert2(), LinearTransform::LinearTransform(), LogTransform::LogTransform(), Mercator::Mercator(), Mercator2::Mercator2(), TransformBase::name(), SIN::SIN(), SIN2::SIN2(), STG::STG(), STG2::STG2(), TAN::TAN(), TAN2::TAN2(), TransformBase::TransformBase(), XYTransform::XYTransform(), XYZTransform::XYZTransform(), and XYZTransformBase::XYZTransformBase().
bool m_needs_grid [protected, inherited] |
Does this binary transform needs grid?
Definition at line 48 of file BinaryTransform.h.
Referenced by BinaryTransform::BinaryTransform(), BinaryTransform::needsGrid(), and BinaryTransform::setNeedsGrid().
bool m_needs_x_ticks [protected, inherited] |
Does this binary transform x ticks?
Definition at line 51 of file BinaryTransform.h.
Referenced by BinaryTransform::BinaryTransform(), BinaryTransform::needsXTicks(), and BinaryTransform::setNeedsXTicks().
bool m_needs_y_ticks [protected, inherited] |
Does this binary transform y ticks?
Definition at line 54 of file BinaryTransform.h.
Referenced by BinaryTransform::BinaryTransform(), BinaryTransform::needsYTicks(), and BinaryTransform::setNeedsYTicks().
UnaryTransform* m_x [private] |
The transform on the X axis.
Definition at line 36 of file XYTransform.h.
Referenced by XYTransform::adjustValues(), XYTransform::inverseTransform(), XYTransform::isLinearInXY(), XYTransform::limitX(), XYTransform::setTicks(), XYTransform::transform(), XYTransform::validate(), XYTransform::xTransform(), XYTransform::XYTransform(), and XYTransform::~XYTransform().
UnaryTransform* m_y [private] |
The transform on the Y axis.
Definition at line 39 of file XYTransform.h.
Referenced by XYTransform::adjustValues(), XYTransform::inverseTransform(), XYTransform::isLinearInXY(), XYTransform::limitY(), XYTransform::setTicks(), XYTransform::transform(), XYTransform::validate(), XYTransform::XYTransform(), XYTransform::yTransform(), and XYTransform::~XYTransform().
UnaryTransform* m_z [protected, inherited] |
The transform on the Z axis.
Definition at line 45 of file BinaryTransform.h.
Referenced by XYTransform::adjustValues(), BinaryTransform::BinaryTransform(), BinaryTransform::inverseTransformZ(), BinaryTransform::isLinearInZ(), BinaryTransform::limitZ(), XYTransform::setTicks(), PeriodicBinaryTransform::setTicks(), BinaryTransform::setZTransform(), BinaryTransform::transformZ(), BinaryTransform::zTransform(), and BinaryTransform::~BinaryTransform().