19 template <
typename Real>
32 template <
typename Real>
35 public FIQuery<Real, Line2<Real>, Triangle2<Real>>
40 public FIQuery<Real, Line2<Real>, Triangle2<Real>>::Result
55 template <
typename Real>
62 result.intersect = stQuery(segment, triangle).intersect;
66 template <
typename Real>
73 segment.GetCenteredForm(segOrigin, segDirection, segExtent);
76 DoQuery(segOrigin, segDirection, segExtent, triangle, result);
77 for (
int i = 0; i < result.numIntersections; ++i)
79 result.point[i] = segOrigin + result.parameter[i] * segDirection;
84 template <
typename Real>
90 segDirection, triangle, result);
97 std::array<Real, 2> segInterval = { -segExtent, segExtent };
99 result.parameter = iiQuery(result.parameter, segInterval).overlap;
Result operator()(Type0 const &primitive0, Type1 const &primitive1)