22 template <
typename Real>
25 public TIQuery<Real, Ray2<Real>, AlignedBox2<Real>>
30 public TIQuery<Real, Ray2<Real>, AlignedBox2<Real>>::Result
38 template <
typename Real>
41 public FIQuery<Real, Ray2<Real>, AlignedBox2<Real>>
46 public FIQuery<Real, Ray2<Real>, AlignedBox2<Real>>::Result
55 template <
typename Real>
64 Dot(diff, box.axis[0]),
65 Dot(diff, box.axis[1])
69 Dot(ray.direction, box.axis[0]),
70 Dot(ray.direction, box.axis[1])
74 this->DoQuery(rayOrigin, rayDirection, box.extent, result);
78 template <
typename Real>
87 Dot(diff, box.axis[0]),
88 Dot(diff, box.axis[1])
92 Dot(ray.direction, box.axis[0]),
93 Dot(ray.direction, box.axis[1])
97 this->DoQuery(rayOrigin, rayDirection, box.extent, result);
98 for (
int i = 0; i < result.numIntersections; ++i)
100 result.point[i] = ray.origin + result.parameter[i] * ray.direction;
DualQuaternion< Real > Dot(DualQuaternion< Real > const &d0, DualQuaternion< Real > const &d1)
Result operator()(Type0 const &primitive0, Type1 const &primitive1)