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: freSessionInfo.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 __freSessionInfo_h 00023 #define __freSessionInfo_h 00024 00025 #include "freSetup.h" 00026 #include "freSessionComponentCache.h" 00027 #include "freStatistics.h" 00028 00029 namespace FREE 00030 { 00031 00041 class SessionInfo : public itk::LightObject 00042 { 00043 public: 00044 typedef SessionInfo Self; 00045 typedef itk::LightObject Superclass; 00046 typedef itk::SmartPointer<Self> Pointer; 00047 typedef itk::SmartPointer<const Self> ConstPointer; 00048 00049 itkTypeMacro(SessionInfo, LightObject); 00050 00051 static Pointer New(Setup* pSetup); 00052 00053 typedef SessionComponentCache::ComponentCacheCollectionType ComponentCacheCollectionType; 00054 00057 Setup* GetSetup() const; 00058 00059 void SetSetup(Setup* pSetup); 00060 00063 const SessionComponentCache* GetSessionCache() const; 00064 SessionComponentCache* GetSessionCache(); 00065 00068 const ComponentCacheCollectionType& GetComponentCaches() const; 00069 ComponentCacheCollectionType& GetComponentCaches(); 00070 00076 void SetStatistic(Statistics* pStatistic) 00077 { if (m_pStatistic != pStatistic) m_pStatistic = pStatistic; }; 00081 inline const Statistics* GetStatistic() const { return m_pStatistic; }; 00082 inline Statistics* GetStatistic() { return m_pStatistic; }; 00083 00088 SessionComponentCache* GetCacheByIDPath(const IDPath& idPath) const; 00089 00091 virtual SessionInfo& operator = (const SessionInfo& rSessionInfo); 00092 00093 protected: 00096 SessionInfo(Setup* pSetup); 00097 00099 Setup* m_pSetup; 00100 00102 SessionComponentCache::Pointer m_smpRootCache; 00103 00106 Statistics* m_pStatistic; 00107 00108 private: 00110 SessionInfo( const SessionInfo& rSessionInfo ); 00111 }; 00112 00113 }//end of namespace FREE 00114 00115 #endif
1.5.3 written by Dimitri van Heesch,
© 1997-2000