Statistics
| Revision:

svn-gvsig-desktop / trunk / libraries / libjni-ecwcompress / include / include-sdk / NCSJPCTLMMarker.h @ 12522

History | View | Annotate | Download (2.32 KB)

1
/********************************************************
2
** Copyright 2002 Earth Resource Mapping Ltd.
3
** This document contains proprietary source code of
4
** Earth Resource Mapping Ltd, and can only be used under
5
** one of the three licenses as described in the 
6
** license.txt file supplied with this distribution. 
7
** See separate license.txt file for license details 
8
** and conditions.
9
**
10
** This software is covered by US patent #6,442,298,
11
** #6,102,897 and #6,633,688.  Rights to use these patents 
12
** is included in the license agreements.
13
**
14
** FILE:     $Archive: /NCS/Source/include/NCSJPCTLMMarker.h $
15
** CREATED:  19/12/2002 3:27:34 PM
16
** AUTHOR:   Simon Cope
17
** PURPOSE:  CNCSJPCTLMMarker class header
18
** EDITS:    [xx] ddMmmyy NAME COMMENTS
19
 *******************************************************/
20

    
21
#ifndef NCSJPCTLMMARKER_H
22
#define NCSJPCTLMMARKER_H
23

    
24
#include "NCSJPCMarker.h"
25

    
26
        /**
27
         * CNCSJPCTLMMarker class - the JPC TLM marker.
28
         * 
29
         * @author       Simon Cope
30
         * @version      $Revision: 3538 $ $Author: nacho $ $Date: 2006-01-09 12:56:54 +0100 (Mon, 09 Jan 2006) $ 
31
         */        
32
class NCSJPC_EXPORT_ALL CNCSJPCTLMMarker: public CNCSJPCMarker {
33
public:
34
                /** Pointer segments */
35
        typedef struct {
36
                        /** Tile index of the ith tile part */
37
                UINT16                m_nTtlm;        
38
                        /** Length in bytes of the tile part from the SOT to the last byte of the tile-pert datastream */
39
                UINT32                m_nPtlm;
40
        } PointerSegment;
41

    
42
        typedef struct {
43
                UINT8        m_nST : 2;
44
                UINT8        m_nSP : 2;
45
        } SizeofTP;
46

    
47
                /** Index of this marker WRT other TLM markers */
48
        UINT8                m_nZtlm;
49
                /** Sizeof Ttlm and Ptlm */
50
        SizeofTP        m_Stlm;
51
                /** Pointer Segments */
52
        std::vector<PointerSegment> m_Pointers;
53

    
54
                /** Default constructor, initialises members */
55
        CNCSJPCTLMMarker();
56
                /** Virtual destructor */
57
        virtual ~CNCSJPCTLMMarker();
58

    
59
                /** 
60
                 * Parse the marker from the JPC codestream.
61
                 * @param                JPC                        CNCSJPC to use to parse file.
62
                 * @param                Stream                IOStream to use to parse file.
63
                 * @return      CNCSError        NCS_SUCCESS, or Error code on failure.
64
                 */
65
        virtual CNCSError Parse(class CNCSJPC &JPC, CNCSJPCIOStream &Stream);
66
                /** 
67
                 * UnParse the marker to the JPC codestream.
68
                 * @param                Stream                IOStream to use to parse file.
69
                 * @param                JPC                        CNCSJPC to use to parse file.
70
                 * @return      CNCSError        NCS_SUCCESS, or Error code on failure.
71
                 */
72
        virtual CNCSError UnParse(class CNCSJPC &JPC, CNCSJPCIOStream &Stream);
73
};
74

    
75

    
76
#endif // !NCSJPCTLMMARKER_H