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
1.5.3 written by Dimitri van Heesch,
© 1997-2000