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: freProfileParameter.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 __freProfileParameter_h 00023 #define __freProfileParameter_h 00024 00025 #include "freElementals.h" 00026 #include "freParameter.h" 00027 #include "freExceptions.h" 00028 00029 namespace FREE 00030 { 00031 namespace CtrlProfile 00032 { 00041 class Parameter: public FREE::Parameter 00042 { 00043 public: 00044 typedef Parameter Self; 00045 typedef FREE::Parameter Superclass; 00046 typedef itk::SmartPointer<Self> Pointer; 00047 typedef itk::SmartPointer<const Self> ConstPointer; 00048 00049 itkTypeMacro( Parameter, XMLStreamObject ); 00050 00051 itkNewMacro(Parameter); 00052 00053 void SetHint(std::string sHint) {m_sHint = sHint; }; 00054 std::string GetHint() const { return m_sHint; }; 00055 00056 bool GetIsArbitrarilyLayered() const { return m_iLayerCount==-1; }; 00057 00058 void SetLayerCount(int iLayerCount) {m_iLayerCount = iLayerCount; }; 00059 00065 int GetLayerCount() const { return m_iLayerCount; }; 00066 00067 void SetIsMultiResDynamic(bool bDynamic) {m_bDynamic = bDynamic; }; 00068 bool GetIsMultiResDynamic() const { return m_bDynamic; }; 00069 00070 void SetInternal(bool bInternal) {m_bInternal = bInternal; }; 00071 bool GetInternal() const { return m_bInternal; }; 00072 00073 void SetParameterSize(ValueCountType iSize); 00074 00075 void SetValueType(ParameterValueType valueType) {m_ValueType = valueType; }; 00076 ParameterValueType GetValueType() const { return m_ValueType; }; 00077 00078 void SetGroup(unsigned int iGroup) {m_iGroup = iGroup; }; 00079 unsigned int GetGroup() const { return m_iGroup; }; 00080 00081 void SetAccess(const DataAccessType& da) {m_Access = da; }; 00082 DataAccessType GetAccess() const { return m_Access; }; 00083 00084 bool GetHasDefault() const { return this->LayerCount()>0; }; 00085 00086 virtual void Reset(); 00087 00089 virtual Parameter& operator = (const Parameter& rParameter); 00090 00091 protected: 00092 Parameter(); 00093 00094 virtual ~Parameter(); 00095 00097 virtual void AttributesLoadProcessing(const AttributesType& rAttributes); 00098 00100 virtual void SaveAttributes(AttributesSaveListType& rAttributes) const; 00101 00104 std::string m_sHint; 00105 00108 int m_iLayerCount; 00109 00114 bool m_bDynamic; 00115 00117 ParameterValueType m_ValueType; 00118 00122 bool m_bInternal; 00123 00125 DataAccessType m_Access; 00126 00131 unsigned int m_iGroup; 00132 00133 private: 00134 Parameter( const Parameter& rParameter); //suppressing default copy constructor 00135 00136 }; 00137 00138 }//end of namespace CtrlProfile 00139 00140 }//end of namespace FREE 00141 00142 #endif
1.5.3 written by Dimitri van Heesch,
© 1997-2000