MrSID Decode SDK for Raster Reference Manual
9.5.1.4427
Main Page
Namespaces
Classes
Files
Examples
File List
File Members
NITFReaderManager.h
Go to the documentation of this file.
1
/* //////////////////////////////////////////////////////////////////////////
2
// //
3
// This code is Copyright (c) 2010 LizardTech, Inc, 1008 Western Avenue, //
4
// Suite 200, Seattle, WA 98104. Unauthorized use or distribution //
5
// prohibited. Access to and use of this code is permitted only under //
6
// license from LizardTech, Inc. Portions of the code are protected by //
7
// US and foreign patents and other filings. All Rights Reserved. //
8
// //
10
/* PUBLIC */
11
12
#ifndef NITFReaderManager_H
13
#define NITFReaderManager_H
14
15
// lt_lib_base
16
#include "
lt_base.h
"
17
18
// lt_lib_mrsid_core
19
#include "
lti_geoImageReader.h
"
20
#include "
lti_imageStageManager.h
"
21
22
LT_BEGIN_LIZARDTECH_NAMESPACE
23
class
LTFileSpec
;
24
class
LTIOStreamInf
;
25
26
namespace
Nitf
27
{
28
class
ImageReader;
29
class
FileHeader;
30
class
ImageSegment;
31
class
GraphicSegment;
32
class
LabelSegment;
33
class
TextSegment;
34
class
DataSegment;
35
class
ReservedSegment;
36
class
FileMetadata;
37
class
SecurityMetadata;
38
}
39
40
53
class
NITFReaderManager
:
public
LTIImageStageManager
54
{
55
LTI_REFERENCE_COUNTED_BOILERPLATE
(
NITFReaderManager
);
56
public
:
66
LT_STATUS
initialize(
const
LTFileSpec
& fileSpec,
bool
useWorldFile=
true
);
67
75
LT_STATUS
initialize(
LTIOStreamInf
*stream);
76
90
LT_STATUS
createReader(
Nitf::ImageReader
*& reader,
lt_uint32
idx);
91
107
LT_STATUS
createImageStage(
lt_uint32
imageNumber,
108
LTIImageStage
*&imageStage);
109
125
void
setCompat_2500B_N2(
bool
use2500B);
126
135
bool
getCompat_2500B_N2()
const
;
136
137
lt_int64 getFileSize()
const
;
138
142
const
Nitf::FileHeader
* getFileHeader()
const
;
143
147
lt_uint32
getNumImageSegments()
const
;
148
159
const
Nitf::ImageSegment
* getImageSegment(
lt_uint32
num)
const
;
160
164
const
char
* getImageSegmentIID1(
lt_uint32
num)
const
;
165
169
lt_uint32
getNumGraphicSegments()
const
;
170
179
const
Nitf::GraphicSegment
* getGraphicSegment(
lt_uint32
num)
const
;
180
184
lt_uint32
getNumLabelSegments()
const
;
185
194
const
Nitf::LabelSegment
* getLabelSegment(
lt_uint32
num)
const
;
195
199
lt_uint32
getNumTextSegments()
const
;
200
209
const
Nitf::TextSegment
* getTextSegment(
lt_uint32
num)
const
;
210
214
lt_uint32
getNumDataSegments()
const
;
215
224
const
Nitf::DataSegment
* getDataSegment(
lt_uint32
num)
const
;
225
229
lt_uint32
getNumResSegments()
const
;
230
239
const
Nitf::ReservedSegment
* getResSegment(
lt_uint32
num)
const
;
240
244
const
char
* getVersionString()
const
;
245
249
const
Nitf::FileMetadata
* getFileMetadata()
const
;
250
254
const
Nitf::SecurityMetadata
* getSecurityMetadata()
const
;
255
256
// not for public use
257
LTFileSpec
* getFileSpec()
const
;
258
259
private
:
260
LT_STATUS
fixMetadata(
LTIImageStage
*mos);
261
262
LTFileSpec
*m_fileSpec;
263
LTIOStreamInf
*m_stream;
264
bool
m_ownStream;
265
lt_int64 m_fileSize;
266
bool
m_useWorldFile;
267
268
Nitf::FileHeader
* m_fileHeader;
269
Nitf::ImageSegment
** m_imageSegments;
270
Nitf::GraphicSegment
** m_graphicSegments;
271
Nitf::LabelSegment
** m_labelSegments;
272
Nitf::TextSegment
** m_textSegments;
273
Nitf::DataSegment
** m_dataSegments;
274
Nitf::ReservedSegment
** m_resSegments;
275
lt_uint32
m_numImageSegments;
276
lt_uint32
m_numGraphicSegments;
277
lt_uint32
m_numLabelSegments;
278
lt_uint32
m_numTextSegments;
279
lt_uint32
m_numDataSegments;
280
lt_uint32
m_numResSegments;
281
282
char
* m_versionString;
283
284
bool
m_compat_2500B_N2;
285
};
286
287
288
LT_END_LIZARDTECH_NAMESPACE
289
290
#endif // NITFReaderManager_H
LizardTech