Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package intersectings;
- import java.awt.*;
- import java.util.ArrayList;
- import java.util.List;
- public final class IntersectedRectangles {
- /**
- * It compares every input element to every input element (the element is not compared by itself) of the
- * listOfRectangle array list.
- * If finds intersect between two elements takes that to a list as a Rectangle object.
- * @param listOfRectangles List what is compared to itself.
- * @return listOfIntersections. Every element of it defines an overlapping area as a rectangle.
- */
- public static List<Rectangle> findIntersects(List<Rectangle> listOfRectangles) {
- List<Rectangle> listOfIntersections = new ArrayList<>();
- for (int i = 0; i < listOfRectangles.size() - 1; i++) {
- for (int j = i + 1; j < listOfRectangles.size(); j++) {
- listOfIntersections.add(listOfRectangles.get(i).intersection(listOfRectangles.get(j)));
- }
- }
- return listOfIntersections;
- }
- /**
- *
- * @param listOfIntersecttions
- * @return
- */
- public static List<Rectangle> findMultipleIntersects(List<Rectangle> listOfIntersecttions) {
- List<Rectangle> listOfMultipleItersects = new ArrayList<>();
- for (int i = 0; i < listOfIntersecttions.size() - 1; i++) {
- for (int j = i + 1; j < listOfIntersecttions.size(); j++) {
- listOfMultipleItersects.add(
- new Rectangle(listOfIntersecttions.get(i).intersection(listOfIntersecttions.get(j))));
- }
- }
- return listOfMultipleItersects;
- }
- public static List<Rectangle> removeDuplicatesAndValidIntersects(List<Rectangle> listOfMultipleIntersections) {
- List<Rectangle> listOfResult = new ArrayList<>();
- for (Rectangle rect: listOfMultipleIntersections) {
- if (! listOfResult.contains(rect) &&
- rect.getWidth() > 0 && rect.getHeight() > 0) {
- listOfResult.add(rect);
- }
- }
- return listOfResult;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement