protected double areaExpand(MBR br1, MBR br2) { double xmin = 0, xmax = 0, ymin = 0, ymax = 0; if (br1.XMax > br2.XMax) { xmax = br2.XMax; } else { xmax = br2.XMax; } if (br1.XMin < br2.XMin) { xmin = br1.XMin; } else { xmin = br2.XMin; } if (br1.YMax > br2.YMax) { ymax = br1.YMax; } else { ymax = br2.YMax; } if (br1.YMin < br2.YMin) { ymin = br1.YMin; } else { ymin = br2.YMin; } return((ymax - ymin) * (xmax - xmin) - br1.area() - br2.area()); }
protected double areaEnlarge(MBR br, Edge e) { double xmin = 0, xmax = 0, ymin = 0, ymax = 0; if (e.getMBR().XMax > br.XMax) { xmax = e.getMBR().XMax; } else { xmax = br.XMax; } if (e.getMBR().XMin < br.XMin) { xmin = e.getMBR().XMin; } else { xmin = br.XMin; } if (e.getMBR().YMax > br.YMax) { ymax = e.getMBR().YMax; } else { ymax = br.YMax; } if (e.getMBR().YMin < br.YMin) { ymin = e.getMBR().YMin; } else { ymin = br.YMin; } return((ymax - ymin) * (xmax - xmin) - br.area()); }