freSetupInterpolator.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   F.R.E.E. - flexible registration evaluation engine
00004   Version:   v.1.0.0
00005   Date:      $Date: 2006/09/01 12:00:00 $
00006   Module:    $RCSfile: freSetupInterpolator.h,v $
00007   Language:  C++
00008 
00009 
00010 
00011   Copyright (c) 2007 Ralf o Floca (Department of Medical Informatics,
00012   Institute for Medical Biometry and Informatics, University of Heidelberg,
00013   Germany). All rights reserved.
00014   See FREECopyright.txt or http://www.mi.med.uni-hd.de/free/copyright.htm
00015   for details.
00016 
00017      This software is distributed WITHOUT ANY WARRANTY; without even 
00018      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
00019      PURPOSE.  See the above copyright notices for more information.
00020 
00021 =========================================================================*/
00022 #ifndef __freSetupInterpolator_h
00023 #define __freSetupInterpolator_h
00024 
00025 #include "freElementals.h"
00026 #include "freSetup.h"
00027 #include "freControllerCentral.h"
00028 
00029 namespace FREE
00030 {
00031 
00056 class SetupInterpolator
00057 {
00058 public:
00059   virtual const char *GetNameOfClass() const
00060         {return "SetupInterpolator";};
00061 
00065   void SetStartSetup(Setup* pSetup); 
00068   Setup* GetStartSetup();
00069 
00073   void SetStopSetup(Setup* pSetup); 
00076   Setup* GetStopSetup();
00077 
00083   void SetIterations(const int iIterations);
00086   const int GetIterations();
00087 
00090   const int GetCurrentIteration();
00091 
00093   void ResetIteration();
00094 
00098   void SetSetupName(const std::string& sName);
00101   const std::string GetSetupName();
00103   void ResetName();
00104 
00113   Setup::Pointer InterpolateSetup(const int iActIteration, const int iIterations);
00114 
00122   Setup::Pointer InterpolateSetup(const int iActIteration);
00123 
00132   Setup::Pointer InterpolateNext();
00133 
00134   SetupInterpolator();
00135   ~SetupInterpolator();
00136 
00137 private:
00145   void InterpolateParameter(ComponentSetup* pInterpolate, ComponentSetup* pStart, ComponentSetup* pStop, const std::string& sKey, const int& iActIteration, const int& iIterations);
00146 
00152   void InterpolateComponent(ComponentSetup *pComponent, const int& iSectionID, const int& iActIteration, const int& iIterations);
00153 
00155   int m_CurrentIteration;
00156 
00158   int m_Iterations;
00159 
00161   std::string m_sName;
00162 
00164   Setup* m_pStartSetup;
00165 
00167   Setup* m_pStopSetup;
00168 
00170   ControllerCentral m_Central;
00171 };
00172 
00173 
00174 }//End of Namespace free
00175 
00176 #endif

Generated at Sat Oct 13 17:27:25 2007 for f.r.e.e. - Flexible Registration and Evaluation Engine by doxygen 1.5.3 written by Dimitri van Heesch, © 1997-2000