Revision 2308 org.gvsig.raster/branches/org.gvsig.raster_dataaccess_refactoring/org.gvsig.raster.lib/org.gvsig.raster.lib.impl/src/main/java/org/gvsig/raster/impl/grid/filter/correction/ModeFilter.java

View differences:

ModeFilter.java
22 22
package org.gvsig.raster.impl.grid.filter.correction;
23 23

  
24 24
import org.gvsig.fmap.dal.coverage.datastruct.Params;
25
import org.gvsig.fmap.dal.coverage.exception.FilterAddException;
25 26
import org.gvsig.fmap.dal.coverage.grid.filter.BaseRasterFilter;
26
import org.gvsig.raster.impl.DefaultRasterManager;
27
import org.gvsig.raster.impl.buffer.RasterBuffer;
28 27
import org.gvsig.raster.impl.store.ParamsImpl;
29 28

  
30 29
/**
31 30
 * Clase base para los filtros de moda.
32 31
 * 
33
 * 23/07/2008
34 32
 * @author Nacho Brodin nachobrodin@gmail.com
35 33
 */
36 34
public class ModeFilter extends BaseRasterFilter {
......
49 47
		setName(names[0]);
50 48
	}
51 49

  
52
	/*
53
	 * (non-Javadoc)
54
	 * @see org.gvsig.raster.grid.filter.RasterFilter#pre()
55
	 */
56
	public void pre() {
57
		exec = true;
58
		raster = (RasterBuffer) params.get("raster");
59
		height = raster.getHeight();
60
		width = raster.getWidth();
50
	public void pre() throws FilterAddException {
51
		super.pre();
52
		
61 53
		sideWindow = ((Integer) params.get("sideLong")).intValue();
62 54
		
63 55
		//El lado de la ventana debe ser positivo e impar.
......
67 59
		sizeWindow = sideWindow * sideWindow;
68 60
		halfSide = (sideWindow - 1) >> 1;
69 61
		
70
		rasterResult = DefaultRasterManager.getInstance().createBuffer(raster.getDataType(), raster.getWidth(), raster.getHeight(), raster.getBandCount(), true);
62
		createBufferResult(raster.getDataType(), raster.getBandCount());
71 63
	}
72 64

  
73
	/*
74
	 * (non-Javadoc)
75
	 * @see org.gvsig.raster.grid.filter.RasterFilter#post()
76
	 */
77 65
	public void post() {
78 66
		// En caso de que nadie apunte a raster, se liberar? su memoria.
79 67
		raster = null;
80 68
	}
81 69

  
82
	/*
83
	 * (non-Javadoc)
84
	 * @see org.gvsig.raster.grid.filter.RasterFilter#getGroup()
85
	 */
86 70
	public String getGroup() {
87 71
		return "espaciales";
88 72
	}
89 73

  
90
	/*
91
	 * (non-Javadoc)
92
	 * @see org.gvsig.raster.grid.filter.RasterFilter#getInRasterDataType()
93
	 */
94 74
	public int getInRasterDataType() {
95 75
		return 0;
96 76
	}
97 77

  
98
	/*
99
	 * (non-Javadoc)
100
	 * @see org.gvsig.raster.grid.filter.RasterFilter#getNames()
101
	 */
102 78
	public String[] getNames() {
103 79
		return names;
104 80
	}
105 81

  
106
	/*
107
	 * (non-Javadoc)
108
	 * @see org.gvsig.raster.grid.filter.RasterFilter#getOutRasterDataType()
109
	 */
110 82
	public int getOutRasterDataType() {
111 83
		return 0;
112 84
	}
113 85

  
114
	/*
115
	 * (non-Javadoc)
116
	 * @see org.gvsig.raster.grid.filter.RasterFilter#getResult(java.lang.String)
117
	 */
118
	public Object getResult(String name) {
119
		if (name.equals("raster")) {
120
			if (!exec)
121
				return this.raster;
122
			return this.rasterResult;
123
		}
124
		return null;
125
	}
126

  
127
	/*
128
	 * (non-Javadoc)
129
	 * @see org.gvsig.raster.grid.filter.RasterFilter#getUIParams()
130
	 */
131 86
	public Params getUIParams(String nameFilter) {
132 87
		if(params != null) {
133 88
			Object obj = params.get("sideLong");
......
144 99
		return params;
145 100
	}
146 101

  
147
	/*
148
	 * (non-Javadoc)
149
	 * @see org.gvsig.raster.grid.filter.RasterFilter#process(int, int)
150
	 */
151 102
	public void process(int x, int y) {
152 103
	}
153 104
	

Also available in: Unified diff