Calculate the box->box distance.
397{
398
400 return 0.0;
401
403 {
405 return pt_distance(a->xmax, a->ymin, b->xmin, b->ymax);
407 return pt_distance(a->xmax, a->ymax, b->xmin, b->ymin);
408 else
409 return (double)b->xmin - (double)a->xmax;
410 }
412 {
414 return pt_distance(a->xmin, a->ymin, b->xmax, b->ymax);
416 return pt_distance(a->xmin, a->ymax, b->xmax, b->ymin);
417 else
418 return (double)a->xmin - (double)b->xmax;
419 }
421 {
423 return pt_distance(a->xmax, a->ymin, b->xmin, b->ymax);
425 return pt_distance(a->xmin, a->ymin, b->xmax, b->ymax);
426 else
427 return (double)a->ymin - (double)b->ymax;
428 }
430 {
432 return pt_distance(a->xmax, a->ymax, b->xmin, b->ymin);
434 return pt_distance(a->xmin, a->ymax, b->xmax, b->ymin);
435 else
436 return (double)b->ymin - (double)a->ymax;
437 }
438
439 return FLT_MAX;
440}
bool box2df_left(const BOX2DF *a, const BOX2DF *b)
bool box2df_right(const BOX2DF *a, const BOX2DF *b)
bool box2df_overlaps(const BOX2DF *a, const BOX2DF *b)
bool box2df_above(const BOX2DF *a, const BOX2DF *b)
static double pt_distance(double ax, double ay, double bx, double by)
bool box2df_below(const BOX2DF *a, const BOX2DF *b)