Revision 11067 trunk/libraries/libRaster/src/org/gvsig/raster/dataset/properties/DatasetListHistogram.java

View differences:

DatasetListHistogram.java
19 19
package org.gvsig.raster.dataset.properties;
20 20

  
21 21
import org.gvsig.raster.dataset.FileNotOpenException;
22
import org.gvsig.raster.dataset.IBuffer;
23
import org.gvsig.raster.dataset.RasterDataset;
24 22
import org.gvsig.raster.dataset.RasterDriverException;
25 23
import org.gvsig.raster.dataset.RasterMultiDataset;
26 24
import org.gvsig.raster.util.DataClassList;
......
37 35
	/**
38 36
	 * clases en las que se divide el histograma
39 37
	 */
40
	private DataClassList 				classes = null;
38
	private DataClassList 			classes = null;
41 39
	
42 40
	/**
43 41
	 * Histograma de la imagen completa
44 42
	 */
45
	private Histogram					histogram = null;
43
	private Histogram						histogram = null;
46 44
	/**
47 45
	 * Dataset del cual se calcula el histograma
48 46
	 */
49
	private RasterMultiDataset			multiDataset = null;
47
	private RasterMultiDataset	multiDataset = null;
50 48
	
51 49
	/**
50
	 * Variable para saber si se ha parado el proceso
51
	 */
52
	private boolean							canceled = false;
53
	
54
	/**
52 55
	 * Constructor
53 56
	 * @param dataset
54 57
	 */
......
78 81
			int nBands = 0;
79 82
			Histogram[] hList = new Histogram[multiDataset.getDatasetCount()];
80 83
			for (int i = 0; i < hList.length; i++) {
84
				if (canceled) return null;
81 85
				multiDataset.getDataset(i).getHistogram().setClasses(classes);
82 86
				hList[i] = multiDataset.getDataset(i).getHistogram().getHistogram();
83 87
				nBands += hList[i].getNumBands();
......
92 96
			for (int iDataset = 0; iDataset < hList.length; iDataset++) {
93 97
				for (int iBand = 0; iBand < hList[iDataset].getNumBands(); iBand++) {
94 98
					for (int iPxValue = 0; iPxValue < hList[iDataset].getBandLenght(iBand); iPxValue ++) {
99
						if (isCanceled()) return null;
95 100
						histogram.setHistogramValue(band, iPxValue, hList[iDataset].getHistogramValue(iBand, iPxValue));
96 101
					}
97 102
					band ++;
......
117 122
		percent = percent / multiDataset.getDatasetCount();
118 123
		return percent;
119 124
	}
125
	
126
	/**
127
	 * Metodo para poder cancelar el proceso.
128
	 */
129
	public void cancel() {
130
		canceled = true;
131
	}
132

  
133
	/**
134
	 * Metodo para saber si se ha cancelado un proceso
135
	 * @return boolean
136
	 */
137
	public boolean isCanceled() {
138
		return canceled;
139
	}
120 140
}

Also available in: Unified diff