00001 00015 #ifndef INC_SPATMOD_IMAGETARGETBIL_H 00016 #define INC_SPATMOD_IMAGETARGETBIL_H 00017 00018 #ifndef INC_SPATMOD_IMAGETARGET_H 00019 #include <spatmod/imagetarget.h> 00020 #endif 00021 00022 #ifndef INC_MI32_FILEPATH_H 00023 #include <mi32/filepath.h> 00024 #endif 00025 00026 #ifndef INC_MI32_FILERAW_H 00027 #include <mi32/fileraw.h> 00028 #endif 00029 00030 namespace SPATMOD { 00031 namespace IMAGE { 00032 00033 //===================================================================================================================== 00034 00038 class TARGET_BIL : public TARGET { 00039 public: 00040 00043 TARGET_BIL ( 00044 STAGE *pInputStage, 00045 const FILEPATH& filepath 00046 ); 00047 00049 virtual ~TARGET_BIL (); 00050 00052 const FILEPATH& GetFilePath ( 00053 ) const { return (m_filepath); } 00054 00058 void SetBandSpacingBytes ( 00059 UINT32 BandSpacingBytes 00060 ) { m_BandSpacingBytes = BandSpacingBytes; } 00061 00065 void SetFileHeaderBytes ( 00066 UINT32 FileHeaderBytes 00067 ) { m_FileHeaderBytes = FileHeaderBytes; } 00068 00072 void SetFileTrailerBytes ( 00073 UINT32 FileTrailerBytes 00074 ) { m_FileTrailerBytes = FileTrailerBytes; } 00075 00079 void SetRowSpacingBytes ( 00080 UINT32 RowSpacingBytes 00081 ) { m_RowSpacingBytes = RowSpacingBytes; } 00082 00083 protected: 00084 00086 FILE_RAW& GetFile () 00087 { return (m_file); } 00088 00090 FILEPATH& GetFilePath ( 00091 ) { return (m_filepath); } 00092 00094 virtual ERRVALUE v_Initialize (); 00095 00099 virtual ERRVALUE v_PushBegin (const SECTION_ITERATOR& iterator); 00100 00102 virtual ERRVALUE v_PushSubSection (const SECTION& SubSection, const BUFFER& buffer); 00103 00105 virtual ERRVALUE v_PushEnd (); 00106 00107 private: 00108 #ifndef GENERATING_DOXYGEN_OUTPUT 00109 00110 FILEPATH m_filepath; 00111 FILE_RAW m_file; 00112 UINT32 m_FileHeaderBytes; // Space before first row 00113 UINT32 m_RowSpacingBytes; // Space between rows 00114 UINT32 m_BandSpacingBytes; // Space between bands within each row 00115 UINT32 m_FileTrailerBytes; // Space after last row 00116 UINT32 m_RowTotalBytes; 00117 UINT32 *m_BandBytes; 00118 UINT32 *m_BandOffset; 00119 00120 // Unimplemented 00121 TARGET_BIL (const TARGET_BIL&); 00122 TARGET_BIL& operator= (const TARGET_BIL&); 00123 00124 virtual float v_QueryIterator (const SECTION_ITERATOR& iterator) const; 00125 00126 #endif // GENERATING_DOXYGEN_OUTPUT 00127 }; 00128 00129 //===================================================================================================================== 00130 } // End namespace IMAGE 00131 } // End namespace SPATMOD 00132 00133 #endif // INC_SPATMOD_IMAGETARGETBIL_H
1.6.1