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/PaginatedBandDouble.java

View differences:

PaginatedBandDouble.java
15 15
 */
16 16
public class PaginatedBandDouble extends AbstractPaginatedBand implements BandDouble {
17 17

  
18
    private DoubleBuffer specificData;
19

  
20 18
    /**
21 19
     * @param rows
22 20
     * @param columns
......
26 24
     */
27 25
    public PaginatedBandDouble(int rows, int columns, NoData noData, BandPageManager pageManager) {
28 26
        super(rows, columns, noData, pageManager);
29
        specificData = data.asDoubleBuffer();
27
        data = DoubleBuffer.allocate(rowsPerPage * columns);
30 28
    }
31 29

  
32 30
    @Override
......
57 55

  
58 56
        for(int row=0; row<this.rows; row+=this.rowsPerPage){
59 57
            loadPage(row);
60
            Arrays.fill(specificData.array(), (double) value);
58
            Arrays.fill((double[])data.array(), (double) value);
61 59
        }
62 60
    }
63 61

  
64 62
    @Override
65 63
    public double getValue(int row, int column) {
66 64
        loadPage(row);
67
        return specificData.get( ((row-firstRowOfPage)*this.columns) + column);
65
        return ((DoubleBuffer) data).get( ((row-firstRowOfPage)*this.columns) + column);
68 66
    }
69 67

  
70 68
    @Override
......
75 73

  
76 74
    protected void doSetValue(int row, int column, double value) {
77 75
        loadPage(row);
78
        specificData.put(((row-firstRowOfPage)*this.columns) + column, value);
76
        ((DoubleBuffer) data).put(((row-firstRowOfPage)*this.columns) + column, value);
79 77
    }
80 78

  
81 79
    @Override
......
86 84
    @Override
87 85
    public void fetchRow(int row, Object rowBuffer) {
88 86
        loadPage(row);
89
        double[] source = (double[]) ((java.nio.Buffer)specificData).array();
87
        double[] source = (double[]) data.array();
90 88
        double[] target = (double[]) rowBuffer;
91 89
        System.arraycopy(source, (row-firstRowOfPage)*this.columns, target, 0, this.columns);
92 90
    }
......
95 93
    protected void doPutRow(int row, Object rowBuffer) {
96 94
        loadPage(row);
97 95
        double[] source = (double[]) rowBuffer;
98
        double[] target = (double[]) ((java.nio.Buffer)specificData).array();
96
        double[] target = (double[]) data.array();
99 97
        System.arraycopy(source, 0, target, (row-firstRowOfPage)*this.columns, this.columns);
100 98
    }
101 99
}

Also available in: Unified diff