LinearTransform Class Reference

#include <LinearTransform.h>

Inheritance diagram for LinearTransform:

Inheritance graph
UnaryTransformTransformBase
[legend]
Collaboration diagram for LinearTransform:

Collaboration graph
UnaryTransformTransformBaseRange
[legend]
List of all members.

Detailed Description

A transform on one axis whose output is equal to the input.

That is, it does not change the input values.

Author:
Paul F. Kunz <Paul_Kunz@slac.stanford.edu>

Definition at line 29 of file LinearTransform.h.

Public Member Functions

virtual const RangeadjustValues (AxisModelBase &axis, const Range &limit)
 Sets the range of given axis to be a new "nice" within the limits given.
virtual double aspectRatio () const
 Get the aspect ratio.
virtual LinearTransformclone () const
 Creates a new Transform object by copying an existing one.
virtual void inverseTransform (double &x) const
 Inverse transforms the coordinate x.
bool isLinear () const
virtual const Rangelimits () const
 Returns a Range whose values are the limits on the coordinate.
 LinearTransform (const LinearTransform &)
 The copy constructor.
 LinearTransform ()
 Should never be called directly.
const std::string & name () const
 Returns the name of the Transform.
virtual const std::vector<
AxisTick > & 
setTicks (AxisModelBase &axis)
 Sets the vector of ticks along the axis to which this Linear transform is applied.
virtual void transform (std::vector< double > &x) const
 Transforms each element of the vector.
virtual void transform (double &x) const
 Transforms the coordinate @ x.
virtual void validate (Range &) const
 The following function validates the range.
virtual ~LinearTransform ()
 The virtual destructor.

Protected Attributes

const Range m_limits
 The valid Range of the transform.
std::string m_name
 Name of the Transform.

Private Member Functions

const std::vector< AxisTick > & genTicks (AxisModelBase &)
void setFirstTick (AxisModelBase &)
void setTickStep (AxisModelBase &)

Private Attributes

std::vector< AxisTickm_ticks
 The ticks generated by this transform.


Constructor & Destructor Documentation

LinearTransform (  ) 

Should never be called directly.

Definition at line 30 of file LinearTransform.cxx.

References TransformBase::m_name.

Referenced by LinearTransform::clone().

LinearTransform ( const LinearTransform  ) 

The copy constructor.

Definition at line 40 of file LinearTransform.cxx.

~LinearTransform (  )  [virtual]

The virtual destructor.

Definition at line 36 of file LinearTransform.cxx.


Member Function Documentation

const Range & adjustValues ( AxisModelBase axis,
const Range limit 
) [virtual]

Sets the range of given axis to be a new "nice" within the limits given.

Implements UnaryTransform.

Definition at line 294 of file LinearTransform.cxx.

References AxisModelBase::getRange(), Range::high(), Range::low(), Range::pos(), AxisModelBase::setIntersectRange(), and AxisModelBase::setRange().

double aspectRatio (  )  const [virtual, inherited]

Get the aspect ratio.

Reimplemented in AIR, AIR2, ARC, ARC2, BinaryTransform, Cartesian, Cartesian2, GlobalSinusoidal, GlobalSinusoidal2, HammerAito, HammerAito2, Lambert, Lambert2, Mercator, Mercator2, SIN, SIN2, STG, STG2, TAN, TAN2, and XYTransform.

Definition at line 50 of file TransformBase.cxx.

Referenced by CompositePlotter::getAspectRatio().

LinearTransform * clone (  )  const [virtual]

Creates a new Transform object by copying an existing one.

Implements UnaryTransform.

Definition at line 48 of file LinearTransform.cxx.

References LinearTransform::LinearTransform().

const vector< AxisTick > & genTicks ( AxisModelBase axis  )  [private]

Todo:
Handle too many ticks better, rather than doing nothing. See more detailed comment in code.

Definition at line 180 of file LinearTransform.cxx.

References AxisModelBase::getFirstTick(), AxisModelBase::getMaxTicks(), AxisModelBase::getPMag(), AxisModelBase::getRange(), AxisModelBase::getRMag(), AxisModelBase::getScaleFactor(), AxisModelBase::getTickStep(), Range::high(), LinearTransform::m_ticks, and AxisModelBase::setUsePMag().

Referenced by LinearTransform::setTicks().

void inverseTransform ( double &  x  )  const [virtual]

Inverse transforms the coordinate x.

Implements UnaryTransform.

Definition at line 69 of file LinearTransform.cxx.

bool isLinear (  )  const [virtual]

Implements UnaryTransform.

Definition at line 56 of file LinearTransform.cxx.

const Range & limits (  )  const [virtual, inherited]

Returns a Range whose values are the limits on the coordinate.

Definition at line 28 of file UnaryTransform.cxx.

References UnaryTransform::m_limits.

Referenced by XYZTransform::limitX(), XYTransform::limitX(), XYZTransform::limitY(), XYTransform::limitY(), XYZTransform::limitZ(), and BinaryTransform::limitZ().

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().

void setFirstTick ( AxisModelBase  )  [private]

Definition at line 162 of file LinearTransform.cxx.

References AxisModelBase::getRange(), AxisModelBase::getTickStep(), Range::low(), and AxisModelBase::setFirstTick().

Referenced by LinearTransform::setTicks().

const vector< AxisTick > & setTicks ( AxisModelBase axis  )  [virtual]

Sets the vector of ticks along the axis to which this Linear transform is applied.

Implements UnaryTransform.

Definition at line 89 of file LinearTransform.cxx.

References LinearTransform::genTicks(), LinearTransform::setFirstTick(), and LinearTransform::setTickStep().

void setTickStep ( AxisModelBase  )  [private]

Definition at line 102 of file LinearTransform.cxx.

References AxisModelBase::getRange(), AxisModelBase::getScaleFactor(), Range::high(), Range::length(), Range::low(), AxisModelBase::setPMag(), AxisModelBase::setRMag(), and AxisModelBase::setTickStep().

Referenced by LinearTransform::setTicks().

void transform ( std::vector< double > &  x  )  const [virtual]

Transforms each element of the vector.

Implements UnaryTransform.

Definition at line 75 of file LinearTransform.cxx.

void transform ( double &  x  )  const [virtual]

Transforms the coordinate @ x.

Implements UnaryTransform.

Definition at line 63 of file LinearTransform.cxx.

void validate ( Range  )  const [virtual]

The following function validates the range.

It returns a copy of the argument Range since all values are valid for a linear transform.

Implements UnaryTransform.

Definition at line 82 of file LinearTransform.cxx.


Member Data Documentation

const Range m_limits [protected, inherited]

The valid Range of the transform.

Definition at line 41 of file UnaryTransform.h.

Referenced by UnaryTransform::limits().

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().

std::vector< AxisTick > m_ticks [private]

The ticks generated by this transform.

Definition at line 35 of file LinearTransform.h.

Referenced by LinearTransform::genTicks().


The documentation for this class was generated from the following files:
Generated for HippoDraw Class Library by doxygen