PQP_REAL BV_Distance(PQP_REAL R[3][3], PQP_REAL T[3], BV *b1, BV *b2) { PQP_REAL dist = RectDist(R,T,b1->l,b2->l); dist -= (b1->r + b2->r); return (dist < (PQP_REAL)0.0)? (PQP_REAL)0.0 : dist; }
int BV_Overlap(CKL_REAL R[3][3], CKL_REAL T[3], BV *b1, BV *b2) { #if CKL_BV_TYPE & OBB_TYPE return (obb_disjoint(R, T, b1->d, b2->d) == 0); #else CKL_REAL dist = RectDist(R, T, b1->l, b2->l); if(dist <= (b1->r + b2->r)) return 1; return 0; #endif }