Make geom::swizzle work for boxes

This commit is contained in:
Nikita Lisitsa 2023-03-09 11:37:54 +03:00
parent 23f818078f
commit cac70befe5

View file

@ -24,7 +24,8 @@ namespace psemek::geom
template <std::size_t ... I>
constexpr auto swizzle = [](auto const & x){
using result = typename detail::swizzle_rebind<std::decay_t<decltype(x)>>::template type<sizeof...(I)>;
return result{(I == (-1) ? 0 : x[I])...};
using element = std::decay_t<decltype(x[0])>;
return result{(I == (-1) ? element{} : x[I])...};
};