8#include "../macros.hpp"
10namespace hi {
inline namespace v1 {
14 using array_type = simd<float, 4>;
15 using value_type = array_type::value_type;
21 constexpr rotate3() noexcept : _v(0.0f, 0.0f, 1.0f, 0.0f) {}
25 hi_axiom(
axis.holds_invariant());
26 hi_axiom(std::abs(hypot(
axis) - 1.0f) < 0.0001f);
28 hilet half_angle = angle * 0.5f;
32 _v =
static_cast<f32x4
>(
axis) * S;
36 [[nodiscard]]
constexpr explicit operator array_type()
const noexcept
axis
An enumeration of the 3 axis for 3D geometry.
Definition axis.hpp:19
geometry/margins.hpp
Definition lookahead_iterator.hpp:5
The HikoGUI API version 1.
Definition lookahead_iterator.hpp:6
Definition rotate3.hpp:12
A high-level geometric vector Part of the high-level vector, point, mat and color types.
Definition vector3.hpp:20