00001
00021 #ifndef INC_SPATMOD_IMAGEFILTERREPLACENULL_H
00022 #define INC_SPATMOD_IMAGEFILTERREPLACENULL_H
00023
00024 #ifndef INC_SPATMOD_IMAGEFILTER_H
00025 #include <spatmod/imagefilter.h>
00026 #endif
00027
00028 #ifndef INC_SPATMOD_IMAGEBUFFER_H
00029 #include <spatmod/imagebuffer.h>
00030 #endif
00031
00032 #ifndef INC_SPATMOD_IMAGESECTION_H
00033 #include <spatmod/imagesection.h>
00034 #endif
00035
00036 namespace SPATMOD {
00037 namespace IMAGE {
00038
00039
00040
00043 class FILTER_REPLACENULL : public FILTER {
00044 public:
00045
00048 FILTER_REPLACENULL (
00049 STAGE *pSourceImage,
00050 bool TakeOwnership,
00051 double ValueReplace = 0,
00052 bool MakeValid = true
00053 );
00054
00057 FILTER_REPLACENULL (
00058 STAGE *pSourceImage,
00059 bool TakeOwnership,
00060 const PIXEL& PixelReplace,
00061 bool MakeValid = true
00062 );
00063
00064
00065 virtual ~FILTER_REPLACENULL ();
00066
00067 private:
00068 #ifndef GENERATING_DOXYGEN_OUTPUT
00069 PIXEL m_PixelReplace;
00070 double m_ValueReplace;
00071 bool m_UseValue;
00072 bool m_AllByte;
00073 UINT8 m_NewValidity;
00074 UINT8 *m_NewValueByte;
00075
00076
00077 virtual ERRVALUE v_Initialize ();
00078 virtual ERRVALUE v_PullSubSection (const SECTION& SubSection, BUFFER& buffer);
00079
00080
00081 FILTER_REPLACENULL (const FILTER_REPLACENULL&);
00082 FILTER_REPLACENULL& operator= (const FILTER_REPLACENULL&);
00083 #endif // GENERATING_DOXYGEN_OUTPUT
00084
00085 };
00086
00087
00088
00089 }
00090 }
00091
00092 #endif // INC_SPATMOD_IMAGEFILTERREPLACENULL_H
00093