jrlMathTools::Matrix4x4< T > Struct Template Reference

Template to handle a 4x4 matrix. More...

List of all members.

Public Member Functions

 Matrix4x4 ()
 Matrix4x4 (const T x)
 Matrix4x4 (const struct Matrix4x4< T > &v)
template<typename T2 >
 Matrix4x4 (const struct Matrix4x4< T2 > &v)
T & operator[] (unsigned int i)
const T & operator[] (unsigned int i) const
T & operator() (unsigned int i, unsigned int j)
operator() (unsigned int i, unsigned int j) const
void setZero (void)
void setIdentity (void)
Matrix4x4< T > operator+ (const Matrix4x4< T > &B) const
struct Matrix4x4< T > operator- (const struct Matrix4x4< T > &B) const
Matrix4x4< T > operator* (const Matrix4x4< T > &B) const
void CeqthismulB (const Matrix4x4< T > &B, Matrix4x4< T > &C) const
void CeqthismulB (const Vector4D< T > &B, Vector4D< T > &C) const
Vector3D< T > operator* (const Vector3D< T > &B) const
Vector4D< T > operator* (const Vector4D< T > &B) const
Matrix4x4< T > operator* (const double &r) const
Matrix4x4< T > Transpose () const
void Inversion (Matrix4x4 &A) const
Matrix4x4< T > Inversion ()
determinant () const
trace () const
void operator+= (const Matrix3x3< T > &B)
void operator-= (const Matrix4x4< T > &B)
void operator*= (const Matrix4x4< T > &B)
 Local matrix multiplication.
void operator*= (const T &t)
 Local matrix multiplication.

Public Attributes

m [16]

Friends

std::ostream & operator<< (std::ostream &os, Matrix4x4< T > const &A)

Detailed Description

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

Template to handle a 4x4 matrix.


Constructor & Destructor Documentation

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

Defaut constructor.

template<typename T >
jrlMathTools::Matrix4x4< T >::Matrix4x4 ( const T  x  )  [inline]

Constructor form a scalar

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

Copy constructor

template<typename T >
template<typename T2 >
jrlMathTools::Matrix4x4< T >::Matrix4x4 ( const struct Matrix4x4< T2 > &  v  )  [inline]

Hybrid copy constructor


Member Function Documentation

template<typename T >
void jrlMathTools::Matrix4x4< T >::CeqthismulB ( const Vector4D< T > &  B,
Vector4D< T > &  C 
) const [inline]

Multiplication operator with another matrix

template<typename T >
void jrlMathTools::Matrix4x4< T >::CeqthismulB ( const Matrix4x4< T > &  B,
Matrix4x4< T > &  C 
) const [inline]

Multiplication operator with another matrix

template<typename T >
T jrlMathTools::Matrix4x4< T >::determinant (  )  const [inline]

Determinant

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

Inversion

template<typename T >
void jrlMathTools::Matrix4x4< T >::Inversion ( Matrix4x4< T > &  A  )  const [inline]

Inversion

template<typename T >
T jrlMathTools::Matrix4x4< T >::operator() ( unsigned int  i,
unsigned int  j 
) const [inline]

Access by giving the (i,j) element.

template<typename T >
T& jrlMathTools::Matrix4x4< T >::operator() ( unsigned int  i,
unsigned int  j 
) [inline]

Access by giving the (i,j) element.

template<typename T >
Matrix4x4<T> jrlMathTools::Matrix4x4< T >::operator* ( const double &  r  )  const [inline]

Multiplication operator with a constant

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

Multiplication operator with a vector 4d

template<typename T >
Vector3D<T> jrlMathTools::Matrix4x4< T >::operator* ( const Vector3D< T > &  B  )  const [inline]

Multiplication operator with another vector

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

Multiplication operator with another matrix

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

Local matrix multiplication.

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

Local matrix multiplication.

template<typename T >
Matrix4x4<T> jrlMathTools::Matrix4x4< T >::operator+ ( const Matrix4x4< T > &  B  )  const [inline]

Addition operator

template<typename T >
void jrlMathTools::Matrix4x4< T >::operator+= ( const Matrix3x3< T > &  B  )  [inline]

Self matrix addition

template<typename T >
struct Matrix4x4< T > jrlMathTools::Matrix4x4< T >::operator- ( const struct Matrix4x4< T > &  B  )  const [inline, read]

Substraction operator

template<typename T >
void jrlMathTools::Matrix4x4< T >::operator-= ( const Matrix4x4< T > &  B  )  [inline]

Local matrix substraction

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

ith element considering the matrix as an array.

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

ith element considering the matrix as an array.

template<typename T >
void jrlMathTools::Matrix4x4< T >::setIdentity ( void   )  [inline]

Set to identity

template<typename T >
void jrlMathTools::Matrix4x4< T >::setZero ( void   )  [inline]

Set to zero matrix

template<typename T >
T jrlMathTools::Matrix4x4< T >::trace (  )  const [inline]
template<typename T >
Matrix4x4<T> jrlMathTools::Matrix4x4< T >::Transpose (  )  const [inline]

Transposition


Friends And Related Function Documentation

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

Member Data Documentation

template<typename T >
T jrlMathTools::Matrix4x4< T >::m[16]

The data array.





jrlMathTools library documentation