List of usage examples for java.awt.geom Rectangle2D setFrameFromDiagonal
public void setFrameFromDiagonal(double x1, double y1, double x2, double y2)
From source file:RectUtils.java
/** * Unions the pair of source <code>Rectangle2D</code> objects and puts the * result into the returned <code>Rectangle2D</code> object. This method * extends the Rectangle2D version by checking for null parameters, the * returned value will also be <code>null</code> if the two input * rectangles are <code>null</code> * /* ww w .ja v a2 s . c om*/ * @param src1 * the first of a pair of <code>Rectangle2D</code> objects to * be combined with each other * @param src2 * the second of a pair of <code>Rectangle2D</code> objects to * be combined with each other * */ public static Rectangle2D union(Rectangle2D src1, Rectangle2D src2) { Rectangle2D result = null; if (src1 == null && src2 == null) { result = null; } else if (src1 != null && src2 != null) { double x1 = Math.min(src1.getMinX(), src2.getMinX()); double y1 = Math.min(src1.getMinY(), src2.getMinY()); double x2 = Math.max(src1.getMaxX(), src2.getMaxX()); double y2 = Math.max(src1.getMaxY(), src2.getMaxY()); result = new Rectangle2D.Double(); result.setFrameFromDiagonal(x1, y1, x2, y2); } else if (src1 != null) { double x1 = src1.getMinX(); double y1 = src1.getMinY(); double x2 = src1.getMaxX(); double y2 = src1.getMaxY(); result = new Rectangle2D.Double(); result.setFrameFromDiagonal(x1, y1, x2, y2); } else { // only src2 is non-null double x1 = src2.getMinX(); double y1 = src2.getMinY(); double x2 = src2.getMaxX(); double y2 = src2.getMaxY(); result = new Rectangle2D.Double(); result.setFrameFromDiagonal(x1, y1, x2, y2); } return result; }
From source file:org.esa.s1tbx.sar.gpf.geometric.MosaicOp.java
private CrsGeoCoding createCRSGeoCoding(GeoCoding srcGeocoding) throws Exception { final CoordinateReferenceSystem srcCRS = srcGeocoding.getMapCRS(); String wkt;// w w w .j ava 2s . c o m try { wkt = srcCRS.toWKT(); } catch (UnformattableObjectException e) { // if too complex to convert using strict wkt = srcCRS.toString(); } final CoordinateReferenceSystem targetCRS = CRSGeoCodingHandler.getCRS(wkt); final double pixelSpacingInDegree = pixelSize / Constants.semiMajorAxis * Constants.RTOD; double pixelSizeX = pixelSize; double pixelSizeY = pixelSize; if (targetCRS.getName().getCode().equals("WGS84(DD)")) { pixelSizeX = pixelSpacingInDegree; pixelSizeY = pixelSpacingInDegree; } final Rectangle2D bounds = new Rectangle2D.Double(); bounds.setFrameFromDiagonal(scnProp.lonMin, scnProp.latMin, scnProp.lonMax, scnProp.latMax); final ReferencedEnvelope boundsEnvelope = new ReferencedEnvelope(bounds, DefaultGeographicCRS.WGS84); final ReferencedEnvelope targetEnvelope = boundsEnvelope.transform(targetCRS, true); return new CrsGeoCoding(targetCRS, sceneWidth, sceneHeight, targetEnvelope.getMinimum(0), targetEnvelope.getMaximum(1), pixelSizeX, pixelSizeY); }