# Unions Rectangle2D : Geometry « 2D Graphics GUI « Java

Unions Rectangle2D

```
/*
* \$Id: RectUtils.java,v 1.2 2008/02/28 14:38:48 david Exp \$
*
* Copyright (c) 2008 Gaudenz Alder
*
*/

import java.awt.geom.Rectangle2D;

public class RectUtils {
/**
* 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>
*
* @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;
}
}

```

### Related examples in the same category

 1 Collection of geometry utility methods 2 Interpolates points given in the 2D plane 3 Returns distance between two sets of coords 4 Returns distance between 3D set of coords 5 Returns closest point on segment to point 6 Calculate Angle From 7 Returns distance to segment 8 Hexagon demo 9 Implements an Vector in 3D space. 10 Implementation of the 4 dimensional vector. 11 Quaternion 12 Circle shape 13 Geometry Utilities 14 This is a Polygon that allows the user to flip and swap the points along it's axis. 15 Fast trigonometric operations 16 A class to represent a latitude and longitude 17 An undirected graph that keeps track of connected components (groups). 18 Generates n logarithmically-spaced points between d1 and d2 using the provided base. 19 Returns a dimension where width and height are inside the bounds of the maxWidth and maxHeight parameters