Statistics
| Revision:

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 / ConvertedTypeBandFloat.java @ 44831

History | View | Annotate | Download (2.24 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.BandFloat;
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 ConvertedTypeBandFloat extends AbstractConvertedTypeBand implements BandFloat{
17

    
18
    /**
19
     * @param buffer
20
     * @param band
21
     */
22
    public ConvertedTypeBandFloat(Buffer buffer, Band band) {
23
        super(buffer, band);
24
    }
25

    
26
    @Override
27
    public float[] createRowBuffer() {
28
        return new float[getColumns()];
29
    }
30

    
31
    @Override
32
    public void fetchRow(int row, Object rowBuffer) {
33
        for (int i = 0; i < getColumns(); i++) {
34
            ((float[]) rowBuffer)[i] = ((Number) this.band.get(row, i)).floatValue();
35
        }
36
    }
37

    
38
    @Override
39
    public float getValue(int row, int column) {
40
        return ((Number) this.get(row, column)).floatValue();
41
    }
42

    
43
    @Override
44
    public void setValue(int row, int column, float value) {
45
        doSet(row, column, new Float(value));
46
    }
47

    
48
    @Override
49
    public int getDataType() {
50
        // TODO Auto-generated method stub
51
        return BufferManager.TYPE_FLOAT;
52
    }
53

    
54
    @Override
55
    public Object get(int row, int column) {
56
        return ((Number) this.get(row, column)).floatValue();
57
    }
58
    @Override
59
    public NoData getNoData() {
60
        NoData bandNoData = this.band.getNoData();
61
        if(bandNoData==null){
62
            this.noData = BufferLocator.getBufferManager().createNoData(null, null);
63
        } else {
64
            Float value = null;
65
            Float defaultValue = null;
66
            Number bandvalue = bandNoData.getValue();
67
            Number bandDefaultValue = bandNoData.getDefaultValue();
68
            if (bandvalue != null) {
69
                value = bandvalue.floatValue();
70
            }
71
            if (bandDefaultValue != null) {
72
                defaultValue = bandDefaultValue.floatValue();
73
            }
74

    
75
            this.noData = BufferLocator.getBufferManager().createNoData(value, defaultValue);
76
        }
77
        return this.noData;
78
    }
79
}