00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef __freESStrategicParameters_h
00023 #define __freESStrategicParameters_h
00024
00025 #include "freESStrategicParameter.h"
00026
00027 #include "itkVectorContainer.h"
00028
00029 namespace FREE
00030 {
00031
00032 namespace ES
00033 {
00037 template <class TSPValueType>
00038 class ITK_EXPORT StrategicParameters :
00039 public itk::VectorContainer< unsigned long, typename StrategicParameter<TSPValueType>::Pointer >
00040 {
00041 public:
00042
00043 typedef StrategicParameters<TSPValueType> Self;
00044 typedef itk::VectorContainer< unsigned long, typename StrategicParameter<TSPValueType>::Pointer > Superclass;
00045 typedef itk::SmartPointer<Self> Pointer;
00046 typedef itk::SmartPointer<const Self> ConstPointer;
00047
00048
00049 itkNewMacro(Self);
00050
00051
00052 itkTypeMacro(StrategicParameters, itk::VectorContainer);
00053
00054
00055 typedef StrategicParameter<TSPValueType> StrategicParameterType;
00056 typedef typename StrategicParameterType::Pointer StrategicParameterPointer;
00057 typedef typename StrategicParameterType::ParameterValueType StrategicParameterValueType;
00058 typedef typename StrategicParameterType::OriginIDType StrategicOriginIDType;
00059 typedef typename StrategicParameterType::HandlingType StrategicParameterHandlingType;
00060 typedef std::vector<StrategicParameterPointer> SelectedParametersType;
00061
00062 typedef unsigned long ParameterIDType;
00063 typedef std::vector<ParameterIDType> ParameterIDsType;
00064
00065 ParameterIDsType GetStrategicIDs (const StrategicOriginIDType& originID) const;
00066 ParameterIDsType GetStrategicIDs (const StrategicOriginIDType& originID,
00067 StrategicParameterHandlingType handling) const;
00068 ParameterIDsType GetStrategicIDs (StrategicParameterHandlingType handling) const;
00069
00070 SelectedParametersType GetStrategicParameters (const StrategicOriginIDType& originID);
00071 SelectedParametersType GetStrategicParameters (const StrategicOriginIDType& originID, StrategicParameterHandlingType handling);
00072 SelectedParametersType GetStrategicParameters (StrategicParameterHandlingType handling);
00073
00074 void DeleteSelectedStrategicParameters (const ParameterIDsType& ids);
00075
00076 virtual Pointer Clone() const;
00077
00078 void operator=(Self const& parameters);
00079
00080 protected:
00083 StrategicParameters();
00084
00085 virtual ~StrategicParameters(){};
00086
00087 SelectedParametersType SelectStrategicParametersByID (const ParameterIDsType& ids);
00088
00089 virtual void PrintSelf(std::ostream& os, itk::Indent indent) const;
00090
00091 private:
00092 StrategicParameters(Self const&);
00093 };
00094
00095 }
00096 }
00097
00098 #ifndef ITK_MANUAL_INSTANTIATION
00099 #include "freESStrategicParameters.txx"
00100 #endif
00101
00102 #endif // __freESStrategicParameterss_h