00001 00025 #ifndef INC_SPATMOD_IMAGESOURCEREGION_H 00026 #define INC_SPATMOD_IMAGESOURCEREGION_H 00027 00028 #ifndef INC_SPATMOD_IMAGESOURCE_H 00029 #include <spatmod/imagesource.h> 00030 #endif 00031 00032 #ifndef INC_MI32_REGION2D_H 00033 #include <mi32/region2d.h> 00034 #endif 00035 00036 00037 #ifndef GENERATING_DOXYGEN_OUTPUT 00038 class TRANS2D_MAPGEN; 00039 namespace RVC { 00040 class OBJITEM; 00041 } 00042 #endif 00043 00044 00045 namespace SPATMOD { 00046 namespace IMAGE { 00047 00048 //===================================================================================================================== 00049 00052 class SOURCE_REGION : public SOURCE { 00053 public: 00054 00058 SOURCE_REGION ( 00059 const REGION2D& Region, 00060 const BASE &RefImage, 00061 double MemoryMaxUsage = 4.0 00062 ); 00063 00067 SOURCE_REGION ( 00068 const REGION2D& Region, 00069 const TRANS2D_MAPGEN& TransToCRS, 00070 00071 00072 UINT32 TotalColumns, 00073 UINT32 TotalRows, 00074 double MemoryMaxUsage = 4.0 00075 ); 00076 00078 virtual ~SOURCE_REGION (); 00079 00083 const LRECT2D& GetRegionExtents ( 00084 ) const { return (m_RegionImageExtents); } 00085 00086 private: 00087 #ifndef GENERATING_DOXYGEN_OUTPUT 00088 SOURCE *m_pCache; 00089 double m_MemoryMaxUsage; 00090 bool m_UseMemory; 00091 REGION2D m_Region; 00092 LRECT2D m_RegionImageExtents; 00093 RVC::OBJITEM *m_pObjItemTempRaster; 00094 00095 // BASE overrides. 00096 virtual float v_QueryIterator (const SECTION_ITERATOR& iterator) const; 00097 00098 // STAGE overrides. 00099 virtual ERRVALUE v_Initialize (); 00100 virtual ERRVALUE v_PullBegin (const SECTION_ITERATOR& iterator); 00101 virtual ERRVALUE v_PullEnd (); 00102 virtual ERRVALUE v_PullSubSection (const SECTION& SubSection, BUFFER& buffer); 00103 00104 // Unimplemented 00105 SOURCE_REGION (const SOURCE_REGION&); 00106 SOURCE_REGION& operator= (const SOURCE_REGION&); 00107 #endif // GENERATING_DOXYGEN_OUTPUT 00108 00109 }; 00110 00111 //===================================================================================================================== 00112 00113 } // End namespace IMAGE 00114 } // End namespace SPATMOD 00115 00116 #endif // INC_SPATMOD_IMAGESOURCEREGION_H 00117
1.6.1