#include <Lambert.h>
Inheritance diagram for Lambert:
Paul F. Kunz <Paul_Kunz@slac.stanford.edu>
Definition at line 29 of file Lambert.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 HippoRectangle | calcRectangle (const Range &x, const Range &y) |
Returns a HippoRectangle enclosing the transformed data space. | |
virtual Lambert * | clone () const |
Creates a new Transform object by copying an existing one. | |
virtual void | inverseTransform (double &lon, double &lat) 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. | |
bool | isPeriodic () const |
Sets wether this transform is periodic. | |
Lambert (const Lambert &) | |
The copy constructor. | |
Lambert (UnaryTransform *z) | |
The constructor. | |
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) |
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 > &lon, std::vector< double > &lat) const |
A transform on two axes. | |
virtual void | transform (double &lon, double &lat) const |
Transform the coordinates on the X and Y axes. | |
void | transformZ (double &z) const |
Transforms the z coordinate. | |
virtual void | validate (Range &lat, Range &lon) const |
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 | ~Lambert () |
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 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. | |
Private Member Functions | |
const std::vector< AxisTick > & | genTicks (AxisModelBase &axis, hippodraw::Axes::Type axistype) |
Generates the ticks in the axis. | |
void | setFirstTick (AxisModelBase &axis) |
Sets the first tick on the axis. | |
void | setTickStep (AxisModelBase &axis) |
Helps to decide the tick size for the corresponding axis. | |
Private Attributes | |
std::vector< AxisTick > | m_ticks |
The ticks last generated by this transform. |
|
The constructor. The constructor taking a UnaryTransform for its Z axis. Definition at line 32 of file Lambert.cxx. References TransformBase::m_name. |
|
The copy constructor.
Definition at line 40 of file Lambert.cxx. |
|
The virtual destructor.
Definition at line 45 of file Lambert.cxx. |
|
Sets the range of given axis to be a new "nice" within the limits given.
Implements BinaryTransform. Definition at line 218 of file Lambert.cxx. |
|
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 111 of file Lambert.cxx. |
|
Returns a HippoRectangle enclosing the transformed data space.
Implements BinaryTransform. Definition at line 116 of file Lambert.cxx. References Range::high(), Range::low(), and transform(). |
|
Creates a new Transform object by copying an existing one.
Implements BinaryTransform. Definition at line 52 of file Lambert.cxx. |
|
Generates the ticks in the axis.
Definition at line 267 of file Lambert.cxx. References std::abs(), FLT_EQUAL(), AxisModelBase::getFirstTick(), AxisModelBase::getPMag(), AxisModelBase::getRange(), AxisModelBase::getRMag(), AxisModelBase::getScaleFactor(), AxisModelBase::getTickStep(), Range::high(), m_ticks, PeriodicBinaryTransform::moduloAddX(), PeriodicBinaryTransform::moduloAddY(), std::pow(), AxisModelBase::setUsePMag(), hippodraw::Axes::X, PeriodicBinaryTransform::xOffset(), hippodraw::Axes::Y, and PeriodicBinaryTransform::yOffset(). Referenced by setTicks(). |
|
Transform the transformed coordinates on X and Y axis back to the original true data space.
Implements BinaryTransform. Definition at line 81 of file Lambert.cxx. References M_PI, and std::sqrt(). |
|
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. Implements BinaryTransform. Definition at line 60 of file Lambert.cxx. |
|
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 PeriodicBinaryTransform::m_x_limits. |
|
Returns the Range limits of the second corrdinate.
Implements BinaryTransform. Definition at line 66 of file PeriodicBinaryTransform.cxx. References PeriodicBinaryTransform::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 PeriodicBinaryTransform::moduloAddX(), PeriodicBinaryTransform::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(), PeriodicBinaryTransform::m_x_limits, and PeriodicBinaryTransform::moduloSubX(). Referenced by CompositePlotter::fillPickedPoint(), genTicks(), HammerAito::genTicks(), PeriodicBinaryTransform::moduloAdd(), PeriodicBinaryTransform::moduloSubX(), and Inspector::setHighRange(). |
|
Modulo Addition along Y axis.
Definition at line 149 of file PeriodicBinaryTransform.cxx. References Range::high(), Range::low(), PeriodicBinaryTransform::m_y_limits, and PeriodicBinaryTransform::moduloSubY(). Referenced by CompositePlotter::fillPickedPoint(), genTicks(), HammerAito::genTicks(), PeriodicBinaryTransform::moduloAdd(), PeriodicBinaryTransform::moduloSubY(), and Inspector::setHighRange(). |
|
Modulo Substraction along either X or Y axis.
Definition at line 109 of file PeriodicBinaryTransform.cxx. References PeriodicBinaryTransform::moduloSubX(), PeriodicBinaryTransform::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(), PeriodicBinaryTransform::m_x_limits, and PeriodicBinaryTransform::moduloAddX(). Referenced by AxisRepBase::drawCrossHairs(), PeriodicBinaryTransform::moduloAddX(), and PeriodicBinaryTransform::moduloSub(). |
|
Modulo Substraction along Y axis.
Definition at line 164 of file PeriodicBinaryTransform.cxx. References Range::high(), Range::low(), PeriodicBinaryTransform::m_y_limits, and PeriodicBinaryTransform::moduloAddY(). Referenced by AxisRepBase::drawCrossHairs(), PeriodicBinaryTransform::moduloAddY(), and PeriodicBinaryTransform::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 the first tick on the axis.
Definition at line 255 of file Lambert.cxx. References AxisModelBase::getRange(), Range::low(), and AxisModelBase::setFirstTick(). Referenced by setTicks(). |
|
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. |
|
Implements BinaryTransform. Definition at line 203 of file Lambert.cxx. References genTicks(), BinaryTransform::m_z, setFirstTick(), setTickStep(), and hippodraw::Axes::Z. |
|
Helps to decide the tick size for the corresponding axis.
Definition at line 232 of file Lambert.cxx. References std::abs(), AxisModelBase::getRange(), AxisModelBase::getScaleFactor(), Range::high(), Range::length(), std::log10(), Range::low(), std::max(), AxisModelBase::setPMag(), AxisModelBase::setRMag(), and AxisModelBase::setTickStep(). Referenced by setTicks(). |
|
Sets the xOffset of the (periodic) transform.
Definition at line 77 of file PeriodicBinaryTransform.cxx. References PeriodicBinaryTransform::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 PeriodicBinaryTransform::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.
Implements BinaryTransform. Definition at line 97 of file Lambert.cxx. References transform(). |
|
Transform the coordinates on the X and Y axes.
Implements BinaryTransform. Definition at line 68 of file Lambert.cxx. References std::cos(), M_PI, and std::sin(). Referenced by calcRectangle(), and transform(). |
|
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. Implements BinaryTransform. Definition at line 188 of file Lambert.cxx. References Range::high(), Range::low(), Range::setHigh(), and Range::setLow(). |
|
Returns the xOffset of the (periodic) transform.
Definition at line 72 of file PeriodicBinaryTransform.cxx. References PeriodicBinaryTransform::m_x_offset. Referenced by AxisRepBase::drawCrossHairs(), CompositePlotter::fillPickedPoint(), genTicks(), HammerAito::genTicks(), and Inspector::setHighRange(). |
|
Returns the yOffset of the (periodic) transform.
Definition at line 82 of file PeriodicBinaryTransform.cxx. References PeriodicBinaryTransform::m_y_offset. Referenced by AxisRepBase::drawCrossHairs(), CompositePlotter::fillPickedPoint(), 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(), 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 ticks last generated by this transform.
Definition at line 36 of file Lambert.h. Referenced by genTicks(). |
|
The limits on X axis of the transform.
Definition at line 37 of file PeriodicBinaryTransform.h. Referenced by PeriodicBinaryTransform::limitX(), PeriodicBinaryTransform::moduloAddX(), and PeriodicBinaryTransform::moduloSubX(). |
|
The xoffset of this periodic transform.
Definition at line 43 of file PeriodicBinaryTransform.h. Referenced by PeriodicBinaryTransform::setXOffset(), and PeriodicBinaryTransform::xOffset(). |
|
The limits on Y axis of the transform.
Definition at line 40 of file PeriodicBinaryTransform.h. Referenced by PeriodicBinaryTransform::limitY(), PeriodicBinaryTransform::moduloAddY(), and PeriodicBinaryTransform::moduloSubY(). |
|
The yoffset of this periodic transform.
Definition at line 46 of file PeriodicBinaryTransform.h. Referenced by PeriodicBinaryTransform::setYOffset(), and PeriodicBinaryTransform::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(), setTicks(), HammerAito::setTicks(), BinaryTransform::setZTransform(), BinaryTransform::transformZ(), BinaryTransform::zTransform(), and BinaryTransform::~BinaryTransform(). |