00001 00021 #ifndef INC_SPATMOD_IMAGEFILTERMARGIN_H 00022 #define INC_SPATMOD_IMAGEFILTERMARGIN_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 00048 class FILTER_MARGIN : public FILTER { 00049 public: 00050 00052 FILTER_MARGIN ( 00053 STAGE *pSourceImage, 00054 bool TakeOwnership, 00055 UINT32 RowsBefore, 00056 UINT32 ColumnsBefore, 00057 UINT32 RowsAfter, 00058 UINT32 ColumnsAfter 00059 ); 00060 00061 // Destructor. 00062 virtual ~FILTER_MARGIN (); 00063 00064 private: 00065 #ifndef GENERATING_DOXYGEN_OUTPUT 00066 INT32 m_RowsBefore; 00067 INT32 m_ColumnsBefore; 00068 INT32 m_RowsAfter; 00069 INT32 m_ColumnsAfter; 00070 INT32 m_RowsOverlap; 00071 INT32 m_ColumnsOverlap; 00072 BUFFER m_BufRow; 00073 BUFFER m_BufRows[2]; 00074 BUFFER m_BufColumn; 00075 BUFFER m_BufColumns[2]; 00076 int m_LastBufIdxRow; 00077 int m_NextBufIdxRow; 00078 int m_LastBufIdxColumn; 00079 int m_NextBufIdxColumn; 00080 bool m_UseOverlapBuffers; 00081 SECTION_ITERATOR m_TestIterator; 00082 00083 // STAGE/FILTER overrides. 00084 virtual ERRVALUE v_Initialize (); 00085 virtual ERRVALUE v_PullBegin (const SECTION_ITERATOR& iterator); 00086 virtual ERRVALUE v_PullEnd (); 00087 virtual ERRVALUE v_PullSubSection (const SECTION& SubSection, BUFFER& buffer); 00088 00089 // Unimplemented 00090 FILTER_MARGIN (const FILTER_MARGIN&); 00091 FILTER_MARGIN& operator= (const FILTER_MARGIN&); 00092 #endif // GENERATING_DOXYGEN_OUTPUT 00093 00094 }; 00095 00096 //===================================================================================================================== 00097 00098 } // End namespace IMAGE 00099 } // End namespace SPATMOD 00100 00101 #endif // INC_SPATMOD_IMAGEFILTERMARGIN_H 00102
1.6.1