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: freStatistics.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 __freStatistics_h 00023 #define __freStatistics_h 00024 00025 #include "freElementals.h" 00026 #include "freStatisticData.h" 00027 #include "freStatisticDictionary.h" 00028 00029 namespace FREE 00030 { 00031 00032 freXMLTagMacro(Statistic, "freStat:Statistic"); 00033 freXMLTagMacro(StatisticDescription, "freStat:Description"); 00034 freXMLTagMacro(StatisticTag, "freStat:Tag"); 00035 freXMLTagMacro(StatisticTagKey, "freStat:TagKey"); 00036 00046 class Statistics : public XMLStreamObject 00047 { 00048 public: 00049 StatisticData& GetData() { return *(m_smpData.GetPointer());}; 00050 StatisticDictionary& GetDictionary() { return *(m_smpDictionary.GetPointer());}; 00051 00052 std::string m_sDescription; 00053 00054 typedef std::map<std::string,std::string> StatisticsTagMapTyp; 00055 00056 StatisticsTagMapTyp& GetTags() { return m_Tags; }; 00057 const StatisticsTagMapTyp& GetTags() const { return m_Tags; }; 00058 00059 Statistics(); 00060 virtual ~Statistics(); 00061 00063 virtual void Reset(); 00064 00065 protected: 00066 StatisticData::Pointer m_smpData; 00067 StatisticDictionary::Pointer m_smpDictionary; 00068 00069 StatisticsTagMapTyp m_Tags; 00070 00072 virtual void SubElementLoadProcessing(const std::string& rsXMLSubTag, const std::string& rsXMLSubElement, const std::string& rsXMLSubData); 00073 00075 virtual std::string SaveData(const unsigned int& iDepth, bool& bHasSubElements) const; 00076 00078 virtual void SaveAttributes(AttributesSaveListType& rAttributes) const; 00079 }; 00080 00081 } //end of namespace FREE 00082 00083 #endif
1.5.3 written by Dimitri van Heesch,
© 1997-2000