Revision 22529 trunk/extensions/extRasterTools-SE/src/org/gvsig/rastertools/geolocation/behavior/ScaleBehavior.java
ScaleBehavior.java | ||
---|---|---|
30 | 30 |
|
31 | 31 |
import javax.swing.ImageIcon; |
32 | 32 |
|
33 |
import org.apache.log4j.Logger; |
|
34 | 33 |
import org.gvsig.raster.datastruct.Extent; |
34 |
import org.gvsig.raster.util.RasterToolsUtil; |
|
35 | 35 |
|
36 |
import com.iver.andami.PluginServices; |
|
37 | 36 |
import com.iver.cit.gvsig.fmap.ViewPort; |
38 | 37 |
import com.iver.cit.gvsig.fmap.tools.BehaviorException; |
39 | 38 |
import com.iver.cit.gvsig.fmap.tools.Listeners.RectangleListener; |
... | ... | |
189 | 188 |
g.drawRect((int)ul.getX(), (int)ul.getY(), (int)lr.getX(), (int)lr.getY()); |
190 | 189 |
((Graphics2D)g).transform(at.createInverse()); |
191 | 190 |
} catch (NoninvertibleTransformException e1) { |
192 |
Logger.getLogger(getClass().getName()).debug(PluginServices.getText(this, "error_transformacion1"), e1);
|
|
191 |
RasterToolsUtil.messageBoxError("error_transformacion1", this, e1);
|
|
193 | 192 |
} |
194 | 193 |
} |
195 | 194 |
} |
... | ... | |
306 | 305 |
} else if(sideActive[6]) {//Esquina inferior derecha |
307 | 306 |
double rel = longLadoX / longLadoY; |
308 | 307 |
double difY = (e.getY() - tmpLr.getY()); |
309 |
double difX = (e.getX() - tmpLr.getX());
|
|
310 |
if(difX > difY){
|
|
311 |
difY = difX / rel;
|
|
312 |
}else
|
|
313 |
difX = difY * rel;
|
|
314 |
tmpUl = new Point2D.Double(tmpUl.getX(), tmpUl.getY());
|
|
315 |
tmpLr = new Point2D.Double(tmpLr.getX() + difX, tmpLr.getY() + difY);
|
|
308 |
double difX = (e.getX() - tmpLr.getX());
|
|
309 |
if(difX > difY){
|
|
310 |
difY = difX / rel;
|
|
311 |
}else
|
|
312 |
difX = difY * rel;
|
|
313 |
tmpUl = new Point2D.Double(tmpUl.getX(), tmpUl.getY());
|
|
314 |
tmpLr = new Point2D.Double(tmpLr.getX() + difX, tmpLr.getY() + difY);
|
|
316 | 315 |
} else if(sideActive[5]) {//Esquina superior izquierda |
317 | 316 |
double rel = longLadoX / longLadoY; |
318 | 317 |
double difY = (tmpUl.getY() - e.getY()); |
319 |
double difX = (tmpUl.getX() - e.getX());
|
|
320 |
if(difX > difY){
|
|
321 |
difY = difX / rel;
|
|
322 |
}else
|
|
323 |
difX = difY * rel;
|
|
324 |
tmpUl = new Point2D.Double(tmpUl.getX() - difX, tmpUl.getY() - difY);
|
|
325 |
tmpLr = new Point2D.Double(tmpLr.getX(), tmpLr.getY());
|
|
326 |
} else if(sideActive[4]) {//Esquina superior derecha
|
|
318 |
double difX = (tmpUl.getX() - e.getX());
|
|
319 |
if(difX > difY){
|
|
320 |
difY = difX / rel;
|
|
321 |
}else
|
|
322 |
difX = difY * rel;
|
|
323 |
tmpUl = new Point2D.Double(tmpUl.getX() - difX, tmpUl.getY() - difY);
|
|
324 |
tmpLr = new Point2D.Double(tmpLr.getX(), tmpLr.getY());
|
|
325 |
} else if(sideActive[4]) {//Esquina superior derecha
|
|
327 | 326 |
double rel = longLadoX / longLadoY; |
328 | 327 |
double difY = (tmpUl.getY() - e.getY()); |
329 |
double difX = (e.getX() - tmpLr.getX());
|
|
330 |
if(difX > difY){
|
|
331 |
difY = difX / rel;
|
|
332 |
}else
|
|
333 |
difX = difY * rel;
|
|
334 |
tmpUl = new Point2D.Double(tmpUl.getX(), tmpUl.getY() - difY);
|
|
335 |
tmpLr = new Point2D.Double(tmpLr.getX() + difX, tmpLr.getY());
|
|
336 |
} else if(sideActive[7]) {//Esquina inferior izquierda
|
|
337 |
double rel = longLadoX / longLadoY;
|
|
328 |
double difX = (e.getX() - tmpLr.getX());
|
|
329 |
if(difX > difY){
|
|
330 |
difY = difX / rel;
|
|
331 |
}else
|
|
332 |
difX = difY * rel;
|
|
333 |
tmpUl = new Point2D.Double(tmpUl.getX(), tmpUl.getY() - difY);
|
|
334 |
tmpLr = new Point2D.Double(tmpLr.getX() + difX, tmpLr.getY());
|
|
335 |
} else if(sideActive[7]) {//Esquina inferior izquierda
|
|
336 |
double rel = longLadoX / longLadoY;
|
|
338 | 337 |
double difY = (e.getY() - tmpLr.getY()); |
339 |
double difX = (tmpUl.getX() - e.getX());
|
|
340 |
if(difX > difY)
|
|
341 |
difY = difX / rel;
|
|
342 |
else
|
|
343 |
difX = difY * rel;
|
|
344 |
tmpUl = new Point2D.Double(tmpUl.getX() - difX, tmpUl.getY());
|
|
345 |
tmpLr = new Point2D.Double(tmpLr.getX(), tmpLr.getY() + difY);
|
|
346 |
}
|
|
338 |
double difX = (tmpUl.getX() - e.getX());
|
|
339 |
if(difX > difY)
|
|
340 |
difY = difX / rel;
|
|
341 |
else
|
|
342 |
difX = difY * rel;
|
|
343 |
tmpUl = new Point2D.Double(tmpUl.getX() - difX, tmpUl.getY());
|
|
344 |
tmpLr = new Point2D.Double(tmpLr.getX(), tmpLr.getY() + difY);
|
|
345 |
}
|
|
347 | 346 |
|
348 | 347 |
//Asignaci?n de las coordenadas temporales al dialogo |
349 | 348 |
assignTransformToDialog(); |
Also available in: Unified diff