23 template <
typename Real>
36 template <
typename Real>
51 template <
typename Real>
57 for (
int i = 0; i < 2; i++)
59 if (box0.max[i] < box1.min[i] || box0.min[i] > box1.max[i])
61 result.intersect =
false;
65 result.intersect =
true;
69 template <
typename Real>
75 for (
int i = 0; i < 2; i++)
77 if (box0.max[i] < box1.min[i] || box0.min[i] > box1.max[i])
79 result.intersect =
false;
84 for (
int i = 0; i < 2; i++)
86 if (box0.max[i] <= box1.max[i])
88 result.box.max[i] = box0.max[i];
92 result.box.max[i] = box1.max[i];
95 if (box0.min[i] <= box1.min[i])
97 result.box.min[i] = box1.min[i];
101 result.box.min[i] = box0.min[i];
104 result.intersect =
true;
Result operator()(Type0 const &primitive0, Type1 const &primitive1)