XYZTransform.h

Go to the documentation of this file.
00001 /* -*- mode: c++ -*-
00002  *
00003  * HippoPlot XYZTransform  class interface
00004  *
00005  * Copyright (C) 2001-2003   The Board of Trustees of The Leland
00006  * Stanford Junior University.  All Rights Reserved.
00007  *
00008  * $Id: XYZTransform_8h-source.html,v 1.40 2008/03/24 19:27:35 pfkeb Exp $
00009  */
00010 
00011 #ifndef _XYZTransform_H_
00012 #define _XYZTransform_H_
00013 
00014 #include "XYZTransformBase.h"
00015 
00016 #include <vector>
00017 
00018 namespace hippodraw {
00019 
00020 class UnaryTransform;
00021 
00027 class MDL_HIPPOPLOT_API XYZTransform : public XYZTransformBase
00028 {
00029 
00031   UnaryTransform * m_x;
00032 
00034   UnaryTransform * m_y;
00035 
00037   UnaryTransform * m_z;
00038 
00039 public:
00040 
00043   XYZTransform ( UnaryTransform * x, UnaryTransform * y, UnaryTransform * z );
00044 
00046   XYZTransform ( const XYZTransform & );
00047 
00049   virtual ~XYZTransform();
00050 
00052 #ifdef CLONE_DEFECT
00053   virtual TransformBase * clone () const;
00054 #else
00055   virtual XYZTransform  * clone () const;
00056 #endif
00057 
00059   TransformBase * xTransform () const;
00060 
00062   TransformBase * yTransform () const;
00063 
00065   TransformBase * zTransform () const;
00066 
00067   virtual void transform ( double & x, double & y, double & z ) const;
00068 
00069   virtual void transform ( std::vector< double > & x, 
00070                            std::vector< double > & y,
00071                            std::vector< double > & z ) const;
00072 
00073   virtual void validate ( Range & x, Range & y, Range & z ) const;
00074 
00076   virtual const Range & limitX () const;
00077 
00079   virtual const Range & limitY () const;
00080 
00082   virtual const Range & limitZ () const;
00083 
00085   virtual bool isLinearInZ () const;
00086 };
00087 
00088 } // namespace hippodraw
00089 
00090 #endif // _XYZTransform_H_

Generated for HippoDraw Class Library by doxygen