Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

XYZTransform.cxx

Go to the documentation of this file.
00001 
00012 #include "XYZTransform.h"
00013 
00014 #include "UnaryTransform.h"
00015 
00016 using std::vector;
00017 
00018 XYZTransform::XYZTransform ( UnaryTransform * x,
00019                              UnaryTransform * y,
00020                              UnaryTransform * z )
00021 {
00022   m_name = "XYZTransform";
00023   m_x = x;
00024   m_y = y;
00025   m_z = z;
00026 }
00027 
00028 XYZTransform::~XYZTransform ()
00029 {
00030   delete m_x;
00031   delete m_y;
00032   delete m_z;
00033 }
00034 
00035 XYZTransform::XYZTransform ( const XYZTransform & t )
00036   : XYZTransformBase ( t )
00037 {
00038 #ifdef CLONE_DEFECT
00039   m_x = dynamic_cast < UnaryTransform * > ( t.m_x->clone () );
00040   m_y = dynamic_cast < UnaryTransform * > ( t.m_y->clone () );
00041   m_z = dynamic_cast < UnaryTransform * > ( t.m_z->clone () );
00042 #else
00043   m_x = t.m_x->clone ();
00044   m_y = t.m_y->clone ();
00045   m_z = t.m_z->clone ();
00046 #endif
00047 }
00048 
00049 #ifdef CLONE_DEFECT
00050 TransformBase * XYZTransform::clone () const
00051 #else
00052 XYZTransform  * XYZTransform::clone () const
00053 #endif
00054 {
00055   return new XYZTransform ( *this );
00056 }
00057 
00058 /* virtual */
00059 void XYZTransform::transform ( double & x,
00060                                double & y,
00061                                double & z ) const
00062 {
00063   m_x->transform ( x );
00064   m_y->transform ( y );
00065   m_z->transform ( z );
00066 }
00067 
00068 /* virtual */
00069 void
00070 XYZTransform::
00071 transform ( std::vector< double > & x,
00072             std::vector< double > & y,
00073             std::vector< double > & z ) const
00074 {
00075   m_x->transform ( x );
00076   m_y->transform ( y );
00077   m_z->transform ( z );
00078 }
00079 
00080 /* virtual */
00081 void XYZTransform::validate ( Range & x, Range & y, Range & z ) const
00082 {
00083   m_x->validate ( x );
00084   m_y->validate ( y );
00085   m_z->validate ( z );
00086 }
00087 
00088 /* virtual */
00089 const Range & XYZTransform::limitX () const
00090 {
00091   return m_x->limits ();
00092 }
00093 
00094 /* virtual */
00095 const Range & XYZTransform::limitY () const
00096 {
00097   return m_y->limits ();
00098 }
00099 
00100 /* virtual */
00101 const Range & XYZTransform::limitZ () const
00102 {
00103   return m_z->limits ();
00104 }
00105 
00106 TransformBase * XYZTransform::xTransform () const
00107 {
00108   return m_x;
00109 }
00110 
00111 TransformBase * XYZTransform::yTransform () const
00112 {
00113   return m_y;
00114 }
00115 
00116 TransformBase * XYZTransform::zTransform () const
00117 {
00118   return m_z;
00119 }

Generated for HippoDraw-1.14.8.5 by doxygen 1.4.3