go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
elxBaseComponentSE.h
Go to the documentation of this file.
00001 /*======================================================================
00002 
00003   This file is part of the elastix software.
00004 
00005   Copyright (c) University Medical Center Utrecht. All rights reserved.
00006   See src/CopyrightElastix.txt or http://elastix.isi.uu.nl/legal.php for
00007   details.
00008 
00009      This software is distributed WITHOUT ANY WARRANTY; without even
00010      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
00011      PURPOSE. See the above copyright notices for more information.
00012 
00013 ======================================================================*/
00014 
00015 #ifndef __elxBaseComponentSE_h
00016 #define __elxBaseComponentSE_h
00017 
00018 #include "elxBaseComponent.h"
00019 #include "itkObject.h"
00020 
00021 
00022 namespace elastix
00023 {
00024   using namespace itk;
00025 
00041 template <class TElastix>
00042 class BaseComponentSE : public BaseComponent
00043 {
00044 public:
00045 
00047   typedef BaseComponentSE   Self;
00048   typedef BaseComponent     Superclass;
00049 
00051   typedef TElastix                        ElastixType;
00052   typedef typename ElastixType::Pointer   ElastixPointer;
00053 
00055   typedef typename ElastixType::ConfigurationType     ConfigurationType;
00056   typedef typename ElastixType::ConfigurationPointer  ConfigurationPointer;
00057 
00061   typedef typename ElastixType::RegistrationBaseType  RegistrationType;
00062   typedef RegistrationType *                          RegistrationPointer;
00063 
00076   virtual void SetElastix( ElastixType * _arg );
00077 
00081   virtual ElastixType * GetElastix( void ) const
00082   {
00083     return this->m_Elastix.GetPointer();
00084   }
00085 
00090   virtual ConfigurationType * GetConfiguration( void ) const
00091   {
00092     return this->m_Configuration.GetPointer();
00093   }
00094 
00096   virtual void SetConfiguration( ConfigurationType * _arg );
00097 
00103   virtual RegistrationPointer GetRegistration( void ) const
00104   {
00105     return this->m_Registration;
00106   }
00107 
00108 protected:
00109 
00110   BaseComponentSE();
00111   virtual ~BaseComponentSE() {}
00112 
00113   ElastixPointer        m_Elastix;
00114   ConfigurationPointer  m_Configuration;
00115   RegistrationPointer   m_Registration;
00116 
00117 private:
00118 
00119   BaseComponentSE( const Self& );   // purposely not implemented
00120   void operator=( const Self& );    // purposely not implemented
00121 
00122 }; // end class BaseComponentSE
00123 
00124 
00125 } //end namespace elastix
00126 
00127 
00128 #ifndef ITK_MANUAL_INSTANTIATION
00129 #include "elxBaseComponentSE.hxx"
00130 #endif
00131 
00132 #endif // end #ifndef __elxBaseComponentSE_h
00133 


Generated on 24-10-2011 for elastix by doxygen 1.7.4 elastix logo