Public Member Functions | Protected Attributes | Private Member Functions | Private Attributes

LinearTransform Class Reference

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

#include <LinearTransform.h>

Inheritance diagram for LinearTransform:
Inheritance graph
[legend]
Collaboration diagram for LinearTransform:
Collaboration graph
[legend]

List of all members.

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 ()
 The default constructor.
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 (double &x) const
 Transforms the coordinate @ x.
virtual void transform (std::vector< double > &x) const
 Transforms each element of the vector.
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.

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.


Constructor & Destructor Documentation

LinearTransform (  ) 

The default constructor.

Should never be called directly.

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 30 of file LinearTransform.cxx.

References TransformBase::m_name.

LinearTransform ( const LinearTransform lt  ) 

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]
LinearTransform * clone (  )  const [virtual]

Creates a new Transform object by copying an existing one.

Implements UnaryTransform.

Definition at line 48 of file LinearTransform.cxx.

const vector< AxisTick > & genTicks ( AxisModelBase axis  )  [private]
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]
void setFirstTick ( AxisModelBase axis  )  [private]
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 axis  )  [private]
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]
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