move::vectormath::generic_normal class
#include <normal.hpp>

Public types

using vec3_type = vector3_type
using component_type = typename vec3_type::component_type

Public static functions

static auto cross(const generic_normal& n1, const generic_normal& other) -> MVM_INLINE_NODISCARD generic_normal noexcept
static auto cross(const generic_normal& n1, const vec3_type& other) -> MVM_INLINE_NODISCARD generic_normal noexcept
static auto reflect(const generic_normal& n1, const generic_normal& normalv) -> MVM_INLINE_NODISCARD generic_normal noexcept
static auto reflect(const vec3_type& incident, const vec3_type& normalv) -> MVM_INLINE_NODISCARD generic_normal noexcept
static auto refract(const vec3_type& incident, const generic_normal& normalv, component_type ior) -> MVM_INLINE_NODISCARD generic_normal noexcept
static auto refract(const vec3_type& incident, const vec3_type& normalv, component_type ior) -> MVM_INLINE_NODISCARD generic_normal noexcept
static auto x_axis() -> MVM_INLINE_NODISCARD generic_normal noexcept
static auto y_axis() -> MVM_INLINE_NODISCARD generic_normal noexcept
static auto z_axis() -> MVM_INLINE_NODISCARD generic_normal noexcept
static auto right() -> MVM_INLINE_NODISCARD generic_normal noexcept
static auto left() -> MVM_INLINE_NODISCARD generic_normal noexcept
static auto up() -> MVM_INLINE_NODISCARD generic_normal noexcept
static auto down() -> MVM_INLINE_NODISCARD generic_normal noexcept
static auto forward() -> MVM_INLINE_NODISCARD generic_normal noexcept
static auto backward() -> MVM_INLINE_NODISCARD generic_normal noexcept

Public functions

auto generic_normal() -> MVM_INLINE_NODISCARD defaulted noexcept
auto generic_normal(const generic_normal&) -> MVM_INLINE_NODISCARD defaulted noexcept
auto generic_normal(generic_normal&&) -> MVM_INLINE_NODISCARD defaulted noexcept
auto operator=(const generic_normal&) -> MVM_INLINE_NODISCARD generic_normal& defaulted noexcept
auto operator=(generic_normal&&) -> MVM_INLINE_NODISCARD generic_normal& defaulted noexcept
auto ~generic_normal() -> MVM_INLINE defaulted noexcept
auto generic_normal(const vec3_type& vec) -> MVM_INLINE_NODISCARD noexcept
auto generic_normal(component_type x, component_type y, component_type z) -> MVM_INLINE_NODISCARD noexcept
auto operator==(const generic_normal& other) const -> MVM_INLINE_NODISCARD bool noexcept
auto operator!=(const generic_normal& other) const -> MVM_INLINE_NODISCARD bool noexcept
auto operator-() const -> MVM_INLINE_NODISCARD generic_normal noexcept
auto operator+(const generic_normal& other) const -> MVM_INLINE_NODISCARD generic_normal noexcept
auto operator-(const generic_normal& other) const -> MVM_INLINE_NODISCARD generic_normal noexcept
auto get_component(int index) const -> MVM_INLINE_NODISCARD component_type noexcept
auto set_component(int index, component_type value) -> MVM_INLINE_NODISCARD generic_normal& noexcept
auto x() const -> MVM_INLINE_NODISCARD component_type noexcept
auto y() const -> MVM_INLINE_NODISCARD component_type noexcept
auto z() const -> MVM_INLINE_NODISCARD component_type noexcept
auto set(component_type x, component_type y, component_type z) -> MVM_INLINE_NODISCARD generic_normal& noexcept
auto set(const vec3_type& vec) -> MVM_INLINE_NODISCARD generic_normal& noexcept
auto set(const generic_normal& vec) -> MVM_INLINE_NODISCARD generic_normal& noexcept
auto dot(const generic_normal& n1, const generic_normal& n2) const -> MVM_INLINE_NODISCARD component_type noexcept
auto angle_between(const generic_normal& n1, const generic_normal& n2) const -> MVM_INLINE_NODISCARD component_type noexcept
auto length() const -> MVM_INLINE_NODISCARD component_type noexcept
auto squared_length() const -> MVM_INLINE_NODISCARD component_type noexcept
auto reciprocal_length() const -> MVM_INLINE_NODISCARD component_type noexcept
auto vec() -> MVM_INLINE_NODISCARD const vec3_type& noexcept