#include <PeriodicBinaryTransform.h>
Inheritance diagram for PeriodicBinaryTransform:
Definition at line 31 of file PeriodicBinaryTransform.h.
Public Member Functions | |
virtual void | adjustValues (AxisModelBase &model, hippodraw::Axes::Type axes, const Range &limit)=0 |
Sets the range of given axis to be a new "nice" within the limits given. | |
virtual double | aspectRatio () const |
Returns the aspect ratio. | |
virtual HippoRectangle | calcRectangle (const Range &x, const Range &y)=0 |
Returns a HippoRectangle enclosing the transformed data space. | |
virtual BinaryTransform * | clone () const =0 |
Creates a new XYTransform object by copying an existing one. | |
virtual void | inverseTransform (double &x, double &y) const =0 |
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 =0 |
Returns true if the transform would be one to one on both the X and Y axes. | |
bool | isPeriodic () const |
Sets wether this transform is periodic. | |
virtual const Range & | limitX () const |
Returns the Range limits of the first corrdinate. | |
virtual const Range & | limitY () const |
Returns the Range limits of the second corrdinate. | |
const Range & | limitZ () const |
Returns the Range limits on the third corrdinate. | |
double | moduloAdd (double a1, double a2, hippodraw::Axes::Type axis) const |
Modulo Addition along either X or Y axis. | |
double | moduloAddX (double x1, double x2) const |
Modulo Addition along X axis. | |
double | moduloAddY (double y1, double y2) const |
Modulo Addition along Y axis. | |
double | moduloSub (double s1, double s2, hippodraw::Axes::Type axis) const |
Modulo Substraction along either X or Y axis. | |
double | moduloSubX (double x1, double x2) const |
Modulo Substraction along X axis. | |
double | moduloSubY (double y1, double y2) const |
Modulo Substraction along Y axis. | |
const std::string & | name () const |
Returns the name of the Transform. | |
bool | needsGrid () const |
Returns wether this transform needs grid. | |
bool | needsXTicks () const |
Returns wether this transform needs x ticks. | |
bool | needsYTicks () const |
Returns wether this transform needs y ticks. | |
void | setNeedsGrid (bool needs_grid) |
Sets wether this transform needs grid. | |
void | setNeedsXTicks (bool needs_x_ticks) |
Sets wether this transform needs x ticks. | |
void | setNeedsYTicks (bool needs_y_ticks) |
Sets wether this transform needs y yicks. | |
virtual const std::vector< AxisTick > & | setTicks (AxisModelBase &axis_model, hippodraw::Axes::Type axis)=0 |
Sets and return the axis ticks on specified axis. | |
void | setXOffset (double x_offset) |
Sets the xOffset of the (periodic) transform. | |
void | setYOffset (double y_offset) |
Sets the yOffset of the (periodic) transform. | |
void | setZTransform (TransformBase *transform) |
Sets the transform function on the Z axis. | |
virtual void | transform (std::vector< double > &x, std::vector< double > &y) const =0 |
A transform on two axes. | |
virtual void | transform (double &x, double &y) const =0 |
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 =0 |
Validates the Ranges. | |
double | xOffset () const |
Returns the xOffset of the (periodic) transform. | |
double | yOffset () const |
Returns the yOffset of the (periodic) transform. | |
TransformBase * | zTransform () const |
Returns the transform function on the Z axis. | |
virtual | ~PeriodicBinaryTransform () |
The virtual destructor. | |
Protected Member Functions | |
PeriodicBinaryTransform (const PeriodicBinaryTransform &) | |
The copy constructor. | |
PeriodicBinaryTransform (UnaryTransform *, bool=false, bool=false, bool=true, bool=true, double=-180, double=+180, double=-90, double=+90) | |
The constructor that take the z transform as argument also it takes and argument which states if it is a periodic transformation (default false), next optional argument says if this transform needs a grid or not (default is false), and if it needs x and y ticks or not (Default is true). | |
PeriodicBinaryTransform () | |
The default constructor. | |
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 tranform needs grid? | |
bool | m_needs_x_ticks |
Does this binary tranform x ticks? | |
bool | m_needs_y_ticks |
Does this binary tranform y ticks? | |
Range | m_x_limits |
The limits on X axis of the transform. | |
double | m_x_offset |
The xoffset of this periodic transform. | |
Range | m_y_limits |
The limits on Y axis of the transform. | |
double | m_y_offset |
The yoffset of this periodic transform. | |
UnaryTransform * | m_z |
The transform on the Z axis. |
|
The default constructor. . Sets the function name to "nil". Should be overriden by derived class. If function name is "nil", then that indicated error condition that default constructor was called directly. Definition at line 21 of file PeriodicBinaryTransform.cxx. |
|
The constructor that take the z transform as argument also it takes and argument which states if it is a periodic transformation (default false), next optional argument says if this transform needs a grid or not (default is false), and if it needs x and y ticks or not (Default is true). Finally we introduce xlo, xhi, ylow and yhi which define the appropriate limits on X and Y axis Definition at line 30 of file PeriodicBinaryTransform.cxx. |
|
The copy constructor.
Definition at line 46 of file PeriodicBinaryTransform.cxx. |
|
The virtual destructor.
Definition at line 55 of file PeriodicBinaryTransform.cxx. |
|
Sets the range of given axis to be a new "nice" within the limits given.
Implemented in HammerAito, Lambert, and XYTransform. Referenced by CompositePlotter::autoScale(). |
|
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 TransformBase. Reimplemented in HammerAito, Lambert, and XYTransform. Definition at line 79 of file BinaryTransform.cxx. |
|
Returns a HippoRectangle enclosing the transformed data space.
Implemented in HammerAito, Lambert, and XYTransform. |
|
Creates a new XYTransform object by copying an existing one.
Implements TransformBase. Implemented in HammerAito, Lambert, and XYTransform. |
|
Transform the transformed coordinates on X and Y axis back to the original true data space.
Implemented in HammerAito, Lambert, and XYTransform. |
|
Inverse transforms the z coordinate.
Definition at line 104 of file BinaryTransform.cxx. References UnaryTransform::inverseTransform(), and BinaryTransform::m_z. |
|
Returns Clients can use this function to avoid calling the transform in for loops. Implemented in HammerAito, Lambert, and XYTransform. |
|
Sets wether this transform is periodic.
Definition at line 146 of file BinaryTransform.cxx. References BinaryTransform::m_is_periodic. Referenced by BinaryTransform::BinaryTransform(), AxisRepBase::drawCrossHairs(), CompositePlotter::fillPickedPoint(), and Inspector::setHighRange(). |
|
Returns the Range limits of the first corrdinate.
Implements BinaryTransform. Definition at line 60 of file PeriodicBinaryTransform.cxx. References m_x_limits. |
|
Returns the Range limits of the second corrdinate.
Implements BinaryTransform. Definition at line 66 of file PeriodicBinaryTransform.cxx. References m_y_limits. |
|
Returns the Range limits on the third corrdinate.
Definition at line 110 of file BinaryTransform.cxx. References UnaryTransform::limits(), and BinaryTransform::m_z. Referenced by CompositePlotter::autoScaleZ(), and CompositePlotter::setRangePrivate(). |
|
Modulo Addition along either X or Y axis.
Definition at line 96 of file PeriodicBinaryTransform.cxx. References moduloAddX(), moduloAddY(), hippodraw::Axes::X, and hippodraw::Axes::Y. |
|
Modulo Addition along X axis.
Definition at line 120 of file PeriodicBinaryTransform.cxx. References Range::high(), Range::low(), m_x_limits, and moduloSubX(). Referenced by CompositePlotter::fillPickedPoint(), Lambert::genTicks(), HammerAito::genTicks(), moduloAdd(), moduloSubX(), and Inspector::setHighRange(). |
|
Modulo Addition along Y axis.
Definition at line 149 of file PeriodicBinaryTransform.cxx. References Range::high(), Range::low(), m_y_limits, and moduloSubY(). Referenced by CompositePlotter::fillPickedPoint(), Lambert::genTicks(), HammerAito::genTicks(), moduloAdd(), moduloSubY(), and Inspector::setHighRange(). |
|
Modulo Substraction along either X or Y axis.
Definition at line 109 of file PeriodicBinaryTransform.cxx. References moduloSubX(), moduloSubY(), hippodraw::Axes::X, and hippodraw::Axes::Y. |
|
Modulo Substraction along X axis.
Definition at line 135 of file PeriodicBinaryTransform.cxx. References Range::high(), Range::low(), m_x_limits, and moduloAddX(). Referenced by AxisRepBase::drawCrossHairs(), moduloAddX(), and moduloSub(). |
|
Modulo Substraction along Y axis.
Definition at line 164 of file PeriodicBinaryTransform.cxx. References Range::high(), Range::low(), m_y_limits, and moduloAddY(). Referenced by AxisRepBase::drawCrossHairs(), moduloAddY(), and moduloSub(). |
|
Returns the name of the Transform.
Definition at line 43 of file TransformBase.cxx. References TransformBase::m_name. Referenced by BinaryTransform::BinaryTransform(), TransformXML::createElement(), DisplayController::getLog(), DisplayController::setLog(), and XYTransform::XYTransform(). |
|
Returns wether this transform needs grid.
Definition at line 116 of file BinaryTransform.cxx. References BinaryTransform::m_needs_grid. Referenced by BinaryTransform::BinaryTransform(), and CompositePlotter::drawAxisRep(). |
|
Returns wether this transform needs x ticks.
Definition at line 126 of file BinaryTransform.cxx. References BinaryTransform::m_needs_x_ticks. Referenced by BinaryTransform::BinaryTransform(), and CompositePlotter::drawAxisRep(). |
|
Returns wether this transform needs y ticks.
Definition at line 136 of file BinaryTransform.cxx. References BinaryTransform::m_needs_y_ticks. Referenced by BinaryTransform::BinaryTransform(), and CompositePlotter::drawAxisRep(). |
|
Sets wether this transform needs grid.
Definition at line 121 of file BinaryTransform.cxx. References BinaryTransform::m_needs_grid. |
|
Sets wether this transform needs x ticks.
Definition at line 131 of file BinaryTransform.cxx. References BinaryTransform::m_needs_x_ticks. |
|
Sets wether this transform needs y yicks.
Definition at line 141 of file BinaryTransform.cxx. References BinaryTransform::m_needs_y_ticks. |
|
Sets and return the axis ticks on specified axis.
Implemented in HammerAito, Lambert, and XYTransform. |
|
Sets the xOffset of the (periodic) transform.
Definition at line 77 of file PeriodicBinaryTransform.cxx. References m_x_offset. Referenced by Inspector::autoScale_clicked(), and Inspector::setHighRange(). |
|
Sets the yOffset of the (periodic) transform.
Definition at line 87 of file PeriodicBinaryTransform.cxx. References m_y_offset. Referenced by Inspector::autoScale_clicked(), and Inspector::setHighRange(). |
|
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 91 of file BinaryTransform.cxx. References BinaryTransform::m_z. |
|
A transform on two axes.
Implemented in HammerAito, Lambert, and XYTransform. |
|
Transform the coordinates on the X and Y axes.
Implemented in HammerAito, Lambert, and XYTransform. Referenced by AxisRepBase::drawAxesLines(), AxisRepBase::drawCrossHairs(), AxisRepBase::drawGridLines(), CutRangeRep::drawInvertedRange1D(), CutRangeRep::drawInvertedRange2D(), CutRangeRep::drawNormalRange(), ErrorBarRep::drawXError(), AxisRepBase::drawXTickLabels(), AxisRepBase::drawXTickLines(), ErrorBarRep::drawYError(), AxisRepBase::drawYTickLabels(), AxisRepBase::drawYTickLines(), ContourPointRep::endPlot(), and SymbolPointRep::transformPoints(). |
|
Transforms the z coordinate.
Definition at line 98 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. Implemented in HammerAito, Lambert, and XYTransform. Referenced by AxisRepBase::drawGridLines(), and CompositePlotter::prepareToDraw(). |
|
Returns the xOffset of the (periodic) transform.
Definition at line 72 of file PeriodicBinaryTransform.cxx. References m_x_offset. Referenced by AxisRepBase::drawCrossHairs(), CompositePlotter::fillPickedPoint(), Lambert::genTicks(), HammerAito::genTicks(), and Inspector::setHighRange(). |
|
Returns the yOffset of the (periodic) transform.
Definition at line 82 of file PeriodicBinaryTransform.cxx. References m_y_offset. Referenced by AxisRepBase::drawCrossHairs(), CompositePlotter::fillPickedPoint(), Lambert::genTicks(), HammerAito::genTicks(), and Inspector::setHighRange(). |
|
Returns the transform function on the Z axis.
Definition at line 84 of file BinaryTransform.cxx. References BinaryTransform::m_z. Referenced by DisplayController::getLog(), and DisplayController::setLog(). |
|
Is this transform periodic.
Definition at line 55 of file BinaryTransform.h. Referenced by BinaryTransform::BinaryTransform(), and BinaryTransform::isPeriodic(). |
|
Name of the Transform.
Definition at line 39 of file TransformBase.h. Referenced by BinaryTransform::BinaryTransform(), HammerAito::HammerAito(), Lambert::Lambert(), LinearTransform::LinearTransform(), LogTransform::LogTransform(), TransformBase::name(), TransformBase::TransformBase(), XYTransform::XYTransform(), XYZTransform::XYZTransform(), and XYZTransformBase::XYZTransformBase(). |
|
Does this binary tranform needs grid?
Definition at line 46 of file BinaryTransform.h. Referenced by BinaryTransform::BinaryTransform(), BinaryTransform::needsGrid(), and BinaryTransform::setNeedsGrid(). |
|
Does this binary tranform x ticks?
Definition at line 49 of file BinaryTransform.h. Referenced by BinaryTransform::BinaryTransform(), BinaryTransform::needsXTicks(), and BinaryTransform::setNeedsXTicks(). |
|
Does this binary tranform y ticks?
Definition at line 52 of file BinaryTransform.h. Referenced by BinaryTransform::BinaryTransform(), BinaryTransform::needsYTicks(), and BinaryTransform::setNeedsYTicks(). |
|
The limits on X axis of the transform.
Definition at line 37 of file PeriodicBinaryTransform.h. Referenced by limitX(), moduloAddX(), and moduloSubX(). |
|
The xoffset of this periodic transform.
Definition at line 43 of file PeriodicBinaryTransform.h. Referenced by setXOffset(), and xOffset(). |
|
The limits on Y axis of the transform.
Definition at line 40 of file PeriodicBinaryTransform.h. Referenced by limitY(), moduloAddY(), and moduloSubY(). |
|
The yoffset of this periodic transform.
Definition at line 46 of file PeriodicBinaryTransform.h. Referenced by setYOffset(), and yOffset(). |
|
The transform on the Z axis.
Definition at line 43 of file BinaryTransform.h. Referenced by XYTransform::adjustValues(), BinaryTransform::BinaryTransform(), BinaryTransform::inverseTransformZ(), BinaryTransform::limitZ(), XYTransform::setTicks(), Lambert::setTicks(), HammerAito::setTicks(), BinaryTransform::setZTransform(), BinaryTransform::transformZ(), BinaryTransform::zTransform(), and BinaryTransform::~BinaryTransform(). |