OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
ossimJ2kTlmRecord.h
Go to the documentation of this file.
1 //---
2 //
3 // License: MIT
4 //
5 // Author: David Burken
6 //
7 // Description: Container class declaration for J2K Tile-part lengths record.
8 // See document BPJ2K01.10 Table 7-21 for detailed description.
9 //
10 // $Id$
11 //---
12 
13 #ifndef ossimJ2kTlmRecord_HEADER
14 #define ossimJ2kTlmRecord_HEADER 1
15 
17 #include <ossim/base/ossimIosFwd.h>
18 #include <string>
19 
21 {
22 public:
23 
26 
29 
37  void parseStream(ossim::istream& in);
38 
46  void writeStream(std::ostream& out);
47 
52  ossim_uint8 getZtlm() const;
53 
58  ossim_uint8 getSt() const;
59 
71  bool setSt(ossim_uint8 bits );
72 
74  ossim_uint8 getSp() const;
75 
86  bool setSp(ossim_uint8 bit );
87 
89  ossim_uint16 getTileCount() const;
90 
98  bool getTileLength( ossim_int32 index,
99  ossim_uint32& length ) const;
100 
107  bool setTileLength( ossim_int32 index,
108  ossim_uint32 length );
109 
123  bool accumulate( ossim_int32 first, ossim_int32 last, std::streampos& init ) const;
124 
133  bool initPtlmArray( ossim_uint8 spBit, ossim_uint16 count );
134 
135 
146  const std::string& prefix=std::string()) const;
147 
150  std::ostream& out, const ossimJ2kTlmRecord& obj);
151 
152 private:
153 
155  void clear();
156 
158  void clearTtlm();
159 
161  void clearPtlm();
162 
167  ossim_uint16 computeLength( ossim_uint16 tileCount ) const;
168 
173 
179 
195 
202  void* m_Ttlm;
203 
213  void* m_Ptlm;
214 
215 
216 
217 };
218 
219 #endif /* End of "#ifndef ossimJ2kTlmRecord_HEADER" */
ossim_uint8 m_Stlm
Indicator for Ttlm and Ptlm field sizes.
void * m_Ptlm
The length, in bytes, from the beginning of the SOT marker of the tile-part to the end of the codestr...
std::ostream & print(H5::H5File *file, std::ostream &out)
Print method.
Definition: ossimH5Util.cpp:41
unsigned short ossim_uint16
ossim_uint16 m_Ltlm
NOTE: tml segmet marker 0xff55 not stored.
ostream & operator<<(ostream &out, const ossimAxes &axes)
Definition: ossimAxes.h:88
void * m_Ttlm
Tile index for tile-parts.
unsigned int ossim_uint32
std::basic_istream< char > istream
Base class for char input streams.
Definition: ossimIosFwd.h:20
ossim_uint8 m_Ztlm
Index of marker segment relative to all other TLM marker segments present in the current header...
#define OSSIM_DLL
unsigned char ossim_uint8
std::basic_ostream< char > ostream
Base class for char output streams.
Definition: ossimIosFwd.h:23
int ossim_int32