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
1.5.3 written by Dimitri van Heesch,
© 1997-2000