Main Page   Groups   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Concepts

itkEuler2DTransform.h

Go to the documentation of this file.
00001 /*========================================================================= 00002 00003 Program: Insight Segmentation & Registration Toolkit 00004 Module: $RCSfile: itkEuler2DTransform.h,v $ 00005 Language: C++ 00006 Date: $Date: 2003/09/10 14:29:06 $ 00007 Version: $Revision: 1.7 $ 00008 00009 Copyright (c) Insight Software Consortium. All rights reserved. 00010 See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm for details. 00011 00012 This software is distributed WITHOUT ANY WARRANTY; without even 00013 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00014 PURPOSE. See the above copyright notices for more information. 00015 00016 =========================================================================*/ 00017 00018 #ifndef __itkEuler2DTransform_h 00019 #define __itkEuler2DTransform_h 00020 00021 #include <iostream> 00022 #include "itkRigid2DTransform.h" 00023 00024 namespace itk 00025 { 00026 00034 template < class TScalarType=double > // Data type for scalars (float or double) 00035 class ITK_EXPORT Euler2DTransform : 00036 public Rigid2DTransform< TScalarType > 00037 { 00038 public: 00040 typedef Euler2DTransform Self; 00041 typedef Rigid2DTransform< TScalarType > Superclass; 00042 typedef SmartPointer<Self> Pointer; 00043 typedef SmartPointer<const Self> ConstPointer; 00044 00046 itkNewMacro( Self ); 00047 00049 itkTypeMacro( Euler2DTransform, Rigid2DTransform ); 00050 00052 itkStaticConstMacro(SpaceDimension, unsigned int, 2); 00053 itkStaticConstMacro(ParametersDimension, unsigned int, 3); 00054 00056 typedef typename Superclass::ScalarType ScalarType; 00057 00059 typedef typename Superclass::ParametersType ParametersType; 00060 00062 typedef typename Superclass::JacobianType JacobianType; 00063 00065 typedef typename Superclass::OffsetType OffsetType; 00066 00068 typedef typename Superclass::InputPointType InputPointType; 00069 typedef typename Superclass::OutputPointType OutputPointType; 00070 00072 typedef typename Superclass::InputVectorType InputVectorType; 00073 typedef typename Superclass::OutputVectorType OutputVectorType; 00074 00076 typedef typename Superclass::InputCovariantVectorType InputCovariantVectorType; 00077 typedef typename Superclass::OutputCovariantVectorType OutputCovariantVectorType; 00078 00080 typedef typename Superclass::InputVnlVectorType InputVnlVectorType; 00081 typedef typename Superclass::OutputVnlVectorType OutputVnlVectorType; 00082 00087 void SetParameters( const ParametersType & parameters ); 00088 00093 const ParametersType & GetParameters( void ) const; 00094 00095 00097 void SetRotation(TScalarType angle); 00098 00103 const JacobianType & GetJacobian(const InputPointType &point ) const; 00104 00107 virtual void SetIdentity( void ); 00108 00109 00110 protected: 00111 Euler2DTransform(); 00112 ~Euler2DTransform(){}; 00113 void PrintSelf(std::ostream &os, Indent indent) const; 00114 00116 void ComputeMatrix(void); 00117 00118 private: 00119 Euler2DTransform(const Self&); //purposely not implemented 00120 void operator=(const Self&); //purposely not implemented 00121 00122 TScalarType m_Angle; 00123 00124 }; //class Euler2DTransform 00125 00126 00127 } // namespace itk 00128 00129 00130 #ifndef ITK_MANUAL_INSTANTIATION 00131 #include "itkEuler2DTransform.txx" 00132 #endif 00133 00134 #endif /* __itkEuler2DTransform_h */

Generated at Sat Mar 31 02:17:43 2007 for ITK by doxygen 1.3.8 written by Dimitri van Heesch, © 1997-2000