jrlMathTools::Vector4D< T > Struct Template Reference

Template to handle 3 dimensional vector. More...

List of all members.

Public Member Functions

 Vector4D ()
 Vector4D (const T &x, const T &y, const T &z, const T &w)
Vector4D< T > operator= (const struct Vector4D< T > &v)
Vector4D< T > operator- ()
T & operator[] (unsigned i)
const T & operator[] (unsigned i) const
T & operator() (unsigned i)
bool operator== (const struct Vector4D< T > &v) const
Vector4D< T > operator+ (const struct Vector4D< T > &v) const
Vector4D< T > operator- (const struct Vector4D< T > &v) const
void operator+= (const struct Vector4D< T > &v)
void operator-= (const struct Vector4D< T > &v) const
Vector4D< T > operator* (const T &t) const
Vector4D< T > operator/ (const T &t) const
void operator*= (const T &t)
void operator/= (const T &t)
void normalize ()
norm () const
normsquared () const

Public Attributes

m_x
m_y
m_z
m_w

Friends

std::ostream & operator<< (std::ostream &os, Vector4D< T > const &v)

Detailed Description

template<typename T>
struct jrlMathTools::Vector4D< T >

Template to handle 3 dimensional vector.


Constructor & Destructor Documentation

template<typename T >
jrlMathTools::Vector4D< T >::Vector4D (  )  [inline]

Basic constructor: all the field are set to zero.

template<typename T >
jrlMathTools::Vector4D< T >::Vector4D ( const T &  x,
const T &  y,
const T &  z,
const T &  w 
) [inline, explicit]

Member Function Documentation

template<typename T >
T jrlMathTools::Vector4D< T >::norm (  )  const [inline]

Get the norm.

template<typename T >
void jrlMathTools::Vector4D< T >::normalize (  )  [inline]

Normalize .

template<typename T >
T jrlMathTools::Vector4D< T >::normsquared (  )  const [inline]

Get the norm squared

template<typename T >
T& jrlMathTools::Vector4D< T >::operator() ( unsigned  i  )  [inline]

Array operator

template<typename T >
Vector4D<T> jrlMathTools::Vector4D< T >::operator* ( const T &  t  )  const [inline]

Binary operator *

template<typename T >
void jrlMathTools::Vector4D< T >::operator*= ( const T &  t  )  [inline]

Binary operator *=

template<typename T >
Vector4D<T> jrlMathTools::Vector4D< T >::operator+ ( const struct Vector4D< T > &  v  )  const [inline]

Binary operator +

template<typename T >
void jrlMathTools::Vector4D< T >::operator+= ( const struct Vector4D< T > &  v  )  [inline]

Binary operator +=

template<typename T >
Vector4D<T> jrlMathTools::Vector4D< T >::operator- ( const struct Vector4D< T > &  v  )  const [inline]

Binary operator -

template<typename T >
Vector4D<T> jrlMathTools::Vector4D< T >::operator- (  )  [inline]

Unary operator -

template<typename T >
void jrlMathTools::Vector4D< T >::operator-= ( const struct Vector4D< T > &  v  )  const [inline]

Binary operator -=

template<typename T >
Vector4D<T> jrlMathTools::Vector4D< T >::operator/ ( const T &  t  )  const [inline]

Binary operator /

template<typename T >
void jrlMathTools::Vector4D< T >::operator/= ( const T &  t  )  [inline]

Binary operator /=

template<typename T >
Vector4D<T> jrlMathTools::Vector4D< T >::operator= ( const struct Vector4D< T > &  v  )  [inline]

Assignement operator

template<typename T >
bool jrlMathTools::Vector4D< T >::operator== ( const struct Vector4D< T > &  v  )  const [inline]

Binary operator ==

template<typename T >
const T& jrlMathTools::Vector4D< T >::operator[] ( unsigned  i  )  const [inline]

Array operator

template<typename T >
T& jrlMathTools::Vector4D< T >::operator[] ( unsigned  i  )  [inline]

Array operator


Friends And Related Function Documentation

template<typename T >
std::ostream& operator<< ( std::ostream &  os,
Vector4D< T > const &  v 
) [friend]

Member Data Documentation

template<typename T >
T jrlMathTools::Vector4D< T >::m_w
template<typename T >
T jrlMathTools::Vector4D< T >::m_x
template<typename T >
T jrlMathTools::Vector4D< T >::m_y
template<typename T >
T jrlMathTools::Vector4D< T >::m_z




jrlMathTools library documentation