Revision 12749 trunk/libraries/libRaster/src/org/gvsig/raster/dataset/io/MemoryRasterDriver.java
MemoryRasterDriver.java | ||
---|---|---|
239 | 239 |
if(end.getX() > buffer.getWidth()) |
240 | 240 |
begin.setLocation(buffer.getWidth(), begin.getY()); |
241 | 241 |
} |
242 |
|
|
243 |
/* |
|
244 |
* (non-Javadoc) |
|
245 |
* @see org.gvsig.raster.dataset.RasterDataset#getWindowRaster(double, double, double, double, org.gvsig.raster.dataset.BandList, org.gvsig.raster.dataset.IBuffer) |
|
246 |
*/ |
|
247 |
public IBuffer getWindowRaster(double ulx, double uly, double lrx, double lry, BandList bandList, IBuffer rasterBuf) { |
|
248 |
Point2D begin = worldToRaster(new Point2D.Double(ulx, uly)); |
|
249 |
Point2D end = worldToRaster(new Point2D.Double(lrx, lry)); |
|
250 |
setView(new Extent(ulx, uly, lrx, lry)); |
|
251 |
|
|
252 |
adjustPointsToBufferLimits(begin, end); |
|
253 |
|
|
254 |
switch(buffer.getDataType()){ |
|
255 |
case IBuffer.TYPE_BYTE: writeByteBuffer(rasterBuf, 1, 1, begin, bandList); break; |
|
256 |
case IBuffer.TYPE_SHORT: writeShortBuffer(rasterBuf, 1, 1, begin, bandList); break; |
|
257 |
case IBuffer.TYPE_INT: writeIntBuffer(rasterBuf, 1, 1, begin, bandList); break; |
|
258 |
case IBuffer.TYPE_FLOAT: writeFloatBuffer(rasterBuf, 1, 1, begin, bandList); break; |
|
259 |
case IBuffer.TYPE_DOUBLE: writeDoubleBuffer(rasterBuf, 1, 1, begin, bandList); break; |
|
260 |
} |
|
261 |
return rasterBuf; |
|
262 |
} |
|
242 | 263 |
|
243 | 264 |
/* |
244 | 265 |
* (non-Javadoc) |
Also available in: Unified diff