freProfileSubComponent.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: freProfileSubComponent.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 __freProfileSubComponent_h
00023 #define __freProfileSubComponent_h
00024 
00025 #include "freElementals.h"
00026 #include "freXMLStreamObject.h"
00027 #include "freExceptions.h"
00028 
00029 #include "itkLightObject.h"
00030 
00031 namespace FREE
00032 {
00033 namespace CtrlProfile
00034 {
00043 class SubComponent: public FREE::XMLStreamObject, public itk::LightObject
00044 {
00045 public:  
00046   typedef SubComponent  Self;
00047   typedef itk::LightObject Superclass;
00048   typedef itk::SmartPointer<Self>        Pointer;
00049   typedef itk::SmartPointer<const Self>  ConstPointer;
00050 
00051         itkTypeMacro(SubComponent, XMLStreamObject);
00052   itkNewMacro(SubComponent);
00053 
00054   void SetComponentID(const std::string& sComponentID) {m_sComponentID = sComponentID; };
00055   std::string GetComponentID() const { return m_sComponentID; };
00056 
00057   void SetDescription(const std::string& sDescription) {m_sDescription = sDescription; };
00058   std::string GetDescription() const { return m_sDescription; };
00059 
00060   void SetIsRequired(unsigned int iRequired) {m_iRequired = iRequired; };
00061   unsigned int GetIsRequired() const { return m_iRequired; };
00062 
00063   void SetControllerID(const std::string& sControllerID) { m_sControllerID = sControllerID; };
00064   std::string GetControllerID() const { return m_sControllerID; };
00065 
00066   void SetInternal(bool bInternal) {m_bInternal = bInternal; };
00067   bool GetInternal() const { return m_bInternal; };
00068 
00069   void SetIsTemplate(bool bTemplate) {m_bTemplate = bTemplate; };
00070   bool GetIsTemplate() const { return m_bTemplate; };
00071 
00072   virtual void Reset();
00073 
00075   virtual SubComponent& operator = (const SubComponent& rSubComponent);
00076 
00077 protected:
00078   SubComponent();
00079 
00080   virtual ~SubComponent();
00081 
00083   virtual void AttributesLoadProcessing(const AttributesType& rAttributes);
00084 
00086   virtual void SaveAttributes(AttributesSaveListType& rAttributes) const;
00087 
00089   virtual void SubElementLoadProcessing(const std::string& rsXMLSubTag, const std::string& rsXMLSubElement, const std::string& rsXMLSubData);
00090 
00092   virtual std::string SaveData(const unsigned int& iDepth, bool& bHasSubElements) const;
00093 
00096   std::string m_sComponentID;
00097 
00099   std::string m_sDescription;
00100 
00103   std::string m_sControllerID;
00104 
00108   unsigned int m_iRequired;
00109 
00113         bool m_bInternal;
00114 
00117         bool m_bTemplate;
00118 
00119 private:
00120     SubComponent( const SubComponent& rSubComponent); //suppressing default generation
00121 };
00122 
00123 }//end of namespace CtrlProfile
00124 }//end of namespace FREE
00125 
00126 #endif

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