rect* rect::get_bbox(rect** rect_list,int num_rect) { double minx = (*rect_list)->x1(); double miny = (*rect_list)->y1(); double maxx = (*rect_list)->x2(); double maxy = (*rect_list)->y2(); int i; for (i=1;ix1(); double tmp_miny = (*(rect_list+i))->y1(); double tmp_maxx = (*(rect_list+i))->x2(); double tmp_maxy = (*(rect_list+i))->y2(); if (tmp_minx < minx) minx = tmp_minx; if (tmp_maxx > maxx) maxx = tmp_maxx; if (tmp_miny < miny) miny = tmp_miny; if (tmp_maxy > maxy) maxy = tmp_maxy; } rect* result; rect r(minx,miny,maxx,maxy); *result = r; return (result); }