Workaround for clang 6 bug.

(cherry picked from commit b68222e4e7)
This commit is contained in:
bruvzg 2018-05-14 18:11:26 +03:00 committed by Hein-Pieter van Braam
parent 5c6c88ef15
commit d3c4f91c9c
1 changed files with 11 additions and 9 deletions

View File

@ -341,26 +341,28 @@ public:
min_B -= (max_A - min_A) * 0.5;
max_B += (max_A - min_A) * 0.5;
real_t dmin = min_B - (min_A + max_A) * 0.5;
real_t dmax = max_B - (min_A + max_A) * 0.5;
min_B -= (min_A + max_A) * 0.5;
max_B -= (min_A + max_A) * 0.5;
if (dmin > 0.0 || dmax < 0.0) {
if (min_B > 0.0 || max_B < 0.0) {
separator_axis = axis;
return false; // doesn't contain 0
}
//use the smallest depth
dmin = Math::abs(dmin);
if (min_B < 0.0) {
min_B = -min_B;
}
if (dmax < dmin) {
if (dmax < best_depth) {
best_depth = dmax;
if (max_B < min_B) {
if (max_B < best_depth) {
best_depth = max_B;
best_axis = axis;
}
} else {
if (dmin < best_depth) {
best_depth = dmin;
if (min_B < best_depth) {
best_depth = min_B;
best_axis = -axis; // keep it as A axis
}
}