Example #1
0
  /**
   * Check if another polygon intersects with this polygon
   *
   * @param polygon
   * @return true if intersects, false otherwise
   */
  public boolean intersects(Polygon2D polygon) {

    if (!polygon.getBounds().intersects(getBounds())) {
      return false;
    }

    for (Enumeration e1 = edges(); e1.hasMoreElements(); ) {
      Line2D current = (Line2D) e1.nextElement();
      for (Enumeration e2 = polygon.edges(); e2.hasMoreElements(); ) {
        Line2D test = (Line2D) e2.nextElement();
        if (current.intersects(test)) {
          return true;
        }
      }
    }

    return false;
  }