diff --git a/VirtualRobot/CollisionDetection/PQP/PQP++/BV.h b/VirtualRobot/CollisionDetection/PQP/PQP++/BV.h index a5a39ff92d0d55db2fecf0356e52fa67c62cc659..fab6d04d342a8f467a0275f65cfbc94d3a8fe24e 100644 --- a/VirtualRobot/CollisionDetection/PQP/PQP++/BV.h +++ b/VirtualRobot/CollisionDetection/PQP/PQP++/BV.h @@ -104,7 +104,7 @@ namespace PQP private: #if PQP_BV_TYPE & OBB_TYPE - OBB_Processor o; + // OBB_Processor o; #endif Rect_Processor p; }; diff --git a/VirtualRobot/CollisionDetection/PQP/PQP++/unity_build.cpp b/VirtualRobot/CollisionDetection/PQP/PQP++/unity_build.cpp index 69aef305db13af6a557058fdc55af32f40a73e68..493f791a288e451f85cc1dbfddc20d6fe5d0fb9e 100644 --- a/VirtualRobot/CollisionDetection/PQP/PQP++/unity_build.cpp +++ b/VirtualRobot/CollisionDetection/PQP/PQP++/unity_build.cpp @@ -1645,15 +1645,29 @@ namespace PQP // first thing, see if we're overlapping res->num_bv_tests++; - BV_Processor p; auto o1cb1 = o1->child(b1); auto o2cb2 = o2->child(b2); +#if 0 & PQP_BV_TYPE & OBB_TYPE + //manually inlined version + //inlined fn + //BV_Processor::BV_Overlap(PQP_REAL R[3][3], PQP_REAL T[3], BV* b1, BV* b2) + //{ + // return (OBB_Processor::obb_disjoint(R, T, b1->d, b2->d) == 0); + //} + if (OBB_Processor::obb_disjoint(R, T, o1cb1->d, o2cb2->d) != 0) + { + return; + } +#else + //original version + BV_Processor p; if (!p.BV_Overlap(R, T, o1cb1, o2cb2)) { return; } +#endif // if we are, see if we test triangles next