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

A Vector3 data type. (templated to allow any kind of vector3) More...

#include <Vector3.hpp>

Collaboration diagram for BBM::Vector3< T >:

Public Member Functions

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

Static Public Member Functions

static Vector3< T > min (Vector3< T > a, Vector3< T > b)
 
static Vector3< T > max (Vector3< T > a, Vector3< T > b)
 

Public Attributes

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

Detailed Description

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

A Vector3 data type. (templated to allow any kind of vector3)

Constructor & Destructor Documentation

◆ Vector3() [1/2]

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

Create a new nil vector3.

◆ Vector3() [2/2]

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

Create a new vector3 representing a specific coordinate.

◆ ~Vector3()

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

A default destructor.

Member Function Documentation

◆ abs()

template<typename T >
Vector3<T> BBM::Vector3< T >::abs ( ) const
inline

◆ ceil()

template<typename T >
Vector3<T> BBM::Vector3< T >::ceil ( ) const
inline

◆ distance()

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

◆ floor()

template<typename T >
Vector3<T> BBM::Vector3< T >::floor ( ) const
inline

◆ isNull()

template<typename T >
bool BBM::Vector3< T >::isNull ( ) const
inline

◆ magnitude()

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

◆ max()

template<typename T >
static Vector3<T> BBM::Vector3< T >::max ( Vector3< T >  a,
Vector3< T >  b 
)
inlinestatic

◆ min()

template<typename T >
static Vector3<T> BBM::Vector3< T >::min ( Vector3< T >  a,
Vector3< T >  b 
)
inlinestatic

◆ normalize()

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

◆ normalized()

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

◆ operator RAY::Vector3()

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

◆ operator!=()

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

◆ operator*() [1/2]

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

◆ operator*() [2/2]

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

◆ operator*=()

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

◆ operator+()

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

◆ operator+=()

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

◆ operator-()

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

◆ operator-=()

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

◆ operator/() [1/2]

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

◆ operator/() [2/2]

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

◆ operator/=() [1/2]

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

◆ operator/=() [2/2]

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

◆ operator==()

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

◆ projection()

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

◆ round()

template<typename T >
Vector3<T> BBM::Vector3< T >::round ( ) const
inline

◆ trunc()

template<typename T >
Vector3<T> BBM::Vector3< T >::trunc ( ) const
inline

Member Data Documentation

◆ x

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

The x value of the vector.

◆ y

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

The y value of the vector.

◆ z

template<typename T >
T BBM::Vector3< T >::z

The y value of the vector.


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