Exemplo n.º 1
0
  Bounds getBounds(int childIndex) {
    if (boundsAutoCompute) {
      ArrayList glist = (ArrayList) geometryInfo.get(childIndex);

      if (glist != null) {
        BoundingBox bbox = new BoundingBox((Bounds) null);
        for (int i = 0; i < glist.size(); i++) {
          Geometry g = (Geometry) glist.get(i);
          if (g != null) {
            GeometryRetained geometry = (GeometryRetained) g.retained;
            if (geometry.geoType != GeometryRetained.GEO_TYPE_NONE) {
              geometry.computeBoundingBox();
              synchronized (geometry.geoBounds) {
                bbox.combine(geometry.geoBounds);
              }
            }
          }
        }

        return (Bounds) bbox;

      } else {
        return null;
      }

    } else {
      return super.getBounds();
    }
  }