MrSID Decode SDK for Raster Reference Manual
9.5.4.4709
|
00001 /* ////////////////////////////////////////////////////////////////////////// 00002 // // 00003 // This code is Copyright (c) 2010 LizardTech, Inc, 1008 Western Avenue, // 00004 // Suite 200, Seattle, WA 98104. Unauthorized use or distribution // 00005 // prohibited. Access to and use of this code is permitted only under // 00006 // license from LizardTech, Inc. Portions of the code are protected by // 00007 // US and foreign patents and other filings. All Rights Reserved. // 00008 // // 00010 /* PUBLIC */ 00011 00012 #ifndef GraphicSegment_H 00013 #define GraphicSegment_H 00014 00015 // lt_lib_base 00016 #include "lt_base.h" 00017 00018 // local 00019 #include "Segment.h" 00020 00021 LT_BEGIN_LIZARDTECH_NAMESPACE 00022 class LTIOStreamInf; 00023 00024 namespace Nitf { 00025 00026 00037 class GraphicSegment : public Segment 00038 { 00039 public: 00040 // not for public use -- to get a DataSegment, use NITFReaderManager::getGraphicSegment 00041 GraphicSegment(NITFReaderManager&, LTIOStreamInf&, 00042 int segmentNumber, 00043 lt_int64 headerOffset, lt_int64 headerLength, 00044 lt_int64 dataOffset, lt_int64 dataLength); 00045 ~GraphicSegment(); 00046 00047 // not for public use 00048 LT_STATUS initialize(); 00049 00058 lt_uint8* getGraphicData(lt_uint32& graphicDataLen) const; 00059 00060 // not for public use 00061 LT_STATUS addMetadataLocal(LTIMetadataDatabase& db) const; 00062 00063 private: 00064 LT_STATUS readHeader(); 00065 LT_STATUS readData(); 00066 00067 char* m_SID; // 10 00068 char* m_SNAME; // 20 00069 char* m_STYPE; // 1 00070 char* m_SSTRUCT; // 13 00071 int m_NLIPS; 00072 int m_NPIXPL; 00073 int m_NWDTH; 00074 int m_NBPP; 00075 00076 int m_SDLVL; 00077 int m_SALVL; 00078 int m_SLOCr; 00079 int m_SLOCc; 00080 char* m_SBND1; // 10 00081 char* m_SCOLOR; // 1 00082 char* m_SBND2; // 10 00083 char* m_SRES2; // 2 00084 00085 int m_SNUM; 00086 int m_SROT; 00087 int m_NELUT; 00088 lt_uint8* m_DLUT; 00089 00090 lt_uint8* m_graphicData; 00091 lt_uint32 m_graphicDataLen; 00092 00093 // nope 00094 GraphicSegment(GraphicSegment&); 00095 GraphicSegment& operator=(const GraphicSegment&); 00096 }; 00097 00098 00099 } 00100 LT_END_LIZARDTECH_NAMESPACE 00101 00102 #endif // GraphicSegment_H