Revision 18219 trunk/libraries/lib3DMap/src/com/iver/ai2/gvsig3d/cacheservices/FLayerCacheService.java

View differences:

FLayerCacheService.java
50 50
import com.iver.utiles.FileUtils;
51 51
import com.iver.utiles.swing.threads.Cancellable;
52 52

  
53
import es.upv.ai2.libjosg.planets.Planet;
53
import es.upv.ai2.osgvp.planets.Planet;
54 54

  
55 55
public class FLayerCacheService extends RasterCacheService {
56 56
	private boolean _loadFailed = true;
......
351 351

  
352 352
	}
353 353

  
354
	public String getTileAsFName(TileNum t) throws CacheServiceException {
355

  
354
	public String getTileAsFName(TileNum t, Rectangle2D extent) throws CacheServiceException {
356 355
		if (_loadFailed) {
357 356
			throw new CacheServiceException(new Exception());
358 357
		}
......
360 359
		String fName = getTileFileName(t);
361 360
		// System.out.println("CMTexture2D: requestTexture: "+tileId);
362 361
		if (!new File(fName).exists()) {
363
			Rectangle2D tileExtent = computeBBox(t);
364
			// System.out.println("Extent calculado del tilenum "+ t +
365
			// tileExtent.getMinX() + " "
366
			// + tileExtent.getMinY() + " " + tileExtent.getHeight() + " " +
367
			// tileExtent.getWidth());
368
			getTileFromLayer(fName, tileExtent);
369
		}
370
		return fName;
371
	}
372

  
373
	public String getTileAsFName(TileNum t, Rectangle2D extent)
374
			throws CacheServiceException {
375
		if (_loadFailed) {
376
			throw new CacheServiceException(new Exception());
377
		}
378
		String tileId = t.numToOpTileId();
379
		String fName = getTileFileName(t);
380
		// System.out.println("CMTexture2D: requestTexture: "+tileId);
381
		if (!new File(fName).exists()) {
382 362
			Rectangle2D tileExtent = extent;
383 363
			getTileFromLayer(fName, tileExtent);
384 364
		}
385 365
		return fName;
386 366
	}
387 367

  
388
	public Image getTileAsImage(TileNum tileNum) throws CacheServiceException {
368
	public Image getTileAsImage(TileNum tileNum, Rectangle2D extent) throws CacheServiceException {
389 369
		if ((tileNum.getLevel() == 5)) {// && (tileNum.getX())==29 &&
390 370
										// (tileNum.getY()==9)){
391 371
			System.err.println("pillado");
......
397 377
		String tileId = tileNum.numToOpTileId();
398 378
		String fName = getTileFileName(tileNum);
399 379
		// System.out.println("CMTexture2D: requestTexture: "+tileId);
400
		Rectangle2D tileExtent = computeBBox(tileNum);
380
		Rectangle2D tileExtent = extent;
401 381
		return getTileFromLayer(fName, tileExtent);
402 382
	}
403 383

  
404
	public boolean intersectsLayer(TileNum tileNum) {
405
		Rectangle2D tileExtent = computeBBox(tileNum);
406
		// TODO: use a reprojected layer extent !!!
407
		// System.err.println("TILE:
408
		// ("+tileExtent.getMinX()+","+tileExtent.getMinY()+"),("+
409
		// tileExtent.getMaxX()+","+tileExtent.getMaxY()+")");
410
		// System.err.println("CAPA:
411
		// ("+_lyrExtentRect.getMinX()+","+_lyrExtentRect.getMinY()+"),("+
412
		// _lyrExtentRect.getMaxX()+","+_lyrExtentRect.getMaxY()+")");
413
		// System.err.println("INTERSECTA LA
414
		// CAPAAAAAA??????????:"+_lyrExtentRect.intersects(tileExtent));
415
		// return (_lyrExtentRect.intersects(tileExtent));
416
		return Math.max(_lyrExtentRect.getMinX(), tileExtent.getMinX()) <= Math
417
				.min(_lyrExtentRect.getMaxX(), tileExtent.getMaxX())
418
				&& Math.max(Math.min(_lyrExtentRect.getMinY(), _lyrExtentRect
419
						.getMaxY()), tileExtent.getMinY()) <= Math.min(
420
						Math.max(_lyrExtentRect.getMinY(), _lyrExtentRect
421
								.getMaxY()), tileExtent.getMaxY());
422
	}
423

  
424 384
	public boolean intersectsLayer(Rectangle2D extent) {
425 385
		Rectangle2D tileExtent = extent;
426 386

  

Also available in: Unified diff