Revision 497 2.1/trunk/org.gvsig.view3d/org.gvsig.view3d.swing/org.gvsig.view3d.swing.impl/src/main/java/org/gvsig/view3d/swing/impl/data/DefaultRasterServer.java

View differences:

DefaultRasterServer.java
209 209
            reqParams.setValue(AVKey.PIXEL_FORMAT, AVKey.ELEVATION);
210 210

  
211 211
            if (!reqParams.hasKey(AVKey.DATA_TYPE)) {
212
                reqParams.setValue(AVKey.DATA_TYPE, AVKey.INT16);
212
                LOG.error("Missing requerided parameter {}", AVKey.DATA_TYPE,
213
                    new IllegalArgumentException());
213 214
            }
214

  
215
            
216
            String dataType = (String) reqParams.getValue(AVKey.DATA_TYPE);
217
            int bytesNumber = getBytesNumber(dataType);
218
            ByteBuffer byteBuffer =
219
                ByteBuffer.allocate(reqWidth * reqHeight * bytesNumber);
220
            
215 221
            reqRaster =
216
                new ByteBufferRaster(reqWidth, reqHeight, reqSector, reqParams);
222
                new ByteBufferRaster(reqWidth, reqHeight, reqSector,
223
                    byteBuffer, reqParams);
217 224

  
218 225
        } else if (AVKey.IMAGE.equals(this.getValue(AVKey.PIXEL_FORMAT))) {
219 226

  
......
232 239

  
233 240
        return reqRaster;
234 241
    }
242
    
243
    private int getBytesNumber(String dataType) {
235 244

  
245
        if (AVKey.INT8.equals(dataType)) {
246
            return 1;
247
        } else if (AVKey.INT16.equals(dataType)) {
248
            return 2;
249
        } else if (AVKey.INT32.equals(dataType)
250
            || AVKey.FLOAT32.equals(dataType)) {
251
            return 4;
252
        } else if (AVKey.FLOAT64.equals(dataType)) {
253
            return 8;
254
        }
255

  
256
        return 1;
257
    }
258

  
236 259
}

Also available in: Unified diff