00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef __freESStrategicParameter_h
00023 #define __freESStrategicParameter_h
00024
00025 #include "itkLightObject.h"
00026
00027 namespace FREE
00028 {
00029
00030 namespace ES
00031 {
00035 template <class TValueType>
00036 class ITK_EXPORT StrategicParameter :
00037 public itk::LightObject
00038 {
00039 public:
00040
00041 typedef StrategicParameter<TValueType> Self;
00042 typedef itk::LightObject Superclass;
00043 typedef itk::SmartPointer<Self> Pointer;
00044 typedef itk::SmartPointer<const Self> ConstPointer;
00045
00046
00047 itkNewMacro(Self);
00048
00049
00050 itkTypeMacro(StrategicParameter, LightObject);
00051
00052
00053 typedef TValueType ParameterValueType;
00054 typedef std::string OriginIDType;
00055
00056 enum HandlingType
00057 {
00058 HStatic,
00059 HDynamic
00060 };
00061
00062 bool operator == (const ParameterValueType& value) const {return value==m_Value;};
00063
00064 void operator = (const ParameterValueType& value) {m_Value = value;};
00065 void operator = (const Self& parameter);
00066
00067 operator ParameterValueType () const {return m_Value;};
00068 operator ParameterValueType& () {return m_Value;};
00069
00070 ParameterValueType& GetValue() {return m_Value;};
00071 const ParameterValueType& GetValue() const {return m_Value;};
00072 void SetValue(const ParameterValueType& value) { m_Value = value;};
00073
00074 const OriginIDType& GetOrigin() const {return m_Origin;};
00075 void SetOrigin(const OriginIDType& origin) { m_Origin = origin;};
00076
00077 const HandlingType& GetHandling() const {return m_Handling;};
00078 void SetHandling(const HandlingType& handling) { m_Handling = handling;};
00079
00080 Pointer Clone() const;
00081
00082 protected:
00083 ParameterValueType m_Value;
00084 OriginIDType m_Origin;
00085 HandlingType m_Handling;
00086
00089 StrategicParameter(){}
00090 virtual ~StrategicParameter(){}
00091
00092 private:
00093 StrategicParameter(Self const&);
00094 };
00095
00096 }
00097 }
00098
00099 #ifndef ITK_MANUAL_INSTANTIATION
00100 #include "freESStrategicParameter.txx"
00101 #endif
00102
00103 #endif // __freESStrategicParameter_h