Revision 11067

View differences:

trunk/libraries/libRaster/src-test/org/gvsig/raster/AllTests.java
32 32
import org.gvsig.raster.dataaccess.TestGdalClassHistogram;
33 33
import org.gvsig.raster.dataaccess.cache.TestAssignInterchangeBandsCache;
34 34
import org.gvsig.raster.dataaccess.cache.TestRasterCache;
35
import org.gvsig.raster.dataaccess.cache.TestReadOnlyCache;
36 35
import org.gvsig.raster.dataaccess.cache.TestSaveAndLoadPages;
37 36
import org.gvsig.raster.dataaccess.cache.TestStructCache;
38 37
import org.gvsig.raster.dataaccess.cache.TestWorldCoordHDDPages;
trunk/libraries/libRaster/src-test/org/gvsig/raster/dataaccess/cache/TestStructCache.java
3 3
import junit.framework.TestCase;
4 4

  
5 5
import org.gvsig.raster.RasterLibrary;
6
import org.gvsig.raster.dataaccess.cache.CacheStruct;
7 6
import org.gvsig.raster.dataset.IBuffer;
8
import org.gvsig.raster.util.RasterUtilities;
9 7

  
10 8

  
11 9
/**
trunk/libraries/libRaster/src-test/org/gvsig/raster/dataaccess/TDSDoubleAdjustToExtentGdal.java
21 21
import junit.framework.TestCase;
22 22

  
23 23
import org.gvsig.raster.RasterLibrary;
24
import org.gvsig.raster.dataaccess.DataSource;
25 24
import org.gvsig.raster.dataset.IBuffer;
26 25
import org.gvsig.raster.dataset.NotSupportedExtensionException;
27 26
import org.gvsig.raster.dataset.RasterDataset;
28 27
import org.gvsig.raster.dataset.RasterDriverException;
29
import org.gvsig.raster.dataset.io.EcwDriver;
30
import org.gvsig.raster.dataset.io.GdalDriver;
31 28

  
32 29
/**
33 30
 * Este test prueba el acceso a datos a traves de un DataSource sin resampleo
trunk/libraries/libRaster/src-test/org/gvsig/raster/dataaccess/TDSDoubleAdjustToExtentEcw.java
21 21
import junit.framework.TestCase;
22 22

  
23 23
import org.gvsig.raster.RasterLibrary;
24
import org.gvsig.raster.dataaccess.DataSource;
25 24
import org.gvsig.raster.dataset.IBuffer;
26 25
import org.gvsig.raster.dataset.NotSupportedExtensionException;
27 26
import org.gvsig.raster.dataset.RasterDataset;
28 27
import org.gvsig.raster.dataset.RasterDriverException;
29
import org.gvsig.raster.dataset.io.EcwDriver;
30
import org.gvsig.raster.dataset.io.GdalDriver;
31 28

  
32 29
/**
33 30
 * Este test prueba el acceso a datos a traves de un DataSource sin resampleo
trunk/libraries/libRaster/src-test/org/gvsig/raster/dataaccess/TDSIntEcw.java
21 21
import junit.framework.TestCase;
22 22

  
23 23
import org.gvsig.raster.RasterLibrary;
24
import org.gvsig.raster.dataaccess.DataSource;
25 24
import org.gvsig.raster.dataset.IBuffer;
26 25
import org.gvsig.raster.dataset.NotSupportedExtensionException;
27 26
import org.gvsig.raster.dataset.RasterDataset;
28 27
import org.gvsig.raster.dataset.RasterDriverException;
29
import org.gvsig.raster.dataset.io.EcwDriver;
30
import org.gvsig.raster.dataset.io.GdalDriver;
31 28

  
32 29
/**
33 30
 * Este test prueba el acceso a datos a traves de un DataSource sin resampleo
trunk/libraries/libRaster/src-test/org/gvsig/raster/dataaccess/TestDataSourceMultiFile.java
27 27
import junit.framework.TestCase;
28 28

  
29 29
import org.gvsig.raster.RasterLibrary;
30
import org.gvsig.raster.dataaccess.DataSource;
31 30
import org.gvsig.raster.dataset.NotSupportedExtensionException;
32 31
import org.gvsig.raster.dataset.RasterDataset;
33 32
import org.gvsig.raster.dataset.RasterDriverException;
34
import org.gvsig.raster.dataset.io.EcwDriver;
35
import org.gvsig.raster.dataset.io.GdalDriver;
36
import org.gvsig.raster.grid.Grid;
37 33

  
38 34
/**
39 35
 * Este test prueba la gesti?n de multifichero de la clase RasterMultiFile
trunk/libraries/libRaster/src-test/org/gvsig/raster/dataaccess/TDSDoubleAdjustToExtentBufferGdal.java
21 21
import junit.framework.TestCase;
22 22

  
23 23
import org.gvsig.raster.RasterLibrary;
24
import org.gvsig.raster.dataaccess.DataSource;
25 24
import org.gvsig.raster.dataset.IBuffer;
26 25
import org.gvsig.raster.dataset.NotSupportedExtensionException;
27 26
import org.gvsig.raster.dataset.RasterDataset;
28 27
import org.gvsig.raster.dataset.RasterDriverException;
29
import org.gvsig.raster.dataset.io.EcwDriver;
30
import org.gvsig.raster.dataset.io.GdalDriver;
31 28

  
32 29
/**
33 30
 * Este test prueba el acceso a datos a traves de un DataSource sin resampleo
trunk/libraries/libRaster/src-test/org/gvsig/raster/driver/TestStatistics.java
24 24
 */
25 25
package org.gvsig.raster.driver;
26 26

  
27
import junit.framework.TestCase;
28

  
27 29
import org.gvsig.raster.RasterLibrary;
28 30
import org.gvsig.raster.dataset.FileNotOpenException;
29
import org.gvsig.raster.dataset.IBuffer;
30 31
import org.gvsig.raster.dataset.NotSupportedExtensionException;
31 32
import org.gvsig.raster.dataset.RasterDataset;
32 33
import org.gvsig.raster.dataset.RasterDriverException;
33
import org.gvsig.raster.dataset.io.EcwDriver;
34
import org.gvsig.raster.dataset.io.GdalDriver;
35 34
import org.gvsig.raster.dataset.properties.DatasetStatistics;
36 35

  
37
import junit.framework.TestCase;
38

  
39 36
/**
40 37
 * Este test prueba el calculo de estadisticas de un dataset. 
41 38
 * Comprueba que los valores obtenidos en las estadisticas son correctos.
trunk/libraries/libRaster/src-test/tmp/TestDataSourceWithNoData.java
31 31
import org.gvsig.raster.dataset.NotSupportedExtensionException;
32 32
import org.gvsig.raster.dataset.RasterDataset;
33 33
import org.gvsig.raster.dataset.RasterDriverException;
34
import org.gvsig.raster.grid.Grid;
35 34

  
36 35
/**
37 36
 * Este test prueba la gesti?n de multifichero de la clase GeoRasterMultiFile
trunk/libraries/libRaster/src/org/gvsig/raster/dataset/IStatistics.java
18 18
 */
19 19
package org.gvsig.raster.dataset;
20 20

  
21
import java.io.File;
22
import java.util.Date;
23

  
24

  
25 21
/**
26 22
 * Interfaz a implementar por las clases que ofrecen estadisticas raster.
27 23
 *  
trunk/libraries/libRaster/src/org/gvsig/raster/dataset/properties/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
}
trunk/libraries/libRaster/src/org/gvsig/raster/dataset/RasterMultiDataset.java
860 860
	 * @see org.gvsig.raster.util.IHistogramable#getPercent()
861 861
	 */
862 862
	public int getPercent() {
863
		if (histogram != null)
864
			return histogram.getPercent();
863
		if (histogram != null) return histogram.getPercent();
865 864
		return 0;
866 865
	}
867 866

  
......
870 869
	 * @see org.gvsig.raster.util.IHistogramable#resetPercent()
871 870
	 */
872 871
	public void resetPercent() {
873
		if (histogram != null)
874
			histogram.resetPercent();
872
		if (histogram != null) histogram.resetPercent();
875 873
	}
874

  
875
	/*
876
	 * (non-Javadoc)
877
	 * @see org.gvsig.raster.util.ICancellable#cancel()
878
	 */
879
	public void cancel() {
880
		if (histogram != null) histogram.cancel();
881
	}
882

  
883
	/*
884
	 * (non-Javadoc)
885
	 * @see org.gvsig.raster.util.ICancellable#isCanceled()
886
	 */
887
	public boolean isCanceled() {
888
		if (histogram != null) return histogram.isCanceled();
889
		return false;
890
	}
876 891
}
trunk/libraries/libRaster/src/org/gvsig/raster/dataset/GeoInfo.java
21 21
import java.awt.geom.AffineTransform;
22 22
import java.util.Date;
23 23

  
24
import org.cresques.cts.ICoordTrans;
25 24
import org.cresques.cts.IProjection;
26 25
import org.cresques.geo.Projected;
27 26
import org.gvsig.raster.shared.Extent;
28 27

  
29
import com.hardcode.driverManager.Driver;
30 28

  
31

  
32 29
/**
33 30
 * Ancestro de todos los formatos geogr?ficos
34 31
 *
trunk/libraries/libRaster/src/org/gvsig/raster/dataset/io/EcwDriver.java
44 44
import com.ermapper.ecw.JNCSInvalidSetViewException;
45 45
import com.ermapper.ecw.JNCSProgressiveUpdate;
46 46

  
47
import es.gva.cit.jgdal.GdalException;
48

  
49

  
50 47
/**
51 48
 * Driver de Ecw
52 49
 * 
trunk/libraries/libRaster/src/org/gvsig/raster/grid/filter/RasterFilterList.java
20 20

  
21 21
import java.util.ArrayList;
22 22

  
23
import org.cresques.px.Extent;
24 23
import org.gvsig.raster.dataset.IBuffer;
25 24

  
26

  
27 25
/**
28 26
 * Esta clase representa la lista de filtros que debe ser manejada desde el
29 27
 * RasterFilterListManager.
trunk/libraries/libRaster/src/org/gvsig/raster/grid/filter/enhancement/BrightnessContrastListManager.java
21 21

  
22 22
import java.util.ArrayList;
23 23

  
24
import org.gvsig.i18n.Messages;
25 24
import org.gvsig.raster.dataaccess.buffer.RasterBuffer;
26
import org.gvsig.raster.dataset.RasterDataset;
27 25
import org.gvsig.raster.grid.filter.IRasterFilterListManager;
28 26
import org.gvsig.raster.grid.filter.RasterFilter;
29 27
import org.gvsig.raster.grid.filter.RasterFilterList;
30 28
import org.gvsig.raster.grid.filter.RasterFilterListManager;
31 29

  
32

  
33 30
public class BrightnessContrastListManager implements IRasterFilterListManager{
34 31
	
35 32
	protected RasterFilterList 			filterList = null;
trunk/libraries/libRaster/src/org/gvsig/raster/grid/filter/enhancement/BrightnessFilter.java
19 19

  
20 20
package org.gvsig.raster.grid.filter.enhancement;
21 21

  
22
import org.gvsig.i18n.Messages;
23 22
import org.gvsig.raster.grid.filter.RasterFilter;
24 23

  
25 24
/**
trunk/libraries/libRaster/src/org/gvsig/raster/grid/filter/enhancement/ContrastFilter.java
19 19

  
20 20
package org.gvsig.raster.grid.filter.enhancement;
21 21

  
22
import org.gvsig.i18n.Messages;
23 22
import org.gvsig.raster.grid.filter.RasterFilter;
24 23

  
25 24
/**
trunk/libraries/libRaster/src/org/gvsig/raster/grid/filter/enhancement/ContrastShortFilter.java
1 1
package org.gvsig.raster.grid.filter.enhancement;
2 2

  
3
import org.cresques.filter.RasterBuf;
4 3
import org.gvsig.raster.dataaccess.buffer.RasterBuffer;
5 4

  
6 5
/**
trunk/libraries/libRaster/src/org/gvsig/raster/grid/filter/enhancement/LinearEnhancementFilter.java
18 18
 */
19 19
package org.gvsig.raster.grid.filter.enhancement;
20 20

  
21
import org.gvsig.i18n.Messages;
22 21
import org.gvsig.raster.dataaccess.buffer.RasterBuffer;
23 22
import org.gvsig.raster.dataset.IBuffer;
24 23
import org.gvsig.raster.dataset.properties.DatasetListStatistics;
25 24
import org.gvsig.raster.grid.filter.RasterFilter;
26 25

  
27

  
28 26
/**
29 27
 * Clase base para los filtros de realzado lineal. Lee el m?nimo y m?xmo de la clase
30 28
 * Statistic que ser?n calculados por PercentTailTrimFilter o ComputeMinMaxFilter dependiendo
trunk/libraries/libRaster/src/org/gvsig/raster/grid/filter/enhancement/LinearEnhancementShortFilter.java
23 23
 */
24 24
package org.gvsig.raster.grid.filter.enhancement;
25 25

  
26
import org.gvsig.raster.dataaccess.buffer.RasterBuffer;
27 26
import org.gvsig.raster.dataset.IBuffer;
28
import org.gvsig.raster.dataset.properties.DatasetListStatistics;
29 27

  
30

  
31 28
/**
32 29
 * Realzado Lineal (Amplitude Rescaling) para imagenes de 16 bits.
33 30
 * @author Luis W. Sevilla (sevilla_lui@gva.es)
trunk/libraries/libRaster/src/org/gvsig/raster/grid/filter/RasterFilter.java
18 18
 */
19 19
package org.gvsig.raster.grid.filter;
20 20

  
21
import java.awt.Image;
22 21
import java.util.Hashtable;
23 22

  
24
import org.cresques.geo.ViewPortData;
25 23
import org.cresques.px.Extent;
26 24
import org.gvsig.raster.dataset.IBuffer;
27 25

  
trunk/libraries/libRaster/src/org/gvsig/raster/grid/filter/statistics/TailTrimFilter.java
20 20

  
21 21
import java.util.Arrays;
22 22

  
23
import org.gvsig.i18n.Messages;
24 23
import org.gvsig.raster.dataset.IBuffer;
25 24
import org.gvsig.raster.dataset.IStatistics;
26 25
import org.gvsig.raster.grid.filter.RasterFilter;
27 26

  
28

  
29 27
/**
30 28
 * Filtro de recorte de colas. Este filtro toma pixels de la imagen (todos o algunas muestras
31 29
 * dependiendo de la variable percentSample) y los ordena. Recorta un porcentaje controlado
trunk/libraries/libRaster/src/org/gvsig/raster/grid/filter/statistics/TailTrimShortFilter.java
18 18
 */
19 19
package org.gvsig.raster.grid.filter.statistics;
20 20

  
21
import java.util.Arrays;
22

  
23 21
import org.gvsig.raster.dataset.IBuffer;
24 22

  
25

  
26

  
27 23
/**
28 24
 * Proceso del filtro de recorte de colas aplicado a im?genes 16 bits
29 25
 * @author Nacho Brodin (nachobrodin@gmail.com)
trunk/libraries/libRaster/src/org/gvsig/raster/grid/filter/statistics/TailTrimByteFilter.java
18 18
 */
19 19
package org.gvsig.raster.grid.filter.statistics;
20 20

  
21
import java.util.Arrays;
22

  
23 21
import org.gvsig.raster.dataset.IBuffer;
24 22

  
25 23
/**
trunk/libraries/libRaster/src/org/gvsig/raster/grid/GridReader.java
18 18
 */
19 19
package org.gvsig.raster.grid;
20 20

  
21
import org.gvsig.raster.dataaccess.DataSource;
22 21
import org.gvsig.raster.dataaccess.IQueryableRaster;
23 22
import org.gvsig.raster.dataaccess.buffer.RasterBuffer;
24 23
import org.gvsig.raster.dataaccess.buffer.RasterBufferInvalidAccessException;
trunk/libraries/libRaster/src/org/gvsig/raster/grid/IQueryableGrid.java
18 18
 */
19 19
package org.gvsig.raster.grid;
20 20

  
21
import java.util.Arrays;
22

  
23 21
import org.gvsig.raster.dataaccess.buffer.RasterBufferInvalidAccessException;
24 22

  
25 23
/**
trunk/libraries/libRaster/src/org/gvsig/raster/shared/IRasterGeoOperations.java
1 1
package org.gvsig.raster.shared;
2 2

  
3 3
import org.cresques.cts.IProjection;
4
import org.gvsig.raster.dataset.RasterDriverException;
5 4

  
6 5
/**
7 6
 * Interfaz que representa operaciones de imagenes con georreferenciaci?n.
trunk/libraries/libRaster/src/org/gvsig/raster/dataaccess/buffer/RasterBuffer.java
45 45
	private static int		multicacheMemorySize = 100;
46 46
	
47 47
	public double 			noDataValue = -99999;
48
	protected int			percent = 0;
48

  
49
	protected int				percent = 0;
50
	protected boolean		canceled = false;
49 51
	
50 52
  protected int 			width;
51 53
  protected int 			height;
......
384 386
			for (int row = 0; row < getHeight(); row++) {
385 387
				for (int col = 0; col < getWidth(); col++) 
386 388
					hist.incrementPxValue(iBand, (getElemByte(row, col, iBand) & 0xff));
389
				if (isCanceled()) return null;
387 390
				percent = ((iBand*getHeight() + row) * 100) /(getHeight() * getBandCount());
388 391
			}
389 392
		percent = 100;
......
430 433
	public int getPercent() {
431 434
		return percent;
432 435
	}
436

  
437
	/*
438
	 * (non-Javadoc)
439
	 * @see org.gvsig.raster.util.ICancellable#isCanceled()
440
	 */
441
	public boolean isCanceled() {
442
		return canceled;
443
	}
444
	
445
	/*
446
	 * (non-Javadoc)
447
	 * @see org.gvsig.raster.util.ICancellable#cancel()
448
	 */
449
	public void cancel() {
450
		canceled = true;
451
	}
433 452
}
trunk/libraries/libRaster/src/org/gvsig/raster/dataaccess/DataSource.java
23 23

  
24 24
import org.gvsig.raster.dataaccess.buffer.RasterBuffer;
25 25
import org.gvsig.raster.dataset.FileFoundInListException;
26
import org.gvsig.raster.dataset.FileNotOpenException;
27 26
import org.gvsig.raster.dataset.IBuffer;
28 27
import org.gvsig.raster.dataset.NotSupportedExtensionException;
29 28
import org.gvsig.raster.dataset.RasterDataset;
......
31 30
import org.gvsig.raster.dataset.RasterMultiDataset;
32 31
import org.gvsig.raster.dataset.properties.DatasetPalette;
33 32
import org.gvsig.raster.shared.Extent;
34
import org.gvsig.raster.util.DataClassList;
35
import org.gvsig.raster.util.Histogram;
36 33
import org.gvsig.raster.util.RasterUtilities;
37 34

  
38 35
/**
trunk/libraries/libRaster/src/org/gvsig/raster/dataaccess/cache/LRUAlgorithm.java
21 21

  
22 22
import java.io.IOException;
23 23

  
24
import org.gvsig.raster.dataaccess.buffer.IBand;
25
import org.gvsig.raster.dataaccess.buffer.RasterBand;
26
import org.gvsig.raster.dataaccess.buffer.RasterBuffer;
27
import org.gvsig.raster.dataset.IBuffer;
28

  
29 24
/*
30 25
 * TODO: OPTIMIZACION: Trabajo de optimizaci?n en la velocidad e acceso a cach?.
31 26
 * TODO: FUNCIONALIDAD: Acabar de implementar los m?todos de acceso a datos, intercambio de bandas, etc...
trunk/libraries/libRaster/src/org/gvsig/raster/dataaccess/cache/RasterReadOnlyHugeBuffer.java
4 4

  
5 5
import org.gvsig.raster.dataaccess.buffer.IBand;
6 6
import org.gvsig.raster.dataaccess.buffer.RasterBuffer;
7
import org.gvsig.raster.dataaccess.buffer.RasterMemoryBuffer;
8 7
import org.gvsig.raster.dataset.IBuffer;
9 8
import org.gvsig.raster.dataset.NotSupportedExtensionException;
10 9
import org.gvsig.raster.dataset.RasterDriverException;
11
import org.gvsig.raster.util.DataClassList;
12
import org.gvsig.raster.util.Histogram;
13
import org.gvsig.raster.util.HistogramException;
14 10

  
15 11
/**
16 12
 * 
trunk/libraries/libRaster/src/org/gvsig/raster/dataaccess/cache/CacheDataFromDriverServer.java
19 19
 */
20 20
package org.gvsig.raster.dataaccess.cache;
21 21

  
22
import java.io.File;
23
import java.io.FileNotFoundException;
24 22
import java.io.IOException;
25 23

  
26 24
import org.gvsig.raster.dataset.Band;
trunk/libraries/libRaster/src/org/gvsig/raster/dataaccess/cache/RasterCache.java
27 27
import org.gvsig.raster.dataaccess.buffer.RasterBand;
28 28
import org.gvsig.raster.dataaccess.buffer.RasterBuffer;
29 29
import org.gvsig.raster.dataset.IBuffer;
30
import org.gvsig.raster.util.DataClassList;
31
import org.gvsig.raster.util.Histogram;
32
import org.gvsig.raster.util.HistogramException;
33 30
import org.gvsig.raster.util.RasterUtilities;
34 31

  
35 32
/*
trunk/libraries/libRaster/src/org/gvsig/raster/dataaccess/cache/PageBuffer.java
37 37
 */
38 38
public class PageBuffer implements IBuffer {
39 39

  
40
	private PageBandBuffer[] pageBandBuffer = null;
41
	private int	percent = 0;
40
	private PageBandBuffer[]	pageBandBuffer = null;
41

  
42
	private int								percent = 0;
43
	private boolean						canceled = false;
42 44
	
43 45
	/**
44 46
	 * Constructor
......
420 422
			return null;
421 423
		Histogram hist = new Histogram(getBandCount(), 256);
422 424
		for (int iBand = 0; iBand < getBandCount(); iBand++) 
423
			for (int col = 0; col < getHeight(); col++) 
425
			for (int col = 0; col < getHeight(); col++) { 
424 426
				for (int row = 0; row < getWidth(); row++) 
425 427
					hist.incrementPxValue(iBand, getElemByte(row, col, iBand));
428
				if (isCanceled()) return null;
429
			}
426 430
		percent = 100;
427 431
		return hist;
428 432
	}
......
467 471
	public int getPercent() {
468 472
		return percent;
469 473
	}
474

  
475
	/*
476
	 * (non-Javadoc)
477
	 * @see org.gvsig.raster.util.ICancellable#cancel()
478
	 */
479
	public void cancel() {
480
		canceled = true;
481
	}
482

  
483
	/*
484
	 * (non-Javadoc)
485
	 * @see org.gvsig.raster.util.ICancellable#isCanceled()
486
	 */
487
	public boolean isCanceled() {
488
		return canceled;
489
	}
470 490
}
trunk/libraries/libRaster/src/org/gvsig/raster/util/ICancellable.java
1
/* gvSIG. Sistema de Informaci?n Geogr?fica de la Generalitat Valenciana
2
 *
3
 * Copyright (C) 2007 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.util;
20

  
21
/**
22
 * Interfaz para poder cancelar un proceso de obtenci?n de histogramas.
23
 *
24
 * @version 05/04/2007
25
 * @author Borja S?nchez Zamorano (borja.sanchez@iver.es)
26
 */
27
public interface ICancellable {
28

  
29
	/**
30
	 * Comprobar si ha sido cancelado un proceso
31
	 * @return boolean
32
	 */
33
	public boolean isCanceled();
34

  
35
	/**
36
	 * Cancelar un proceso
37
	 */
38
	public void cancel();
39
}
0 40

  
trunk/libraries/libRaster/src/org/gvsig/raster/util/DataClass.java
1 1
package org.gvsig.raster.util;
2 2

  
3
import org.gvsig.raster.dataset.IBuffer;
4

  
5 3
/**
6 4
 * Clase que define un intervalo de datos. Es util para cosas como el calculo de histogramas
7 5
 * con tipo de datos en coma flotante en el cual hay que dividir los intervalos en
trunk/libraries/libRaster/src/org/gvsig/raster/util/IHistogramable.java
18 18
 */
19 19
package org.gvsig.raster.util;
20 20

  
21

  
22 21
/**
23 22
 * Interfaz que deben implementar todas las clases capaces de servir histogramas
24 23
 * @version 27/03/2007
25 24
 * @author Nacho Brodin (nachobrodin@gmail.com)
26
 *
27 25
 */
28
public interface IHistogramable {
26
public interface IHistogramable extends ICancellable {
27

  
29 28
	/**
30 29
	 * Obtiene un histograma.
31 30
	 * @return Histograma
......
34 33
	
35 34
	/**
36 35
	 * Inicializa el porcentaje a 0 de un histograma.
37
	 * @return int
38 36
	 */
39 37
	public void resetPercent();
40 38
	
......
44 42
	 */
45 43
	public int getPercent();
46 44

  
47
		/**
45
	/**
48 46
	 * Obtiene un histograma a partir de la lista de clases pasada por par?metro.
49 47
	 * @param classes
50 48
	 * @return Histograma
51 49
	 */
52
	public Histogram getHistogramUsingClasses(DataClassList classes)throws HistogramException;
53
}
50
	public Histogram getHistogramUsingClasses(DataClassList classes) throws HistogramException;
51
}

Also available in: Unified diff