00001 00030 #ifndef INC_SPATMOD_IMAGESOURCEMEMORY_H 00031 #define INC_SPATMOD_IMAGESOURCEMEMORY_H 00032 00033 #ifndef INC_SPATMOD_IMAGESOURCE_H 00034 #include <spatmod/imagesource.h> 00035 #endif 00036 00037 #ifndef INC_SPATMOD_IMAGEBUFFER_H 00038 #include <spatmod/imagebuffer.h> 00039 #endif 00040 00041 namespace SPATMOD { 00042 namespace IMAGE { 00043 00044 //===================================================================================================================== 00045 00047 class SOURCE_MEMORY : public SOURCE { 00048 public: 00049 00052 explicit SOURCE_MEMORY ( 00053 const IMAGE::BASE& RefImage 00054 ); 00055 00057 explicit SOURCE_MEMORY ( 00058 const IMAGE::BUFFER& buffer, 00059 const IMAGE::PIXELTABLE *pPixelTable = 0 00060 ); 00061 00062 // Destructor. 00063 virtual ~SOURCE_MEMORY (); 00064 00068 ERRVALUE AttachBuffer ( 00069 const IMAGE::BUFFER& buffer 00070 ); 00071 00075 ERRVALUE CopyFromBuffer ( 00076 const IMAGE::BUFFER& buffer 00077 ); 00078 00080 const IMAGE::BUFFER& GetBuffer ( 00081 ) const { return (m_Buffer); } 00082 00083 private: 00084 #ifndef GENERATING_DOXYGEN_OUTPUT 00085 typedef SOURCE BASECLASS; 00086 00087 IMAGE::BUFFER m_Buffer; 00088 00089 // BASE overrides. 00090 virtual float v_QueryIterator (const SECTION_ITERATOR& iterator) const; 00091 00092 // STAGE overrides. 00093 virtual ERRVALUE v_Initialize (); 00094 virtual ERRVALUE v_PullBegin (const SECTION_ITERATOR& iterator); 00095 virtual ERRVALUE v_PullSubSection (const SECTION& SubSection, BUFFER& buffer); 00096 00097 // Unimplemented 00098 SOURCE_MEMORY (const SOURCE_MEMORY&); 00099 SOURCE_MEMORY& operator= (const SOURCE_MEMORY&); 00100 #endif // GENERATING_DOXYGEN_OUTPUT 00101 00102 }; 00103 00104 //===================================================================================================================== 00105 00106 } // End namespace IMAGE 00107 } // End namespace SPATMOD 00108 00109 #endif // INC_SPATMOD_IMAGESOURCEMEMORY_H 00110
1.6.1