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: freControllerProfile.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 __freControllerProfile_h 00023 #define __freControllerProfile_h 00024 00025 #include "freControllerProfileBase.h" 00026 #include "freProfileRequirements.h" 00027 00028 00029 namespace FREE 00030 { 00031 namespace CtrlProfile 00032 { 00033 00043 class ControllerProfile : public ControllerProfileBase 00044 { 00045 public: 00046 typedef ControllerProfile Self; 00047 typedef ControllerProfileBase Superclass; 00048 typedef itk::SmartPointer<Self> Pointer; 00049 typedef itk::SmartPointer<const Self> ConstPointer; 00050 00051 itkTypeMacro(ControllerProfile, ControllerProfileBase); 00052 itkNewMacro(ControllerProfile); 00053 00054 const ProfileRequirements& Requirements() const { return m_Requirements; }; 00055 ProfileRequirements& Requirements() { return m_Requirements; }; 00056 00058 ControllerProfile& operator = (const ControllerProfile& rProfile); 00059 00060 virtual void Reset(); 00061 00062 protected: 00063 ControllerProfile(); 00064 00065 virtual ~ControllerProfile(); 00066 00068 virtual void SubElementLoadProcessing(const std::string& rsXMLSubTag, const std::string& rsXMLSubElement, const std::string& rsXMLSubData); 00069 00071 virtual std::string SaveData(const unsigned int& iDepth, bool& bHasSubElements) const; 00072 00074 virtual void SetNeededSubElements(); 00075 00077 ProfileRequirements m_Requirements; 00078 00079 private: 00081 ControllerProfile( const ControllerProfile& rProfile ); 00082 }; 00083 00084 }//end of namespace CtrlProfile 00085 }//end of namespace FREE 00086 00087 #endif
1.5.3 written by Dimitri van Heesch,
© 1997-2000