MrSID Decode SDK for Raster Reference Manual
9.0.0.3864
Main Page
Namespaces
Classes
Files
Examples
File List
File Members
lti_metadataRecord.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 LTIMETADATARECORD_H
14
#define LTIMETADATARECORD_H
15
16
// lt_lib_base
17
#include "
lt_base.h
"
18
19
// lt_lib_mrsid_metadata
20
#include "
lti_metadataTypes.h
"
21
22
LT_BEGIN_NAMESPACE
(LizardTech)
23
24
#if defined(LT_COMPILER_MS)
25
#pragma warning(push,4)
26
#endif
27
28
47
class
LTIMetadataRecord
48
{
49
public
:
62
LTIMetadataRecord
(
LTIMetadataTag
tag,
63
LTIMetadataDataType
type,
64
const
void
* data);
65
78
LTIMetadataRecord
(
const
char
* tagName,
79
LTIMetadataDataType
type,
80
const
void
* data);
81
95
LTIMetadataRecord
(
LTIMetadataTag
tag,
96
LTIMetadataDataType
type,
97
const
void
* data,
98
lt_uint32
vecLen);
112
LTIMetadataRecord
(
const
char
* tagName,
113
LTIMetadataDataType
type,
114
const
void
* data,
115
lt_uint32
vecLen);
116
131
LTIMetadataRecord
(
LTIMetadataTag
tag,
132
LTIMetadataDataType
type,
133
const
void
* data,
134
lt_uint32
numDims,
135
const
lt_uint32
* dims);
136
151
LTIMetadataRecord
(
const
char
* tagName,
152
LTIMetadataDataType
type,
153
const
void
* data,
154
lt_uint32
numDims,
155
const
lt_uint32
* dims);
156
160
LTIMetadataRecord
(
const
LTIMetadataRecord
&);
161
165
~LTIMetadataRecord
();
166
174
LTIMetadataTag
getTag
()
const
;
175
183
const
char
*
getTagName
()
const
;
184
192
LTIMetadataDataType
getDataType
()
const
;
193
204
lt_uint32
getNumDims
()
const
;
205
219
const
lt_uint32
*
getDims
()
const
;
220
lt_uint32
getNumValues
(
void
)
const
;
221
230
bool
isScalar
()
const
;
231
239
bool
isVector
()
const
;
240
248
bool
isArray
()
const
;
249
262
const
void
*
getScalarData
()
const
;
263
277
const
void
*
getVectorData
(
lt_uint32
& vecLen)
const
;
278
294
const
void
*
getArrayData
(
lt_uint32
& numDims,
const
lt_uint32
*& dims)
const
;
295
304
lt_int32
getApproximateSize
()
const
;
305
306
private
:
307
void
initialize(
LTIMetadataTag
tag,
308
const
void
* data,
const
lt_uint32
* dims);
309
void
initialize(
const
char
* tagName,
310
const
void
* data,
const
lt_uint32
* dims);
311
312
lt_uint32
computeLen()
const
;
313
314
char
* m_tagName;
315
LTIMetadataDataType
m_type;
316
lt_uint32
m_numDims;
317
lt_uint32
* m_dims;
318
lt_uint8
* m_data;
319
320
// nope
321
LTIMetadataRecord
& operator=(
const
LTIMetadataRecord
&);
322
};
323
324
325
LT_END_NAMESPACE
(LizardTech)
326
327
#if defined(LT_COMPILER_MS)
328
#pragma warning(pop)
329
#endif
330
331
#endif // LTIMETADATARECORD_H
LizardTech