Statistics
| Revision:

svn-gvsig-desktop / trunk / libraries / libRaster / src / org / gvsig / raster / grid / filter / IRasterFilter.java @ 27361

History | View | Annotate | Download (2.57 KB)

1
/* gvSIG. Sistema de Informaci?n Geogr?fica de la Generalitat Valenciana
2
 *
3
 * Copyright (C) 2006 IVER T.I. and Generalitat Valenciana.
4
 *
5
 * This program is free software; you can redistribute it and/or
6
 * modify it under the terms of the GNU General Public License
7
 * as published by the Free Software Foundation; either version 2
8
 * of the License, or (at your option) any later version.
9
 *
10
 * This program is distributed in the hope that it will be useful,
11
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
 * GNU General Public License for more details.
14
 *
15
 * You should have received a copy of the GNU General Public License
16
 * along with this program; if not, write to the Free Software
17
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
18
 */
19
package org.gvsig.raster.grid.filter;
20
/**
21
 * Este interfaz es implementado por el ancestro de cualquier filtro o el propio filtro.
22
 * Contiene las operaciones necesarias para su ejecuci?n a trav?s de la pila de filtros.
23
 *
24
 * @author Nacho Brodin (nachobrodin@gmail.com)
25
 */
26
public interface IRasterFilter {
27
                /**
28
                 * Acciones a realizar antes de la ejecuci?n del filtro
29
                 */
30
                public void pre();
31

    
32
                /**
33
                 * Ejecuci?n de la funci?n process de todo el filtro.
34
                 * @throws InterruptedException
35
                 *
36
                 */
37
                public void execute() throws InterruptedException;
38

    
39
                /**
40
                 * Procesa la posici?n x,y del raster
41
                 * @param x posici?n X
42
                 * @param y posici?n Y
43
                 * @throws InterruptedException 
44
                 */
45
                public void process(int x, int y) throws InterruptedException;
46

    
47
                /**
48
                 * Acciones a realizar despu?s de la ejecuci?n del filtro
49
                 */
50
                public void post();
51

    
52
                /**
53
                 * Par?metros pasados al filtro en forma de nombre de par?metro y objeto que
54
                 * representa al par?metro. Este puede ser cualquier tipo de variable u objeto.
55
                 *
56
                 * Par?metros obligatorios:
57
                 *         inRaster (IRaster)
58
                 * par?metros obligatorios (si se da el caso)
59
                 *         previousFilter (IRasterFilter)
60
                 *
61
                 * @param name
62
                 * @param value
63
                 */
64
                public void addParam(String name, Object value);
65

    
66
                /**
67
                 * Devuelve los resultados despues de la ejecuci?n del filtro.
68
                 * @param name
69
                 * @return
70
                 */
71
                public Object getResult(String name);
72

    
73
                /**
74
                 * Obtiene el tipo de datos de entrada al filtro
75
                 * @return Tipo de dato
76
                 */
77
                public int getInRasterDataType();
78

    
79
                /**
80
                 * Obtiene el tipo de datos de salida del filtro
81
                 * @return Tipo de dato
82
                 */
83
                public int getOutRasterDataType();
84

    
85
                /**
86
                 * Obtiene el grupo del filtro
87
                 * @return
88
                 */
89
                public String getGroup();
90
}