9#include "translate.hpp"
14namespace hi::inline v1 {
namespace geo {
17[[nodiscard]]
constexpr matrix<D> operator*(identity
const &lhs, matrix<D>
const &rhs)
noexcept
23[[nodiscard]]
constexpr translate<D> operator*(identity
const &lhs, translate<D>
const &rhs)
noexcept
29[[nodiscard]]
constexpr scale<D> operator*(identity
const &lhs, scale<D>
const &rhs)
noexcept
35[[nodiscard]]
constexpr rotate<D> operator*(identity
const &lhs, rotate<D>
const &rhs)
noexcept
41[[nodiscard]]
constexpr auto operator*(translate<D>
const &lhs, scale<E>
const &rhs)
noexcept
43 hi_axiom(lhs.holds_invariant() && rhs.holds_invariant());
45 static_cast<f32x4
>(rhs).x000(),
46 static_cast<f32x4
>(rhs)._0y00(),
47 static_cast<f32x4
>(rhs)._00z0(),
48 static_cast<f32x4
>(lhs).xyz1()};
52[[nodiscard]]
constexpr auto operator*(scale<D>
const &lhs, translate<E>
const &rhs)
noexcept
54 hi_axiom(lhs.holds_invariant() && rhs.holds_invariant());
56 static_cast<f32x4
>(lhs).x000(),
57 static_cast<f32x4
>(lhs)._0y00(),
58 static_cast<f32x4
>(lhs)._00z0(),
59 static_cast<f32x4
>(lhs) *
static_cast<f32x4
>(rhs).xyz1()};
Definition identity.hpp:11
Definition transform.hpp:63
Definition translate.hpp:15
Definition transform.hpp:82