Revision 18106 trunk/extensions/extArcims/src/es/prodevelop/cit/gvsig/arcims/fmap/layers/FRasterLyrArcIMS.java

View differences:

FRasterLyrArcIMS.java
143 143
 * @author jldominguez
144 144
 */
145 145
public class FRasterLyrArcIMS extends FLyrRasterSE {
146
	
146

  
147 147
    private static Logger logger = Logger.getLogger(FRasterLyrArcIMS.class.getName());
148 148
    public static final String SCALE_CHANGED_COMMAND = "SCALE_HAS_CHANGED";
149 149
    private MyCancellable myCanc;
......
166 166
	private int[]                       renderBands = null;
167 167
	private FLyrRasterSE				layerRaster = null;
168 168
	private ArrayList                   filterArguments = null;
169
	
169

  
170 170
    private int posX = 0;
171 171
    private int posY = 0;
172 172
    private double posXWC = 0;
......
174 174
    private ArrayList actionListeners = new ArrayList();
175 175
    private int maxTileWidth = 1023;
176 176
    private int maxTileHeight = 1023;
177
    
177

  
178 178
    private Grid grid = null;
179
    
179

  
180 180
    private boolean nameQueryChange = false;
181 181
    private ArrayList listeners = new ArrayList();
182 182
    private boolean tiled = false;
......
451 451
            tiled = true;
452 452
            tileSize[0] = tiles.getMaxTileWidth();
453 453
            tileSize[1] = tiles.getMaxTileHeight();
454
            
454

  
455 455
			MultiRasterDataset[][] datasets = new MultiRasterDataset[tiles.getNumRows()][tiles.getNumCols()];
456 456
			IBuffer[][] buf = new IBuffer[tiles.getNumRows()][tiles.getNumCols()];
457
            
458
            
457

  
458

  
459 459
            // more than one tile ----------------------
460 460
            for (int tileNr = 0; tileNr < tiles.getNumTiles(); tileNr++) {
461 461
                // drawing part
462 462
                try {
463 463
                    ViewPort vp = tiles.getTileViewPort(viewPort, tileNr);
464 464
                    drawTile(g, vp, cancel, scale);
465
                    
465

  
466 466
					if (layerRaster != null) {
467
						datasets[(int)(tileNr / tiles.getNumCols())][tileNr % tiles.getNumCols()] = (MultiRasterDataset)layerRaster.getDataSource().copy();
467
						datasets[(int)(tileNr / tiles.getNumCols())][tileNr % tiles.getNumCols()] = (MultiRasterDataset)layerRaster.getDataSource().newDataset();
468 468
						buf[(int)(tileNr / tiles.getNumCols())][tileNr % tiles.getNumCols()] = layerRaster.getRender().getLastRenderBuffer();
469 469
					}
470 470
                } catch (NoninvertibleTransformException e) {
......
473 473
                    logger.error("While drawing tile: " + de.getMessage());
474 474
                }
475 475
            }
476
            
476

  
477 477
			try {
478 478
				if(datasets != null && datasets[0][0] != null) {
479 479
					dataset = new CompositeDataset(datasets);
......
484 484
			} catch (LoadLayerException e) {
485 485
				throw new ReadDriverException("Error inicializando la capa.", e);
486 486
			}
487
            
487

  
488 488
            // more than one tile ----------------------
489
            
490
            
489

  
490

  
491 491
        } else {
492
        	
492

  
493 493
        	// one tile --------------------------------
494 494
                try {
495 495
                    ViewPort vp = tiles.getTileViewPort(viewPort, 0);
......
498 498
        			dataset = layerRaster.getDataSource();
499 499
        			getRender().setLastRenderBuffer(layerRaster.getRender().getLastRenderBuffer());
500 500
        			initializeRasterLayer(null, new IBuffer[][]{{layerRaster.getRender().getLastRenderBuffer()}});
501
                    
501

  
502 502
                } catch (NoninvertibleTransformException e) {
503 503
                    logger.error("Non invertible matrix! ");
504 504
                } catch (DriverException de) {
......
508 508
				}
509 509
        	// one tile --------------------------------
510 510

  
511
        	
511

  
512 512
        }
513 513

  
514 514

  
......
581 581
			ViewPort vp,
582 582
			double scale,
583 583
			Cancellable cancel) throws ReadDriverException, LoadLayerException, FilterTypeException {
584
		
584

  
585 585
		//Cerramos el dataset asociado a la capa si est? abierto.
586 586
		if(layerRaster != null) {
587 587
			layerRaster.setRemoveRasterFlag(true);
......
668 668
     * @return A list of 2-element arrays { "Attribute name" , Value }
669 669
     */
670 670
    public ArrayList getAttributes() {
671
    	
671

  
672 672
//        if (rasterFile != null) {
673 673
//            ArrayList attr = new ArrayList();
674 674
//            Object[][] a = {
......
883 883
						filterArguments = status.getFilterArguments();
884 884
						gridTransparency = status.getTransparency();
885 885
						renderBands = status.getRenderBands();
886
                        
886

  
887 887
                    }
888 888
                }
889 889
                catch (ClassNotFoundException exc) {
......
1258 1258
        private int bandCount = 0;
1259 1259
        private int dataType = DataBuffer.TYPE_UNDEFINED;
1260 1260
    }
1261
    
1261

  
1262 1262
	public RasterFilterList getRenderFilterList(){
1263 1263
		return (filterList != null) ? filterList : getRender().getFilterList();
1264 1264
	}
......
1271 1271
		this.filterList = filterList;
1272 1272
		super.getRender().setFilterList(filterList);
1273 1273
	}
1274
	
1274

  
1275 1275
	public void setRenderBands(int[] renderBands) {
1276 1276
		this.renderBands = renderBands;
1277 1277
		getRender().setRenderBands(renderBands);
1278 1278
	}
1279
	
1280
	
1279

  
1280

  
1281 1281
	/**
1282 1282
	 * Acciones que se realizan despu?s de asignar la fuente de datos a
1283 1283
	 * la capa raster.
......
1309 1309
			getRender().setLastRenderBuffer(buff);
1310 1310
		}
1311 1311
	}
1312
	
1312

  
1313 1313
	public GridTransparency getRenderTransparency() {
1314 1314
		return (gridTransparency != null) ? gridTransparency : getRender().getLastTransparency();
1315 1315
	}
1316
	
1316

  
1317 1317
	public boolean isActionEnabled(int action) {
1318 1318
		switch (action) {
1319 1319
			case IRasterLayerActions.ZOOM_PIXEL_RESOLUTION:
......
1327 1327

  
1328 1328
		return super.isActionEnabled(action);
1329 1329
	}
1330
	
1330

  
1331 1331
	public int[] getRenderBands() {
1332 1332
		return (renderBands != null) ? renderBands : getRender().getRenderBands();
1333 1333
	}
1334 1334

  
1335
	
1336
	
1337
	
1338
	
1339
    
1335

  
1336

  
1337

  
1338

  
1339

  
1340 1340
}

Also available in: Unified diff