freProfileMedia.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: freProfileMedia.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 __freProfileMedia_h
00023 #define __freProfileMedia_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 Media: public FREE::XMLStreamObject, public itk::LightObject
00044 {
00045 public:  
00046   typedef Media  Self;
00047   typedef XMLStreamObject Superclass;
00048   typedef itk::SmartPointer<Self>        Pointer;
00049   typedef itk::SmartPointer<const Self>  ConstPointer;
00050 
00051   itkTypeMacro(Media, XMLStreamObject );
00052 
00053   itkNewMacro(Media);
00054 
00055   typedef MediaDomainDimensionType DimensionType;
00056   //The dimension 0 means that the IOFact represents all possible dimensions.
00057   static const DimensionType DT_AllDimensions;  
00058 
00059   void SetName(const std::string& sName) {m_Name = sName; };
00060   std::string GetName() const { return m_Name; };
00061 
00062   void SetAccess(const DataAccessType& da) {m_Access = da; };
00063   DataAccessType GetAccess() const { return m_Access; };
00064 
00065   void SetDimension(DimensionType dimension) {m_Dimension = dimension; };
00066   DimensionType GetDimension() const { return m_Dimension; };
00067 
00068   void SetDataType(const std::string& typeID) {m_MediaType = typeID; };
00069   const std::string& GetDataType() const { return m_MediaType; };
00070 
00071   void SetInternal(bool bInternal) {m_bInternal = bInternal; };
00072   bool GetInternal() const { return m_bInternal; };
00073 
00074   void SetIsTemplate(bool bTemplate) {m_bTemplate = bTemplate; };
00075   bool GetIsTemplate() const { return m_bTemplate; };
00076 
00077   void SetGroup(unsigned int iGroup) {m_iGroup = iGroup; };
00078   unsigned int GetGroup() const { return m_iGroup; };
00079 
00080         virtual void Reset();
00081 
00083   virtual Media& operator = (const Media& Media);
00084 
00085 protected:
00086   Media();
00087  
00088   virtual ~Media();
00089 
00091   virtual void AttributesLoadProcessing(const AttributesType& rAttributes);
00092 
00094   virtual void SaveAttributes(AttributesSaveListType& rAttributes) const;
00095 
00096   std::string m_Name;
00097 
00099   DataAccessType m_Access;
00100 
00102   DimensionType m_Dimension;
00103 
00105   std::string m_MediaType;
00106 
00111         bool m_bInternal;
00112 
00115         bool m_bTemplate;
00116 
00124         unsigned int m_iGroup;
00125 
00126 private:
00128   Media( const Media& Media);
00129 };
00130 
00131 }//end of namespace CtrlProfile
00132 }//end of namespace FREE
00133 
00134 #endif

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