sandbox
|
A vector in two-dimensional space. More...
#include <vector2.hpp>
Public Types | |
using | value_type = base_type::value_type |
using | reference = base_type::reference |
using | const_reference = base_type::const_reference |
using | size_type = base_type::size_type |
using | length_type = base_type::length_type |
![]() | |
using | value_type = Type |
using | reference = value_type & |
using | const_reference = const value_type & |
using | size_type = std::size_t |
using | length_type = std::float_t |
Public Member Functions | |
constexpr | basic_vector2 (const base_type &base) noexcept |
template<scalar Other> | |
constexpr | basic_vector2 (Other x, Other y) 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 | 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 Public Member Functions | |
static constexpr auto | dot (const basic_vector2 &lhs, const basic_vector2 &rhs) noexcept -> length_type |
static constexpr auto | normalized (const basic_vector2 &vector) noexcept -> basic_vector2 |
static constexpr auto | orthogonal (const basic_vector2 &vector) noexcept -> basic_vector2 |
static constexpr auto | determinant (const basic_vector2 &lhs, const basic_vector2 &rhs) noexcept -> value_type |
static constexpr auto | distance (const basic_vector2 &lhs, const basic_vector2 &rhs) noexcept -> value_type |
Static Public Attributes | |
static constexpr basic_vector2 | zero {base_type::fill(value_type{0})} |
static constexpr basic_vector2 | one {base_type::fill(value_type{1})} |
Additional Inherited Members | |
![]() | |
constexpr | basic_vector (Args &&... args) noexcept |
constexpr | basic_vector (std::array< value_type, Size > &&components) noexcept |
![]() | |
static constexpr auto | fill (Other value) noexcept -> basic_vector |
static constexpr auto | axis (Other value) noexcept -> basic_vector |
A vector in two-dimensional space.
Type | The type of the vectors components. |