lxgui
Public Types | Public Member Functions | Public Attributes | Static Public Attributes | List of all members
lxgui::gui::vector2< T > Struct Template Reference

Holds 2D coordinates. More...

#include <gui_vector2.hpp>

Public Types

using float_type = std::conditional_t< std::is_floating_point_v< T >, T, double >
 

Public Member Functions

constexpr vector2 ()=default
 
constexpr vector2 (T nx, T ny) noexcept
 
template<typename U >
constexpr vector2 (const vector2< U > &v) noexcept
 
void set (T nx, T ny) noexcept
 
get_norm_squared () const noexcept
 
float_type get_norm () const noexcept
 
vector2< float_typeget_unit () const noexcept
 
vector2< float_typeget_normal () const noexcept
 
vector2 get_rotated (float_type angle) const noexcept
 
vector2 get_scaled (const vector2 &v) const noexcept
 
vector2 operator+ (const vector2 &v) const noexcept
 
vector2operator+= (const vector2 &v) noexcept
 
vector2 operator- () const noexcept
 
vector2 operator- (const vector2 &v) const noexcept
 
vector2operator-= (const vector2 &v) noexcept
 
bool operator== (const vector2 &v) const noexcept
 
bool operator!= (const vector2 &v) const noexcept
 
vector2 operator* (T value) const noexcept
 
vector2 operator* (const vector2 &value) const noexcept
 
vector2operator*= (T value) noexcept
 
vector2operator*= (const vector2 &value) noexcept
 
vector2 operator/ (T value) const noexcept
 
vector2 operator/ (const vector2 &value) const noexcept
 
vector2operator/= (T value) noexcept
 
vector2operator/= (const vector2 &value) noexcept
 
dot (const vector2 &v) const noexcept
 

Public Attributes

x = 0
 
y = 0
 

Static Public Attributes

static const vector2 zero
 
static const vector2 unit
 
static const vector2 unit_x
 
static const vector2 unit_y
 

Detailed Description

template<typename T>
struct lxgui::gui::vector2< T >

Holds 2D coordinates.

Definition at line 14 of file gui_vector2.hpp.

Member Typedef Documentation

◆ float_type

template<typename T >
using lxgui::gui::vector2< T >::float_type = std::conditional_t<std::is_floating_point_v<T>, T, double>

Definition at line 15 of file gui_vector2.hpp.

Constructor & Destructor Documentation

◆ vector2() [1/3]

template<typename T >
constexpr lxgui::gui::vector2< T >::vector2 ( )
constexprdefault

◆ vector2() [2/3]

template<typename T >
constexpr lxgui::gui::vector2< T >::vector2 ( nx,
ny 
)
inlineconstexprnoexcept

Definition at line 19 of file gui_vector2.hpp.

◆ vector2() [3/3]

template<typename T >
template<typename U >
constexpr lxgui::gui::vector2< T >::vector2 ( const vector2< U > &  v)
inlineexplicitconstexprnoexcept

Definition at line 22 of file gui_vector2.hpp.

Member Function Documentation

◆ dot()

template<typename T >
T lxgui::gui::vector2< T >::dot ( const vector2< T > &  v) const
inlinenoexcept

Definition at line 145 of file gui_vector2.hpp.

◆ get_norm()

template<typename T >
float_type lxgui::gui::vector2< T >::get_norm ( ) const
inlinenoexcept

Definition at line 34 of file gui_vector2.hpp.

◆ get_norm_squared()

template<typename T >
T lxgui::gui::vector2< T >::get_norm_squared ( ) const
inlinenoexcept

Definition at line 30 of file gui_vector2.hpp.

◆ get_normal()

template<typename T >
vector2<float_type> lxgui::gui::vector2< T >::get_normal ( ) const
inlinenoexcept

Definition at line 46 of file gui_vector2.hpp.

◆ get_rotated()

template<typename T >
vector2 lxgui::gui::vector2< T >::get_rotated ( float_type  angle) const
inlinenoexcept

Definition at line 54 of file gui_vector2.hpp.

◆ get_scaled()

template<typename T >
vector2 lxgui::gui::vector2< T >::get_scaled ( const vector2< T > &  v) const
inlinenoexcept

Definition at line 67 of file gui_vector2.hpp.

◆ get_unit()

template<typename T >
vector2<float_type> lxgui::gui::vector2< T >::get_unit ( ) const
inlinenoexcept

Definition at line 38 of file gui_vector2.hpp.

◆ operator!=()

template<typename T >
bool lxgui::gui::vector2< T >::operator!= ( const vector2< T > &  v) const
inlinenoexcept

Definition at line 101 of file gui_vector2.hpp.

◆ operator*() [1/2]

template<typename T >
vector2 lxgui::gui::vector2< T >::operator* ( const vector2< T > &  value) const
inlinenoexcept

Definition at line 109 of file gui_vector2.hpp.

◆ operator*() [2/2]

template<typename T >
vector2 lxgui::gui::vector2< T >::operator* ( value) const
inlinenoexcept

Definition at line 105 of file gui_vector2.hpp.

◆ operator*=() [1/2]

template<typename T >
vector2& lxgui::gui::vector2< T >::operator*= ( const vector2< T > &  value)
inlinenoexcept

Definition at line 119 of file gui_vector2.hpp.

◆ operator*=() [2/2]

template<typename T >
vector2& lxgui::gui::vector2< T >::operator*= ( value)
inlinenoexcept

Definition at line 113 of file gui_vector2.hpp.

◆ operator+()

template<typename T >
vector2 lxgui::gui::vector2< T >::operator+ ( const vector2< T > &  v) const
inlinenoexcept

Definition at line 73 of file gui_vector2.hpp.

◆ operator+=()

template<typename T >
vector2& lxgui::gui::vector2< T >::operator+= ( const vector2< T > &  v)
inlinenoexcept

Definition at line 77 of file gui_vector2.hpp.

◆ operator-() [1/2]

template<typename T >
vector2 lxgui::gui::vector2< T >::operator- ( ) const
inlinenoexcept

Definition at line 83 of file gui_vector2.hpp.

◆ operator-() [2/2]

template<typename T >
vector2 lxgui::gui::vector2< T >::operator- ( const vector2< T > &  v) const
inlinenoexcept

Definition at line 87 of file gui_vector2.hpp.

◆ operator-=()

template<typename T >
vector2& lxgui::gui::vector2< T >::operator-= ( const vector2< T > &  v)
inlinenoexcept

Definition at line 91 of file gui_vector2.hpp.

◆ operator/() [1/2]

template<typename T >
vector2 lxgui::gui::vector2< T >::operator/ ( const vector2< T > &  value) const
inlinenoexcept

Definition at line 129 of file gui_vector2.hpp.

◆ operator/() [2/2]

template<typename T >
vector2 lxgui::gui::vector2< T >::operator/ ( value) const
inlinenoexcept

Definition at line 125 of file gui_vector2.hpp.

◆ operator/=() [1/2]

template<typename T >
vector2& lxgui::gui::vector2< T >::operator/= ( const vector2< T > &  value)
inlinenoexcept

Definition at line 139 of file gui_vector2.hpp.

◆ operator/=() [2/2]

template<typename T >
vector2& lxgui::gui::vector2< T >::operator/= ( value)
inlinenoexcept

Definition at line 133 of file gui_vector2.hpp.

◆ operator==()

template<typename T >
bool lxgui::gui::vector2< T >::operator== ( const vector2< T > &  v) const
inlinenoexcept

Definition at line 97 of file gui_vector2.hpp.

◆ set()

template<typename T >
void lxgui::gui::vector2< T >::set ( nx,
ny 
)
inlinenoexcept

Definition at line 25 of file gui_vector2.hpp.

Member Data Documentation

◆ unit

template<typename T >
constexpr vector2< T > lxgui::gui::vector2< T >::unit
staticconstexpr

Definition at line 150 of file gui_vector2.hpp.

◆ unit_x

template<typename T >
constexpr vector2< T > lxgui::gui::vector2< T >::unit_x
staticconstexpr

Definition at line 151 of file gui_vector2.hpp.

◆ unit_y

template<typename T >
constexpr vector2< T > lxgui::gui::vector2< T >::unit_y
staticconstexpr

Definition at line 152 of file gui_vector2.hpp.

◆ x

template<typename T >
T lxgui::gui::vector2< T >::x = 0

Definition at line 154 of file gui_vector2.hpp.

◆ y

template<typename T >
T lxgui::gui::vector2< T >::y = 0

Definition at line 154 of file gui_vector2.hpp.

◆ zero

template<typename T >
constexpr vector2< T > lxgui::gui::vector2< T >::zero
staticconstexpr

Definition at line 149 of file gui_vector2.hpp.


The documentation for this struct was generated from the following file: