Example usage for java.awt.geom Rectangle2D setFrameFromDiagonal

List of usage examples for java.awt.geom Rectangle2D setFrameFromDiagonal

Introduction

In this page you can find the example usage for java.awt.geom Rectangle2D setFrameFromDiagonal.

Prototype

public void setFrameFromDiagonal(double x1, double y1, double x2, double y2) 

Source Link

Document

Sets the diagonal of the framing rectangle of this Shape based on the two specified coordinates.

Usage

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);
}