|
constexpr | basic_vector3 (const base_type &base) noexcept |
|
template<scalar X, scalar Y, scalar Z> |
constexpr | basic_vector3 (X x, Y y, Z z) noexcept |
|
template<scalar Other, scalar Scalar = Other> |
constexpr | basic_vector3 (const basic_vector2< Other > &vector, Scalar z=Scalar{0}) noexcept |
|
constexpr | operator basic_vector2< Type > () const noexcept |
|
constexpr auto | x () noexcept -> reference |
|
constexpr auto | x () const noexcept -> const_reference |
|
constexpr auto | y () noexcept -> reference |
|
constexpr auto | y () const noexcept -> const_reference |
|
constexpr auto | z () noexcept -> reference |
|
constexpr auto | z () const noexcept -> const_reference |
|
constexpr auto | normalize () noexcept -> basic_vector3 & |
|
constexpr | basic_vector (Other value=Other{0}) noexcept |
|
constexpr | basic_vector (const basic_vector< Size, Other > &other) noexcept |
|
constexpr auto | data () noexcept -> value_type * |
|
constexpr auto | operator[] (size_type index) noexcept -> reference |
|
constexpr auto | operator[] (size_type index) const noexcept -> const_reference |
|
constexpr auto | operator+= (const basic_vector< Size, Other > &other) noexcept -> basic_vector & |
|
constexpr auto | operator-= (const basic_vector< Size, Other > &other) noexcept -> basic_vector & |
|
constexpr auto | operator*= (Other scalar) noexcept -> basic_vector & |
|
constexpr auto | operator*= (const basic_vector< Size, Other > &other) noexcept -> basic_vector & |
|
constexpr auto | operator/= (Other scalar) noexcept -> basic_vector & |
|
constexpr auto | length_squared () const noexcept -> length_type |
|
constexpr auto | length () const noexcept -> length_type |
|
constexpr auto | normalize () noexcept -> basic_vector & |
|
|
static constexpr basic_vector3 | zero {base_type::fill(value_type{0})} |
|
static constexpr basic_vector3 | one {base_type::fill(value_type{1})} |
|
static constexpr basic_vector3 | right {base_type::template axis<x_axis>(value_type{1})} |
|
static constexpr basic_vector3 | left {base_type::template axis<x_axis>(value_type{-1})} |
|
static constexpr basic_vector3 | up {base_type::template axis<y_axis>(value_type{1})} |
|
static constexpr basic_vector3 | down {base_type::template axis<y_axis>(value_type{-1})} |
|
static constexpr basic_vector3 | forward {base_type::template axis<z_axis>(value_type{-1})} |
|
static constexpr basic_vector3 | backward {base_type::template axis<z_axis>(value_type{1})} |
|