freProfileParameter.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: 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

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