Statistics
| Revision:

root / trunk / extensions / extRasterTools-SE / src / org / gvsig / fmap / layers / RasterSEAdapter.java @ 11173

History | View | Annotate | Download (7.05 KB)

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

    
46
import java.awt.Dimension;
47
import java.awt.Graphics2D;
48
import java.awt.Image;
49
import java.awt.geom.Rectangle2D;
50
import java.awt.image.BufferedImage;
51
import java.io.IOException;
52
import java.util.ArrayList;
53

    
54
import org.cresques.cts.ICoordTrans;
55
import org.gvsig.fmap.drivers.GenericRasterDriver;
56
import org.gvsig.raster.buffer.BufferFactory;
57
import org.gvsig.raster.grid.render.Rendering;
58

    
59
import com.hardcode.driverManager.Driver;
60
import com.iver.cit.gvsig.fmap.ViewPort;
61
import com.iver.cit.gvsig.fmap.core.symbols.ISymbol;
62
import com.iver.cit.gvsig.fmap.drivers.DriverIOException;
63
import com.iver.utiles.swing.threads.Cancellable;
64

    
65
public class RasterSEAdapter {
66
        private GenericRasterDriver driver;
67
        
68
    /**
69
     * Establece el driver sobre el que act?a el adaptador 
70
     */
71
    public void setDriver(Driver driver) {
72
            this.driver = (GenericRasterDriver) driver;
73
    }
74

    
75
        /**
76
     * Obtiene una referencia al objeto que implementa la interfaz vectorial con
77
     *  el fin de que las Strategy puedan optimizar en funci?n del driver.
78
     */
79
    public Driver getDriver(){
80
            return driver;
81
    }
82
    
83
        /**
84
         * Asigna los par?metros para la carga de la capa
85
         * @param param Par?metros.
86
         */
87
        public void setLoadParams(Object param) {
88
                driver.setLoadParams(param);
89
        }
90
        
91
        /**
92
         * Obtiene una imagen de tama?o especificado, de la zona (en
93
         * coordenadas de usuario) que se le pide.
94
         * @param size        Tama?o (en p?xeles de im?gen).
95
         * @param userSize Zona especificada (en coordenadas de usuario).
96
         * @param rp Reproyecci?n.
97
         * @return La imagen.
98
         */
99
        public Image getImage(Dimension size, Rectangle2D userSize, ICoordTrans rp) {
100
                return ((GenericRasterDriver) driver).getImage(size, userSize, rp);
101
        }
102
        
103
        /**
104
         * Obtiene el valor de transparencia
105
         * @return entero que representa el valor de transparencia
106
         */
107
        public int getTransparency() {
108
                return ((GenericRasterDriver) driver).getTransparency();
109
        }
110
        
111
        /**
112
         * Asigna el valor de transparencia
113
         * @param trans        entero que representa el valor de transparencia
114
         */
115
        public void setTransparency(int trans) {
116
                ((GenericRasterDriver) driver).setTransparency(trans);
117
        }
118

    
119
        /**
120
         * @see com.iver.cit.gvsig.fmap.layers.LayerOperations#draw(java.awt.image.BufferedImage, java.awt.Graphics2D, ISymbol)
121
         */
122
        public void draw(BufferedImage image, Graphics2D g, ViewPort vp, Cancellable cancel) throws DriverIOException {
123
                ((GenericRasterDriver) driver).draw(image,g, vp);
124
        }
125
        
126
        /**
127
         * Obtiene la lista de atributos de raster
128
         * @return        lista de atributos. Cada elmento de la lista es un array Object
129
         * con dos elementos. El primero el nombre del atributo y el segundo el valor
130
         * del mismo.
131
         */
132
        public ArrayList getAttributes() {
133
                return ((GenericRasterDriver) driver).getAttributes();
134
        }
135
        
136
        /**
137
         * Devuelve el colorBand activo en la banda especificada.
138
         * @param flag banda.
139
         * @return color de banda activo
140
         */
141
        public int getBand(int flag){
142
                return ((GenericRasterDriver) driver).getBand(flag);
143
        }
144
        
145
        /**
146
         * Devuelve la posici?n del fichero para la banda especificada.
147
         * @param flag banda.
148
         * @return posici?n del fichero
149
         */
150
        public int getPosFile(int flag){
151
                return ((GenericRasterDriver) driver).getPosFile(flag);
152
        }
153
                
154
        /**
155
         * Activa o desactiva la transparencia
156
         * @param t        true activa la transparencia y false la desactiva
157
         */
158
        public void setTransparency(boolean t){
159
                ((GenericRasterDriver) driver).setTransparency(t);
160
        }
161
        
162
        /**
163
         * Asocia un colorBand al rojo, verde o azul.
164
         * @param flag cual (o cuales) de las bandas.
165
         * @param nBand        que colorBand
166
         */
167
        public void setBand(int flag, int nBand){
168
                ((GenericRasterDriver) driver).setBand(flag, nBand);
169
        }
170
        
171
        /**
172
         * Obtiene el tipo de dato de la imagen
173
         * @return entero que representa el tipo de dato. La clase RasterBuf 
174
         * tiene accesible de forma est?tica todos los tipos de datos permitidos
175
         */
176
        public int getDataType(){
177
                return ((GenericRasterDriver) driver).getRasterDataType();
178
        }
179
        
180
        /**
181
         * Obtiene la pila de filtros 
182
         * @return pila de filtros
183
         */
184
        /*public RasterFilterStack getFilterStack(){
185
                return ((GenericRasterDriver) driver).getFilterStack();
186
        }*/
187
        
188
        /**
189
         * Asigna la pila de filtros 
190
         * @param pila de filtros
191
         */
192
        /*public void setFilterStack(RasterFilterStack  stack){
193
                ((GenericRasterDriver) driver).setFilterStack(stack);
194
        }*/
195
        
196
        /**
197
         * 
198
         * @return
199
         */
200
        /*public GeoRasterFile[] getFiles(){
201
                return ((GenericRasterDriver) driver).getFiles();
202
        }*/
203
        
204
        /**
205
         * Obtiene el n?mero de bandas de la imagen
206
         * @return n?mero de bandas
207
         */
208
        public int getNumBands(){
209
                return ((GenericRasterDriver)driver).getNumBands();
210
        }
211
        
212
        /**
213
         * Obtiene el extent de la vista
214
         * @return extent
215
         */
216
        public Rectangle2D getFullExtent(){
217
                return ((GenericRasterDriver)driver).getFullExtent();
218
        }
219
        
220
        /**
221
         * Asigna un fichero al PxRaster
222
         * @param fileName Nombre del fichero
223
         */
224
        public void addFile(String fileName)throws IOException{
225
                ((GenericRasterDriver)driver).addFile(fileName);
226
        }
227
        
228
        /**
229
         * Elimina un fichero al PxRaster
230
         * @param fileName Nombre del fichero
231
         */
232
        public void delFile(String fileName){
233
                ((GenericRasterDriver)driver).delFile(fileName);
234
        }
235
        
236
        /**
237
         * Obtiene el valor del pixel del Image en la posici?n x,y
238
         * @param x Posici?n x
239
         * @param y Posici?n y
240
         * @return valor de pixel
241
         */
242
        public int[] getPixel(double wcx, double wcy){
243
                return ((GenericRasterDriver)driver).getPixel(wcx, wcy);
244
        }
245
        
246
        /**
247
         * Obtiene el flag que dice si la imagen est? o no georreferenciada
248
         * @return true si est? georreferenciada y false si no lo est?.
249
         */
250
        public boolean isGeoreferenced() {
251
                return ((GenericRasterDriver)driver).isGeoreferenced();
252
        }
253
        
254
        /**
255
         * Get datasource object
256
         * @return
257
         */
258
        public BufferFactory getDatasource(){
259
                return ((GenericRasterDriver)driver).getDatasource();
260
        } 
261
        
262
        /**
263
         * Get render object
264
         * @return Rendering
265
         */
266
        public Rendering getRender(){
267
                return ((GenericRasterDriver)driver).getRender();
268
        }
269
}