Revision 14927

View differences:

import/ext3D/trunk/ext3D/src/com/iver/ai2/gvsig3d/cacheservices/FLayerCacheService.java
30 30
	private Extent _extent;
31 31
	private Rectangle2D _lyrExtentRect;
32 32
	private FLayer _layer;
33
	public FLayerCacheService(Planet planet, String name, FLayer layer) {
33
	private IProjection _viewProj;
34

  
35
	public FLayerCacheService(Planet planet, String name, FLayer layer, IProjection viewProj) {
34 36
		super(planet.getPlanetName(), name);
35 37

  
36 38
		_layer = layer;
39
		_viewProj = viewProj;
37 40
		_loadFailed = true;
38 41

  
39 42
		int cacheType = CacheService.GLOBAL;
......
43 46
 		    cacheType += PLANE;
44 47
		setCacheType(cacheType);
45 48

  
46
		try { // find extent as projected to
49
		try {
47 50
			_lyrExtentRect = _layer.getFullExtent();
48 51
		}
49 52
		catch (DriverException e) {
......
72 75

  
73 76
	private Image getTileFromLayer(String fName, Rectangle2D tileExtent)
74 77
	{
75
		IProjection projection = _layer.getProjection();
76

  
77
		projection = CRSFactory.getCRS("EPSG:4326"); // para vista esferica
78

  
79 78
		BufferedImage image = new BufferedImage(256, 256, BufferedImage.TYPE_INT_ARGB);
80
		ViewPort vp = new ViewPort(projection);
79
		ViewPort vp = new ViewPort(_viewProj);
81 80

  
82 81
		vp.setExtent(tileExtent); // the real extent of the tile
83
        vp.setImageSize(new Dimension(256, 256));
84
        vp.refreshExtent(); // ??
82
		vp.setAdjustable(false);
83
		int size = getTileSize();
84
        vp.setImageSize(new Dimension(size, size));
85 85

  
86 86
        Graphics2D graphics = image.createGraphics();
87 87
        Color backgColor = new Color(255, 255, 255, 0); // transparent background
88 88
        graphics.setColor(backgColor);
89
        graphics.fillRect(0, 0, 256, 256);
89
        graphics.fillRect(0, 0, size, size);
90 90

  
91 91
//        CancelDraw canceldraw = new MapControl.CancelDraw();
92 92
//        canceldraw.setCanceled(false);
......
102 102
		try {
103 103
			File file = new File(fName);
104 104
			String format = getFileExtension().substring(1);
105
			//boolean res = ImageIO.write(image, format, file);
106 105
			saveCachedFile(image, format, file);
107
			//System.out.println("saved: "+res);
108 106
		} catch (IOException e1) {
109 107
			e1.printStackTrace();
110 108
			return null;

Also available in: Unified diff