Statistics
| Revision:

svn-gvsig-desktop / trunk / libraries / libjni-mrsid / src / main / java / es / gva / cit / jmrsid / LTIImageStage.java @ 20374

History | View | Annotate | Download (2.88 KB)

1
/**********************************************************************
2
 * $Id: LTIImageStage.java 3539 2006-01-09 12:23:20Z nacho $
3
 *
4
 * Name:     LTIImageStage.java
5
 * Project:  JMRSID. Interface java to mrsid (Lizardtech).
6
 * Purpose:   
7
 * Author:   Nacho Brodin, brodin_ign@gva.es
8
 *
9
 **********************************************************************/
10
/* gvSIG. Sistema de Informaci?n Geogr?fica de la Generalitat Valenciana
11
*
12
* Copyright (C) 2004 IVER T.I. and Generalitat Valenciana.
13
*
14
* This program is free software; you can redistribute it and/or
15
* modify it under the terms of the GNU General Public License
16
* as published by the Free Software Foundation; either version 2
17
* of the License, or (at your option) any later version.
18
*
19
* This program is distributed in the hope that it will be useful,
20
* but WITHOUT ANY WARRANTY; without even the implied warranty of
21
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
22
* GNU General Public License for more details.
23
*
24
* You should have received a copy of the GNU General Public License
25
* along with this program; if not, write to the Free Software
26
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
27
*
28
* For more information, contact:
29
*
30
*  Generalitat Valenciana
31
*   Conselleria d'Infraestructures i Transport
32
*   Av. Blasco Ib??ez, 50
33
*   46010 VALENCIA
34
*   SPAIN
35
*
36
*      +34 963862235
37
*   gvsig@gva.es
38
*      www.gvsig.gva.es
39
*
40
*    or
41
*
42
*   IVER T.I. S.A
43
*   Salamanca 50
44
*   46005 Valencia
45
*   Spain
46
*
47
*   +34 963163400
48
*   dac@iver.es
49
*/
50

    
51
package es.gva.cit.jmrsid;
52

    
53

    
54
/**
55
 * Clase que a?ade funcionalidad para la decodificaci?n desde una imagen.
56
 * @author Nacho Brodin <brodin_ign@gva.es>.<BR> Equipo de desarrollo gvSIG.<BR> http://www.gvsig.gva.es
57
 * @version 0.0
58
 * @link http://www.gvsig.gva.es
59
 */
60
public class LTIImageStage extends LTIImage{
61
        
62
        
63
        private native int readNat(long cPtr, long cPtrscene, long cPtrobj_scenebuffer, long cPtrbuffer, LTISceneBuffer buffer);
64
        private native void FreeLTIImageStageNat(long cPtr);
65
        
66
        public LTIImageStage(){}
67
        
68
        /**
69
         * Constructor
70
         * @param cPtr        direcci?n de memoria al objeto LTIImageStage de C. 
71
         */
72
        public LTIImageStage(long cPtr){
73
                this.cPtr=cPtr;
74
        }
75
        
76
        /**
77
         * Destructor 
78
         */
79
        protected void finalize(){
80
                if(cPtr != 0)
81
                        FreeLTIImageStageNat(cPtr);
82
        }
83
        
84
        /**
85
         * Lee una escena desde una imagen.
86
         * @throws MrSIDException
87
         * @param scene        Objeto escena a leer
88
         * @param buffer        buffer sobre el cual se almacenan los datos leidos
89
         */
90
        public void read(LTIScene scene,LTISceneBuffer buffer)throws MrSIDException{
91

    
92
                if(scene==null || buffer==null)
93
                        throw new MrSIDException("Los argumentos no pueden ser nulos");
94
                
95
                if (cPtr == 0)
96
                        throw new MrSIDException("No se puede acceder al dato");
97
                
98
                int res = readNat(cPtr,scene.cPtr,buffer.cPtr,buffer.cPtrbuffer, buffer);
99
                
100
                if(res!=0)
101
                        throw new MrSIDException("En el m?todo read se ha devuelto un c?digo "+res);
102
                
103
        }
104
        
105
}