Revision 13021 trunk/extensions/extRasterTools-SE/src/org/gvsig/rastertools/cutting/ui/listener/CuttingMouseViewListener.java
CuttingMouseViewListener.java | ||
---|---|---|
76 | 76 |
*/ |
77 | 77 |
public void rectangle(RectangleEvent event) { |
78 | 78 |
super.rectangle(event); |
79 |
|
|
79 |
|
|
80 | 80 |
AffineTransform at = ((FLyrRasterSE) layer).getAffineTransform(); |
81 | 81 |
Point2D ulPx = new Point2D.Double(rect.getMinX(), rect.getMaxY()); |
82 | 82 |
Point2D lrPx = new Point2D.Double(rect.getMaxX(), rect.getMinY()); |
83 | 83 |
Point2D urPx = new Point2D.Double(rect.getMaxX(), rect.getMaxY()); |
84 | 84 |
Point2D llPx = new Point2D.Double(rect.getMinX(), rect.getMinY()); |
85 |
Point2D p = new Point2D.Double(); |
|
86 | 85 |
try { |
87 | 86 |
at.inverseTransform(ulPx, ulPx); |
88 | 87 |
at.inverseTransform(lrPx, lrPx); |
... | ... | |
106 | 105 |
cuttingPanel.setCoorRealFromDouble(0, 0, 0, 0, 0); |
107 | 106 |
return; |
108 | 107 |
} |
109 |
|
|
108 |
|
|
110 | 109 |
//Ajustamos los puntos al ?rea en pixeles del raster |
111 | 110 |
RasterUtilities.adjustToPixelSize(pointList, dim); |
112 |
|
|
111 |
|
|
113 | 112 |
double minX = Math.min(ulPx.getX(), lrPx.getX()); |
114 | 113 |
double maxX = Math.max(ulPx.getX(), lrPx.getX()); |
115 | 114 |
double minY = Math.min(ulPx.getY(), lrPx.getY()); |
... | ... | |
120 | 119 |
Point2D lrWc = new Point2D.Double(); |
121 | 120 |
at.transform(new Point2D.Double(minX, minY), ulWc); |
122 | 121 |
at.transform(new Point2D.Double(maxX + 1, maxY + 1), lrWc); |
123 |
|
|
122 |
|
|
124 | 123 |
cuttingPanel.setCoorRealFromDouble(ulWc.getX(), ulWc.getY(), lrWc.getX(), lrWc.getY(), 3); |
125 | 124 |
|
126 | 125 |
cuttingPanel.setCoorPixelFromDouble(minX, minY, maxX, maxY, 3); |
... | ... | |
131 | 130 |
if (currentTool != null) |
132 | 131 |
mapControl.setTool(currentTool); |
133 | 132 |
} |
134 |
|
|
133 |
|
|
135 | 134 |
/** |
136 |
* Comprueba si la selecci?n del punto est? fuera del ?rea del raster.
|
|
135 |
* Comprueba si la selecci?n del punto est? fuera del ?rea del raster. |
|
137 | 136 |
* @param ulPx Coordenada superior izquierda en pixeles |
138 | 137 |
* @param lrPx Corrdenada inferior derecha en pixeles |
139 | 138 |
* @return true si la selecci?n del punto est? fuera del raster y false si no lo est? |
... | ... | |
143 | 142 |
double minY = Math.min(ulPx.getY(), lrPx.getY()); |
144 | 143 |
double maxX = Math.max(ulPx.getX(), lrPx.getX()); |
145 | 144 |
double maxY = Math.max(ulPx.getY(), lrPx.getY()); |
146 |
if(minX >= layer.getPxWidth() || minY >= layer.getPxHeight() || maxX < 0 || maxY < 0)
|
|
145 |
if(minX >= layer.getPxWidth() || minY >= layer.getPxHeight() || maxX < 0 || maxY < 0) |
|
147 | 146 |
return true; |
148 | 147 |
return false; |
149 | 148 |
} |
Also available in: Unified diff