MrSID Decode SDK for Raster Reference Manual
9.0.0.3864
Main Page
Namespaces
Classes
Files
Examples
File List
File Members
lti_bbbImageReader.h
Go to the documentation of this file.
1
/* $Id$ */
2
/* //////////////////////////////////////////////////////////////////////////
3
// //
4
// This code is Copyright (c) 2004 LizardTech, Inc, 1008 Western Avenue, //
5
// Suite 200, Seattle, WA 98104. Unauthorized use or distribution //
6
// prohibited. Access to and use of this code is permitted only under //
7
// license from LizardTech, Inc. Portions of the code are protected by //
8
// US and foreign patents and other filings. All Rights Reserved. //
9
// //
11
/* PUBLIC */
12
13
#ifndef LTI_BBB_IMAGE_READER_H
14
#define LTI_BBB_IMAGE_READER_H
15
16
// lt_lib_mrsid_core
17
#include "
lti_rawImageReader.h
"
18
19
// system
20
#include <stdio.h>
// for FILE*
21
22
LT_BEGIN_NAMESPACE
(LizardTech)
23
24
class LTIBBBHeaderReader;
25
33
class
LTIBBBImageReader
: public
LTIRawImageReader
34
{
35
LTI_REFERENCE_COUNTED_BOILERPLATE
(
LTIBBBImageReader
);
36
public
:
45
LT_STATUS
initialize(
const
LTFileSpec
& fileSpec,
bool
useWorldFile =
true
);
46
55
LT_STATUS
initialize(
const
char
* file,
bool
useWorldFile =
true
);
56
};
57
58
#ifndef DOXYGEN_EXCLUDE
59
60
class
LTIBBBHeaderReader
61
{
62
LT_DISALLOW_COPY_CONSTRUCTOR(LTIBBBHeaderReader);
63
64
public
:
65
LTIBBBHeaderReader(
const
LTFileSpec
&);
66
~LTIBBBHeaderReader();
67
LT_STATUS
read();
68
69
public
:
70
int
m_width;
71
int
m_height;
72
LTIDataType
m_dataType;
73
LTIColorSpace
m_colorSpace;
74
int
m_numBands;
75
LTILayout
m_layout;
76
char
* m_byteOrder;
77
int
m_numBits;
78
LTIEndian
m_endian;
79
80
double
m_window;
81
double
m_level;
82
double
m_drMin;
83
double
m_drMax;
84
bool
m_hasWindow;
85
bool
m_hasLevel;
86
bool
m_hasDRMin;
87
bool
m_hasDRMax;
88
89
int
m_bandgapbytes;
90
int
m_bandrowbytes;
91
int
m_totalrowbytes;
92
int
m_skipbytes;
93
94
bool
m_hasUlxmap;
95
bool
m_hasUlymap;
96
bool
m_hasXdim;
97
bool
m_hasYdim;
98
double
m_ulxmap;
99
double
m_ulymap;
100
double
m_xdim;
101
double
m_ydim;
102
103
// Imagine header data
104
bool
m_bFromImagine;
//indicates whether to display Imagine Metadata
105
char
* m_projname;
106
char
* m_sphereName;
107
char
* m_units;
108
int
m_proZone;
109
double
* m_projParams;
110
double
m_sphereMajor;
111
double
m_sphereMinor;
112
double
m_sphereEccentricitySquared;
113
double
m_sphereRadius;
114
115
char
* m_wkt;
116
double
* m_nodata;
117
118
private
:
119
LT_STATUS
init();
120
LT_STATUS
finish();
121
LT_STATUS
readLines();
122
LT_STATUS
readLine(
int
& offset_last,
bool
& done);
123
LT_STATUS
nextLine();
124
LT_STATUS
readInt(
int
&);
125
LT_STATUS
readDouble(
double
&);
126
LT_STATUS
readString(
char
*);
127
128
const
LTFileSpec
& m_fileSpec;
129
FILE* m_fp;
130
};
131
#endif
132
133
LT_END_NAMESPACE
(LizardTech)
134
135
#endif // LTI_BBB_IMAGE_READER_H
LizardTech