Bomberman
Public Member Functions | Public Attributes | List of all members
BBM::Vector2< T > Class Template Reference

A Vector2 data type. (templated to allow any kind of vector2) More...

#include <Vector2.hpp>

Collaboration diagram for BBM::Vector2< T >:

Public Member Functions

 Vector2 ()
 Create a new nil vector2. More...
 
 Vector2 (T _x, T _y)
 Create a new vector2 representing a specific coordinate. More...
 
 ~Vector2 ()=default
 A default destructor. More...
 
bool operator== (const Vector2< T > &other) const
 
bool operator!= (const Vector2< T > &other) const
 
template<typename T2 >
Vector2< T > & operator+= (const Vector2< T2 > &vec)
 
template<typename T2 >
Vector2< T > operator+ (const Vector2< T2 > &vec) const
 
template<typename T2 >
Vector2< T > & operator-= (const Vector2< T2 > &vec)
 
template<typename T2 >
Vector2< T > operator- (const Vector2< T2 > &vec) const
 
template<typename T2 >
Vector2< T > & operator*= (T2 d)
 
template<typename T2 >
Vector2< T > operator* (T2 d) const
 
template<typename T2 >
Vector2< T > operator* (const Vector2< T2 > &b) const
 
template<typename T2 >
Vector2< T > operator/= (const Vector2< T2 > &b)
 
template<typename T2 >
Vector2< T > operator/ (const Vector2< T2 > &b) const
 
template<typename T2 >
Vector2< T > operator/= (T2 b)
 
template<typename T2 >
Vector2< T > operator/ (T2 b) const
 
template<typename T2 >
double distance (const Vector2< T2 > &o) const
 
double angle (const Vector2< T > &o) const
 
double magnitude () const
 
Vector2< T > normalize ()
 
Vector2< T > normalized () const
 
Vector2< T > projection (const Vector2< T > &point) const
 
 operator RAY::Vector2 () const requires(std
 

Public Attributes

x
 The x value of the vector. More...
 
y
 The y value of the vector. More...
 

Detailed Description

template<typename T>
class BBM::Vector2< T >

A Vector2 data type. (templated to allow any kind of vector2)

Constructor & Destructor Documentation

◆ Vector2() [1/2]

template<typename T >
BBM::Vector2< T >::Vector2 ( )
inline

Create a new nil vector2.

◆ Vector2() [2/2]

template<typename T >
BBM::Vector2< T >::Vector2 ( _x,
_y 
)
inline

Create a new vector2 representing a specific coordinate.

◆ ~Vector2()

template<typename T >
BBM::Vector2< T >::~Vector2 ( )
default

A default destructor.

Member Function Documentation

◆ angle()

template<typename T >
double BBM::Vector2< T >::angle ( const Vector2< T > &  o) const
inline

◆ distance()

template<typename T >
template<typename T2 >
double BBM::Vector2< T >::distance ( const Vector2< T2 > &  o) const
inline

◆ magnitude()

template<typename T >
double BBM::Vector2< T >::magnitude ( ) const
inline

◆ normalize()

template<typename T >
Vector2<T> BBM::Vector2< T >::normalize ( )
inline

◆ normalized()

template<typename T >
Vector2<T> BBM::Vector2< T >::normalized ( ) const
inline

◆ operator RAY::Vector2()

template<typename T >
BBM::Vector2< T >::operator RAY::Vector2 ( ) const
inline

◆ operator!=()

template<typename T >
bool BBM::Vector2< T >::operator!= ( const Vector2< T > &  other) const
inline

◆ operator*() [1/2]

template<typename T >
template<typename T2 >
Vector2<T> BBM::Vector2< T >::operator* ( const Vector2< T2 > &  b) const
inline

◆ operator*() [2/2]

template<typename T >
template<typename T2 >
Vector2<T> BBM::Vector2< T >::operator* ( T2  d) const
inline

◆ operator*=()

template<typename T >
template<typename T2 >
Vector2<T>& BBM::Vector2< T >::operator*= ( T2  d)
inline

◆ operator+()

template<typename T >
template<typename T2 >
Vector2<T> BBM::Vector2< T >::operator+ ( const Vector2< T2 > &  vec) const
inline

◆ operator+=()

template<typename T >
template<typename T2 >
Vector2<T>& BBM::Vector2< T >::operator+= ( const Vector2< T2 > &  vec)
inline

◆ operator-()

template<typename T >
template<typename T2 >
Vector2<T> BBM::Vector2< T >::operator- ( const Vector2< T2 > &  vec) const
inline

◆ operator-=()

template<typename T >
template<typename T2 >
Vector2<T>& BBM::Vector2< T >::operator-= ( const Vector2< T2 > &  vec)
inline

◆ operator/() [1/2]

template<typename T >
template<typename T2 >
Vector2<T> BBM::Vector2< T >::operator/ ( const Vector2< T2 > &  b) const
inline

◆ operator/() [2/2]

template<typename T >
template<typename T2 >
Vector2<T> BBM::Vector2< T >::operator/ ( T2  b) const
inline

◆ operator/=() [1/2]

template<typename T >
template<typename T2 >
Vector2<T> BBM::Vector2< T >::operator/= ( const Vector2< T2 > &  b)
inline

◆ operator/=() [2/2]

template<typename T >
template<typename T2 >
Vector2<T> BBM::Vector2< T >::operator/= ( T2  b)
inline

◆ operator==()

template<typename T >
bool BBM::Vector2< T >::operator== ( const Vector2< T > &  other) const
inline

◆ projection()

template<typename T >
Vector2<T> BBM::Vector2< T >::projection ( const Vector2< T > &  point) const
inline

Member Data Documentation

◆ x

template<typename T >
T BBM::Vector2< T >::x

The x value of the vector.

◆ y

template<typename T >
T BBM::Vector2< T >::y

The y value of the vector.


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