queryInternalWithVisitor method

void queryInternalWithVisitor(
  1. Object searchBounds,
  2. AbstractNode node,
  3. ItemVisitor visitor
)

Implementation

void queryInternalWithVisitor(
    Object searchBounds, AbstractNode node, ItemVisitor visitor) {
  List childBoundables = node.getChildBoundables();
  for (int i = 0; i < childBoundables.length; i++) {
    Boundable childBoundable = childBoundables[i] as Boundable;
    if (!getIntersectsOp()
        .intersects(childBoundable.getBounds(), searchBounds)) {
      continue;
    }
    if (childBoundable is AbstractNode) {
      queryInternalWithVisitor(
          searchBounds, childBoundable as AbstractNode, visitor);
    } else if (childBoundable is ItemBoundable) {
      visitor.visitItem((childBoundable as ItemBoundable).getItem());
    } else {
      Assert.shouldNeverReachHere();
    }
  }
}