svn-gvsig-desktop / trunk / org.gvsig.desktop / org.gvsig.desktop.library / org.gvsig.raster / org.gvsig.raster.lib / org.gvsig.raster.lib.buffer.impl / src / main / java / org / gvsig / raster / lib / buffer / impl / ConvertedTypeBandInt.java @ 44831
History | View | Annotate | Download (2.18 KB)
1 |
package org.gvsig.raster.lib.buffer.impl; |
---|---|
2 |
|
3 |
import org.gvsig.raster.lib.buffer.api.Band; |
4 |
import org.gvsig.raster.lib.buffer.api.Band.BandInt; |
5 |
import org.gvsig.raster.lib.buffer.api.BandInfo; |
6 |
import org.gvsig.raster.lib.buffer.api.Buffer; |
7 |
import org.gvsig.raster.lib.buffer.api.BufferLocator; |
8 |
import org.gvsig.raster.lib.buffer.api.BufferManager; |
9 |
import org.gvsig.raster.lib.buffer.api.NoData; |
10 |
|
11 |
|
12 |
/**
|
13 |
* @author fdiaz
|
14 |
*
|
15 |
*/
|
16 |
public class ConvertedTypeBandInt extends AbstractConvertedTypeBand implements BandInt{ |
17 |
|
18 |
/**
|
19 |
* @param buffer
|
20 |
* @param band
|
21 |
*/
|
22 |
public ConvertedTypeBandInt(Buffer buffer, Band band) { |
23 |
super(buffer, band);
|
24 |
} |
25 |
|
26 |
@Override
|
27 |
public int[] createRowBuffer() { |
28 |
return new int[getColumns()]; |
29 |
} |
30 |
|
31 |
@Override
|
32 |
public void fetchRow(int row, Object rowBuffer) { |
33 |
for (int i = 0; i < getColumns(); i++) { |
34 |
((int[]) rowBuffer)[i] = ((Number) this.band.get(row, i)).intValue(); |
35 |
} |
36 |
} |
37 |
|
38 |
@Override
|
39 |
public int getValue(int row, int column) { |
40 |
return ((Number) this.get(row, column)).intValue(); |
41 |
} |
42 |
|
43 |
@Override
|
44 |
public void setValue(int row, int column, int value) { |
45 |
doSet(row, column, new Integer(value)); |
46 |
} |
47 |
|
48 |
@Override
|
49 |
public int getDataType() { |
50 |
return BufferManager.TYPE_INT;
|
51 |
} |
52 |
|
53 |
@Override
|
54 |
public Object get(int row, int column) { |
55 |
return ((Number) this.get(row, column)).intValue(); |
56 |
} |
57 |
@Override
|
58 |
public NoData getNoData() {
|
59 |
NoData bandNoData = this.band.getNoData();
|
60 |
if(bandNoData==null){ |
61 |
this.noData = BufferLocator.getBufferManager().createNoData(null, null); |
62 |
} else {
|
63 |
Integer value = null; |
64 |
Integer defaultValue = null; |
65 |
Number bandvalue = bandNoData.getValue();
|
66 |
Number bandDefaultValue = bandNoData.getDefaultValue();
|
67 |
if (bandvalue != null) { |
68 |
value = bandvalue.intValue(); |
69 |
} |
70 |
if (bandDefaultValue != null) { |
71 |
defaultValue = bandDefaultValue.intValue(); |
72 |
} |
73 |
|
74 |
this.noData = BufferLocator.getBufferManager().createNoData(value, defaultValue);
|
75 |
} |
76 |
return this.noData; |
77 |
} |
78 |
} |