freStatisticValueDefinition.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: freStatisticValueDefinition.h,v $
00007   Language:  C++
00008 
00009 
00010   Copyright (c) 2007 Ralf o Floca (Department of Medical Informatics,
00011   Institute for Medical Biometry and Informatics, University of Heidelberg,
00012   Germany). All rights reserved.
00013   See FREECopyright.txt or http://www.mi.med.uni-hd.de/free/copyright.htm
00014   for details.
00015 
00016      This software is distributed WITHOUT ANY WARRANTY; without even 
00017      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
00018      PURPOSE.  See the above copyright notices for more information.
00019 
00020 =========================================================================*/
00021 #ifndef __freStatisticValueDefinition_h
00022 #define __freStatisticValueDefinition_h
00023 
00024 #include "freElementals.h"
00025 #include "freXMLStreamObject.h"
00026 
00027 namespace FREE
00028 {
00029 
00030 freXMLTagMacro(StatisticValueReference, "freStat:RefID");
00031 freXMLTagMacro(StatisticValueDefinition, "freStat:ValueDefinition");
00032 freXMLTagMacro(StatisticValueDefName, "freStat:Name");
00033 freXMLTagMacro(StatisticValueDefType, "freStat:Type");
00034 freXMLTagMacro(StatisticValueDefDescription, "freStat:Description");
00035 freXMLTagMacro(StatisticValueDefIDPath, "freStat:ComponentIDPath");
00036 
00044 class StatisticValueDefinition: public XMLStreamObject, public itk::LightObject
00045 {
00046 public:
00047   typedef StatisticValueDefinition  Self;
00048   typedef itk::LightObject Superclass;
00049   typedef itk::SmartPointer<Self>        Pointer;
00050   typedef itk::SmartPointer<const Self>  ConstPointer;
00051 
00052         itkTypeMacro(StatisticValueDefinition, XMLStreamObject);
00053   itkNewMacro(StatisticValueDefinition);
00054 
00055   typedef unsigned long IDType;
00056   
00058   virtual void Reset();
00059 
00060   void SetName(const std::string& sName)
00061   {m_sName = sName;};
00062 
00063   const std::string& GetName() const
00064   {return m_sName;};
00065 
00066   void SetIDPath(const std::string& sIDPath)
00067   {m_sIDPath = sIDPath;};
00068 
00069   const std::string& GetIDPath() const
00070   {return m_sIDPath;};
00071 
00072   void SetDescription(const std::string& sDescription)
00073   {m_sDescription = sDescription;};
00074 
00075   const std::string& GetDescription() const
00076   {return m_sDescription;};
00077 
00078   void SetType(const std::string& sType)
00079   {m_sType = sType;};
00080 
00081   const std::string& GetType() const
00082   {return m_sType;};
00083 
00084   void SetRefID(const IDType& id)
00085   {m_RefID = id;};
00086 
00087   const IDType& GetRefID() const
00088   {return m_RefID;};
00089 
00091   virtual StatisticValueDefinition& operator = (const StatisticValueDefinition& rEntry);
00092 
00093 protected:
00094   std::string m_sName;
00095   std::string m_sIDPath;
00096   std::string m_sDescription;
00097   std::string m_sType;
00098   IDType m_RefID;
00099 
00100   StatisticValueDefinition();
00101   virtual ~StatisticValueDefinition();
00102 
00104   virtual void SubElementLoadProcessing(const std::string& rsXMLSubTag, const std::string& rsXMLSubElement, const std::string& rsXMLSubData);
00105 
00107   virtual std::string SaveData(const unsigned int& iDepth, bool& bHasSubElements) const;
00108 };
00109 
00110 } //end of namespace FREE
00111 
00112 #endif

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