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: freSVNonLinearOptimizerControllerBase.txx,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 __freSVNonLinearOptimizerControllerBase_txx 00023 #define __freSVNonLinearOptimizerControllerBase_txx 00024 00025 #include "freSVNonLinearOptimizerControllerBase.h" 00026 #include "freOptimizerOwnerControllerInterface.h" 00027 00028 namespace FREE 00029 { 00030 00031 template <class TControlledOptimizer> 00032 SVNonLinearOptimizerControllerBase<TControlledOptimizer>:: 00033 SVNonLinearOptimizerControllerBase() 00034 { 00035 this->UpdateControllerID(ControllerID::SVNonLinearOptimizerControllerBase); 00036 this->m_Description = "Base controller for single value itk optimizers."; 00037 }; 00038 00039 template <class TControlledOptimizer> 00040 void 00041 SVNonLinearOptimizerControllerBase<TControlledOptimizer>:: 00042 GenerateProfile(CtrlProfile::ControllerProfile& profile, 00043 const SessionComponentCache* pComponentCache, 00044 bool bRegardOldSetup) const 00045 { 00046 Superclass::GenerateProfile(profile,pComponentCache,bRegardOldSetup); 00047 00048 //component owning the optimizer 00049 CtrlProfile::ProfileOption* pOption; 00050 pOption = profile.Requirements().AddRequirement(cIDPParent)->AddProfileOption(); 00051 pOption->Inheritance().AddAncestor(ControllerID::OptimizerOwnerControllerBase); 00052 pOption->CheckForInheritance(); 00053 //parent component should be a legal optimizer owner, thus provide the posibility to ask 00054 //for optimization direction 00055 }; 00056 00057 template <class TControlledOptimizer> 00058 SVNonLinearOptimizerControllerBase<TControlledOptimizer>:: 00059 ~SVNonLinearOptimizerControllerBase() 00060 { 00061 }; 00062 00063 00064 } //end of namespace FREE 00065 00066 #endif
1.5.3 written by Dimitri van Heesch,
© 1997-2000