00001 00021 #ifndef INC_MI32_RASTERFILTERPARMS_H 00022 #define INC_MI32_RASTERFILTERPARMS_H 00023 00024 #ifndef INC_RVC_SPATFILT_H 00025 #include <rvc/spatfilt.h> 00026 #endif 00027 00028 #ifndef INC_SPATMOD_IMAGESTAGEAUTOPTR_H 00029 #include <spatmod/imagestageautoptr.h> 00030 #endif 00031 00032 #ifndef INC_SPATMOD_IMAGESTAG_H 00033 #include <spatmod/imagestage.h> 00034 #endif 00035 00036 #ifndef GENERATING_DOXYGEN_OUTPUT 00037 class SERIALIZERITEM; 00038 class MIMATRIX; 00039 #endif 00040 00042 class RASTER_FILTER_PARMS { 00043 public: 00044 00046 enum GRADIENTTYPE { 00047 GRADIENTTYPE_Sobel = 0, 00048 GRADIENTTYPE_Roberts = 1, 00049 GRADIENTTYPE_Prewitt = 2, 00050 GRADIENTTYPE_UserDefined = 3 00051 }; 00052 00054 RASTER_FILTER_PARMS ( 00055 ); 00056 00058 ~RASTER_FILTER_PARMS ( 00059 ); 00060 00062 double GetAmount() const {return m_Amount;} 00063 00065 void SetAmount(double Amount) {m_Amount = Amount;} 00066 00068 void GetMatrixA(MIMATRIX& Matrix) const; 00069 00071 void SetMatrixA(const MIMATRIX& MatrixA); 00072 00074 void GetMatrixB(MIMATRIX& Matrix) const; 00075 00077 void SetMatrixB(const MIMATRIX& MatrixB); 00078 00080 UINT32 GetNumRows() const {return m_NumRows;} 00081 00083 void SetNumRows(UINT32 NumRows) {m_NumRows = NumRows;} 00084 00086 UINT32 GetNumColumns() const {return m_NumColumns;} 00087 00089 void SetNumColumns(UINT32 NumColumns) {m_NumColumns = NumColumns;} 00090 00092 RVC::SPATIALFILTER::FILTERTYPE GetFilterType() const {return m_FilterType;} 00093 00095 void SetFilterType(RVC::SPATIALFILTER::FILTERTYPE FilterType) {m_FilterType = FilterType;} 00096 00098 GRADIENTTYPE GetGradientType() const {return m_GradientType;} 00099 00101 void SetGradientType(GRADIENTTYPE GradientType) {m_GradientType = GradientType;} 00102 00104 double GetParamA() const {return m_ParamA;} 00105 00107 void SetParamA(double ParamA) {m_ParamA = ParamA;} 00108 00110 double GetParamB() const {return m_ParamB;} 00111 00113 void SetParamB(double ParamB) {m_ParamB = ParamB;} 00114 00116 bool IsEnabled() const {return m_IsEnabled;} 00117 00119 void SetEnabled ( 00120 bool bIsEnabled 00121 ) { m_IsEnabled = bIsEnabled; } 00122 00124 static const SERIALIZERITEM* SerialGetItemDef (); 00125 00127 ERRVALUE CreateFilter( 00128 SPATMOD::IMAGE::STAGE *pSourceImage, 00129 bool TakeOwnershipSource, 00130 SPATMOD::IMAGE::STAGE_AUTOPTR &PtrStage 00131 ); 00132 00134 ERRVALUE CreateFilter( 00135 SPATMOD::IMAGE::STAGE *pSourceImage, 00136 bool TakeOwnershipSource, 00137 SPATMOD::IMAGE::STAGE *pMaskImage, 00138 bool TakeOwnershipMask, 00139 SPATMOD::IMAGE::STAGE_AUTOPTR &PtrStage 00140 ); 00141 00142 private: 00143 #ifndef GENERATING_DOXYGEN_OUTPUT 00144 typedef RASTER_FILTER_PARMS THISCLASS; 00145 00146 RVC::SPATIALFILTER::FILTERTYPE m_FilterType; //filter type 00147 00148 DOUBLE_ARRAY<double> m_ArrayA; //store kernel A as DOUBLE_ARRAY for serialization 00149 DOUBLE_ARRAY<double> m_ArrayB; //store kernel B as DOUBLE_ARRAY for serialization 00150 00151 UINT32 m_NumRows; //Number of rows in kernel 00152 UINT32 m_NumColumns; //Number of columns in kernel 00153 GRADIENTTYPE m_GradientType; //gradient type 00154 double m_ParamA; //Value of parameter A 00155 double m_ParamB; //Value of parameter B 00156 double m_Amount; //Amount of filter to be applied 00157 00158 bool m_IsEnabled; //Sets whether filtering is on 00159 00160 #endif 00161 }; 00162 00163 #endif //INC_MGUI_FORMFILTRAST_H 00164
1.6.1