Revision 1747

View differences:

org.gvsig.raster.tools/trunk/org.gvsig.raster.tools/org.gvsig.raster.tools.algorithm/org.gvsig.raster.tools.algorithm.layerdatatype/src/main/java/org/gvsig/raster/tools/algorithm/layerdatatype/LayerDatatypeProcess.java
64 64
	private int               dec2int           = 0;
65 65
	private int               big2smal          = 0;
66 66
	private long              milis             = 0;
67
	private int               percent           = 0;
68 67
	private NoData            byteNoData        = null;
69 68
	private NoData            shortNoData       = null;
70 69
	private NoData            intNoData         = null;
......
139 138
							writePixelFromByte(row, col, iBand, sourceBuffer.getElemByte(row, col, iBand), buf);
140 139
						}
141 140
					}
142
					percent = (int)((row * 100) / buf.getHeight());
141
					updatePercent(row, buf.getHeight());
143 142
				}
144 143
				break;
145 144
			case Buffer.TYPE_SHORT:
......
149 148
							writePixelFromShort(row, col, iBand, sourceBuffer.getElemShort(row, col, iBand), buf);
150 149
						}
151 150
					}
152
					percent = (int)((row * 100) / buf.getHeight());
151
					updatePercent(row, buf.getHeight());
153 152
				}
154 153
				break;
155 154
			case Buffer.TYPE_INT:
......
159 158
							writePixelFromInt(row, col, iBand, sourceBuffer.getElemInt(row, col, iBand), buf);
160 159
						}
161 160
					}
162
					percent = (int)((row * 100) / buf.getHeight());
161
					updatePercent(row, buf.getHeight());
163 162
				}
164 163
				break;
165 164
			case Buffer.TYPE_FLOAT:
......
170 169
							writePixelFromDouble(row, col, iBand, v, buf);
171 170
						}
172 171
					}
173
					percent = (int)((row * 100) / buf.getHeight());
172
					updatePercent(row, buf.getHeight());
174 173
				}
175 174
				break;
176 175
			case Buffer.TYPE_DOUBLE:
......
181 180
							writePixelFromDouble(row, col, iBand, v, buf);
182 181
						}
183 182
					}
184
					percent = (int)((row * 100) / buf.getHeight());
183
					updatePercent(row, buf.getHeight());
185 184
				}
186 185
				break;
187 186
			}
org.gvsig.raster.tools/trunk/org.gvsig.raster.tools/org.gvsig.raster.tools.algorithm/org.gvsig.raster.tools.algorithm.base/src/main/java/org/gvsig/raster/tools/algorithm/base/process/RasterProcess.java
72 72
	private boolean             progressActive    = true;
73 73
	private IProcessActions     queueActions      = null;
74 74
	private Logger              logger            = LoggerFactory.getLogger(RasterProcess.class.toString());
75

  
75
	protected int               percent           = 0;
76 76
	
77 77
	/**
78 78
	 * Crea la ventana de IncrementableTask
......
401 401
		return (value != null && value instanceof Extent) ? ((Extent)value) : null;
402 402
	}
403 403
	
404
	/**
405
	 * Updates the percentaje of progress and manages the cancelation
406
	 * @param parcial
407
	 * @param total
408
	 * @throws ProcessInterruptedException
409
	 */
410
	public void updatePercent(int parcial, int total) throws ProcessInterruptedException {
411
		if (taskEventManager.getEvent() != null)
412
			taskEventManager.manageEvent(taskEventManager.getEvent());
413
		percent = (int)((parcial * 100) / total);
414
	}
415
	
404 416
	/*
405 417
	 * (non-Javadoc)
406 418
	 * @see org.gvsig.gui.beans.incrementabletask.IncrementableListener#actionResumed(org.gvsig.gui.beans.incrementabletask.IncrementableEvent)
org.gvsig.raster.tools/trunk/org.gvsig.raster.tools/org.gvsig.raster.tools.algorithm/org.gvsig.raster.tools.algorithm.reproject/src/main/java/org/gvsig/raster/tools/algorithm/reproject/ReprojectProcess.java
108 108
			messageBoxError("error_reprojecting", this, e1);
109 109
		}
110 110
		
111
		reproject = new Reproject(store, filename, interpolation, taskEventManager);
111
		reproject = new Reproject(store, filename, interpolation, this);
112 112
		try {
113 113
			int result = reproject.warp(projdst, projsrc, w, h, cellSize);
114 114
			if(result != 0) {
org.gvsig.raster.tools/trunk/org.gvsig.raster.tools/org.gvsig.raster.tools.algorithm/org.gvsig.raster.tools.algorithm.reproject/src/main/java/org/gvsig/raster/tools/algorithm/reproject/Reproject.java
36 36
import org.gvsig.fmap.dal.coverage.exception.InvalidSetViewException;
37 37
import org.gvsig.fmap.dal.coverage.exception.ProcessInterruptedException;
38 38
import org.gvsig.fmap.dal.coverage.exception.RasterDriverException;
39
import org.gvsig.fmap.dal.coverage.process.TaskEventManager;
40 39
import org.gvsig.fmap.dal.coverage.store.DataServerWriter;
41 40
import org.gvsig.fmap.dal.coverage.store.RasterDataStore;
42 41
import org.gvsig.fmap.dal.coverage.store.RasterQuery;
43 42
import org.gvsig.fmap.dal.coverage.store.RasterWriter;
43
import org.gvsig.raster.tools.algorithm.base.process.RasterProcess;
44 44
import org.gvsig.raster.tools.algorithm.base.util.Interpolation;
45 45

  
46 46

  
......
56 56
	private int               percent               = 0;
57 57
	private int               interpolationMethod   = 0;
58 58
	private Interpolation     interpolation         = null; 
59
	private TaskEventManager  taskEventManager      = null;
59
	private RasterProcess     process               = null;
60 60

  
61 61
	/**
62 62
	 * Constructor de la clase.
63 63
	 * @param lyr
64 64
	 * @param pathDest Ruta de destino
65 65
	 */
66
	public Reproject(RasterDataStore store, String pathDest, int inter, TaskEventManager taskEventManager) {
66
	public Reproject(RasterDataStore store, String pathDest, int inter, RasterProcess process) {
67 67
		this.store = store;
68 68
		this.pathDest = pathDest;
69 69
		this.interpolationMethod = inter;
70
		this.taskEventManager = taskEventManager;
70
		this.process = process;
71 71
	}
72 72

  
73 73
	/**
......
122 122
						Point2D p = transformPoint(newBbox, col, row, cellSize, t);
123 123
						writePixel(dataType, sourceBuffer, buf, p, col, row, nd);
124 124
					}
125
					if (taskEventManager.getEvent() != null)
126
						taskEventManager.manageEvent(taskEventManager.getEvent());
127
					percent = (int)((row * 100) / buf.getHeight());
125
					process.updatePercent(row, buf.getHeight());
128 126
				}
129 127
			} else {
130 128
				interpolation = new Interpolation(sourceBuffer);
......
133 131
						Point2D p = transformPoint(newBbox, col, row, cellSize, t);
134 132
						writePixelInterpolated(dataType, sourceBuffer, buf, p, col, row, nd, interpolationMethod);
135 133
					}
136
					if (taskEventManager.getEvent() != null)
137
						taskEventManager.manageEvent(taskEventManager.getEvent());
138
					percent = (int)((row * 100) / buf.getHeight());
134
					process.updatePercent(row, buf.getHeight());
139 135
				}
140 136
			}
141 137

  

Also available in: Unified diff