@Override
 public Figure findFigureInside(Point2D.Double p) {
   Collection<Figure> c = quadTree.findContains(p);
   for (Figure f : getFiguresFrontToBack()) {
     if (c.contains(f) && f.contains(p)) {
       return f.findFigureInside(p);
     }
   }
   return null;
 }
Example #2
0
 /**
  * Finds a figure but descends into a figure's children. It supresses the passed in figure. Use
  * this method to ignore a figure that is temporarily inserted into the drawing.
  */
 public Figure findFigureInsideWithout(int x, int y, Figure without) {
   FigureEnumeration k = figuresReverse();
   while (k.hasMoreElements()) {
     Figure figure = k.nextFigure();
     if (figure != without) {
       Figure found = figure.findFigureInside(x, y);
       if (found != null) return found;
     }
   }
   return null;
 }