|
|
PDS_JP2
|
00001 /* PDS_Data_Block 00002 00003 HiROC CVS ID: PDS_Data_Block.hh,v 1.8 2007/08/06 07:53:52 castalia Exp 00004 00005 Copyright (C) 2006-2007 Arizona Board of Regents on behalf of the 00006 Planetary Image Research Laboratory, Lunar and Planetary Laboratory at 00007 the University of Arizona. 00008 00009 This program is free software; you can redistribute it and/or modify it 00010 under the terms of the GNU General Public License, version 2, as 00011 published by the Free Software Foundation. 00012 00013 This program is distributed in the hope that it will be useful, but 00014 WITHOUT ANY WARRANTY; without even the implied warranty of 00015 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00016 General Public License for more details. 00017 00018 You should have received a copy of the GNU General Public License along 00019 with this program; if not, write to the Free Software Foundation, Inc., 00020 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 00021 */ 00022 00023 #ifndef _PDS_Data_Block_ 00024 #define _PDS_Data_Block_ 00025 00026 #include "PDS_Data.hh" 00027 00028 #include <string> 00029 #include <iosfwd> 00030 00031 00032 namespace UA 00033 { 00034 namespace HiRISE 00035 { 00054 class PDS_Data_Block 00055 : public PDS_Data 00056 { 00057 public: 00058 /*============================================================================== 00059 Constants: 00060 */ 00062 static const char* const 00063 ID; 00064 00066 static const char 00067 *BLOCK_WIDTH_PARAMETER_NAME; 00068 00070 static const char 00071 *BLOCK_HEIGHT_PARAMETER_NAME; 00072 00073 /*============================================================================== 00074 Constructors: 00075 */ 00078 PDS_Data_Block (); 00079 00089 PDS_Data_Block 00090 ( 00091 const idaeim::PVL::Aggregate& parameters, 00092 std::ios::off_type file_offset 00093 ); 00094 00095 /*============================================================================== 00096 Accessors: 00097 */ 00102 std::ios::off_type location () 00103 {return Location;} 00104 00109 unsigned long long size () 00110 {return Size;} 00111 00112 /*============================================================================== 00113 Data: 00114 */ 00115 protected: 00116 00118 std::ios::off_type 00119 Location; 00120 00122 unsigned long long 00123 Size; 00124 00137 virtual unsigned long long data_block_size (); 00138 00139 }; // class PDS_Data_Block 00140 00141 } // namespace HiRISE 00142 } // namespace UA 00143 #endif
1.4.6