typename template_coordinate::aabb make_aabb( psyq::geometry::ray<template_coordinate> const& in_ray) { // 極大の線分からAABBを決定する。 typedef typename template_coordinate::element element; static_assert(1 <= std::numeric_limits<element>::digits, ""); return make_aabb( psyq::geometry::line_segment<template_coordinate>( in_ray, static_cast<element>( 1ull << (std::numeric_limits<element>::digits - 1)))); }
Aabb make_inverse_extreme_aabb() { return make_aabb(make_vector(FLT_MAX, FLT_MAX, FLT_MAX), make_vector(-FLT_MAX, -FLT_MAX, -FLT_MAX)); }