Revision 6220 org.gvsig.raster/branches/org.gvsig.raster.2.4/org.gvsig.raster/org.gvsig.raster.lib/org.gvsig.raster.lib.buffer/org.gvsig.raster.lib.buffer.impl/src/main/java/org/gvsig/raster/lib/buffer/impl/PaginatedBandShort.java
PaginatedBandShort.java | ||
---|---|---|
15 | 15 |
*/ |
16 | 16 |
public class PaginatedBandShort extends AbstractPaginatedBand implements BandShort { |
17 | 17 |
|
18 |
private ShortBuffer specificData; |
|
19 | 18 |
|
20 | 19 |
/** |
21 | 20 |
* @param rows |
... | ... | |
26 | 25 |
*/ |
27 | 26 |
public PaginatedBandShort(int rows, int columns, NoData noData, BandPageManager pageManager) { |
28 | 27 |
super(rows, columns, noData, pageManager); |
29 |
specificData = data.asShortBuffer();
|
|
28 |
data = ShortBuffer.allocate(rowsPerPage * columns);
|
|
30 | 29 |
} |
31 | 30 |
|
32 | 31 |
@Override |
... | ... | |
57 | 56 |
|
58 | 57 |
for(int row=0; row<this.rows; row+=this.rowsPerPage){ |
59 | 58 |
loadPage(row); |
60 |
Arrays.fill(specificData.array(), (short) value);
|
|
59 |
Arrays.fill((short[])data.array(), (short) value);
|
|
61 | 60 |
} |
62 | 61 |
} |
63 | 62 |
|
64 | 63 |
@Override |
65 | 64 |
public short getValue(int row, int column) { |
66 | 65 |
loadPage(row); |
67 |
return specificData.get( ((row-firstRowOfPage)*this.columns) + column);
|
|
66 |
return ((ShortBuffer) data).get( ((row-firstRowOfPage)*this.columns) + column);
|
|
68 | 67 |
} |
69 | 68 |
|
70 | 69 |
@Override |
... | ... | |
75 | 74 |
|
76 | 75 |
protected void doSetValue(int row, int column, short value) { |
77 | 76 |
loadPage(row); |
78 |
specificData.put(((row-firstRowOfPage)*this.columns) + column, value);
|
|
77 |
((ShortBuffer) data).put(((row-firstRowOfPage)*this.columns) + column, value);
|
|
79 | 78 |
} |
80 | 79 |
|
81 | 80 |
@Override |
... | ... | |
86 | 85 |
@Override |
87 | 86 |
public void fetchRow(int row, Object rowBuffer) { |
88 | 87 |
loadPage(row); |
89 |
short[] source = (short[]) ((java.nio.Buffer)specificData).array();
|
|
88 |
short[] source = (short[]) data.array();
|
|
90 | 89 |
short[] target = (short[]) rowBuffer; |
91 | 90 |
System.arraycopy(source, (row-firstRowOfPage)*this.columns, target, 0, this.columns); |
92 | 91 |
} |
... | ... | |
95 | 94 |
protected void doPutRow(int row, Object rowBuffer) { |
96 | 95 |
loadPage(row); |
97 | 96 |
short[] source = (short[]) rowBuffer; |
98 |
short[] target = (short[]) ((java.nio.Buffer)specificData).array();
|
|
97 |
short[] target = (short[]) data.array();
|
|
99 | 98 |
System.arraycopy(source, 0, target, (row-firstRowOfPage)*this.columns, this.columns); |
100 | 99 |
} |
101 | 100 |
} |
Also available in: Unified diff