Revision 18321 trunk/extensions/extRasterTools-SE/src/org/gvsig/rastertools/georeferencing/ui/zoom/ViewRasterRequestManager.java

View differences:

ViewRasterRequestManager.java
29 29
import org.gvsig.raster.dataset.io.RasterDriverException;
30 30
import org.gvsig.raster.datastruct.Extent;
31 31
import org.gvsig.raster.datastruct.ViewPortData;
32
import org.gvsig.raster.util.RasterUtilities;
33 32
import org.gvsig.rastertools.georeferencing.view.BaseZoomView;
34 33

  
35 34
/**
......
99 98
							
100 99
		//Ajustamos el extent al del raster
101 100
		Extent ext = new Extent(extent);//.getX(), extent.getY(), extent.getX() + extent.getWidth(), extent.getY() - extent.getHeight());
102
		Extent extSelection = RasterUtilities.calculateAdjustedView(ext, lyr.getFullRasterExtent());
101
		Extent extSelection = calculateAdjustedView(ext, lyr.getFullRasterExtent());
103 102
		
104 103
		//Obtenemos el viewport y calculamos la matriz de transformaci?n
105 104
		ViewPortData vp = new ViewPortData(	null, ext, new Dimension(view.getCanvasWidth(), view.getCanvasHeight()));
106 105
		vp.calculateAffineTransform();
107 106
		
108 107
		//Calculamos el punto del canvas de la vista donde se empieza a dibujar el buffer de la imagen
109
		Point2D pt = new Point2D.Double(extSelection.getULX(), extSelection.getLRY());
108
		Point2D pt = new Point2D.Double(extSelection.getULX(), extSelection.getULY());
110 109
		vp.mat.transform(pt, pt);
111 110
		
112 111
		try {
......
126 125
		return extent;
127 126
	}
128 127
	
128
	/**
129
	 * Ajusta la extensi?n del primer par?metro a los l?mites de la segunda
130
	 * @param extToAdj
131
	 * @param imgExt
132
	 * @return
133
	 */
134
	private Extent calculateAdjustedView(Extent extToAdj, Extent imgExt) { 
135
        double vx = extToAdj.minX();
136
        double vy = extToAdj.minY();
137
        double vx2 = extToAdj.maxX();
138
        double vy2 = extToAdj.maxY();
139

  
140
        if (extToAdj.minX() < imgExt.minX())
141
            vx = imgExt.minX();
142
        if (extToAdj.minY() < imgExt.minY()) 
143
            vy = imgExt.minY();
144
        if (extToAdj.maxX() > imgExt.maxX()) 
145
            vx2 = imgExt.maxX();
146
        if (extToAdj.maxY() > imgExt.maxY())
147
            vy2 = imgExt.maxY();
148
        
149
        return new Extent(vx, vy2, vx2, vy);
150
    }
151
	
129 152
	/*
130 153
	 * (non-Javadoc)
131 154
	 * @see org.gvsig.rastertools.georeferencing.ui.zoom.IExtensionRequest#fullExtent(java.awt.Dimension)

Also available in: Unified diff