Calculate the The node_box_edge->query_centroid distance between the boxes.
424 q.xmin = q.xmax = (query->xmin + query->xmax) / 2.0;
425 q.ymin = q.ymax = (query->ymin + query->ymax) / 2.0;
434 if ( qx >= node->xmin && qx <= node->xmax )
436 if( qy > node->ymax )
438 else if ( qy < node->ymin )
443 else if ( qy >= node->ymin && qy <= node->ymax )
445 if ( qx > node->xmax )
447 else if ( qx < node->xmin )
455 if ( qx < node->xmin && qy < node->ymin )
457 d = (node->xmin - qx) * (node->xmin - qx) +
458 (node->ymin - qy) * (node->ymin - qy);
461 else if ( qx < node->xmin && qy > node->ymax )
463 d = (node->xmin - qx) * (node->xmin - qx) +
464 (node->ymax - qy) * (node->ymax - qy);
467 else if ( qx > node->xmax && qy > node->ymax )
469 d = (node->xmax - qx) * (node->xmax - qx) +
470 (node->ymax - qy) * (node->ymax - qy);
473 else if ( qx > node->xmin && qy < node->ymin )
475 d = (node->xmax - qx) * (node->xmax - qx) +
476 (node->ymin - qy) * (node->ymin - qy);
481 elog(ERROR,
"%s: reached unreachable code", __func__);
static bool box2df_overlaps(const BOX2DF *a, const BOX2DF *b)
#define LW_TRUE
Return types for functions with status returns.