CD_Matrix::Matrix4x4T< T > Struct Template Reference

#include <sch/Matrix/SmallMatrix4x4T.h>

Public Member Functions

 Matrix4x4T ()
 
 Matrix4x4T (const T x)
 
 Matrix4x4T (const struct Matrix4x4T< T > &v)
 
template<typename T2 >
 Matrix4x4T (const struct Matrix4x4T< 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)
 
Matrix4x4T< T > operator+ (const Matrix4x4T< T > &B)
 
struct Matrix4x4T< T > operator- (const struct Matrix4x4T< T > &B)
 
Matrix4x4T< T > operator* (const Matrix4x4T< T > &B) const
 
void CeqthismulB (const Matrix4x4T< T > &B, Matrix4x4T< T > &C) const
 
void CeqthismulB (const Vector4T< T > &B, Vector4T< T > &C) const
 
template<bool b>
Vector3T< T, b > operator* (const Vector3T< T, b > &B) const
 
Matrix4x4T< T > operator* (const double &r)
 
Matrix4x4T< T > Transpose ()
 
void Inversion (Matrix4x4T &A)
 
Matrix4x4T< T > Inversion ()
 
determinant () const
 
trace () const
 
void operator+= (const Matrix3x3T< T > &B)
 
void operator-= (const Matrix4x4T< T > &B)
 
void operator*= (const Matrix4x4T< T > &B)
 Local matrix multiplication. More...
 

Public Attributes

m [16]
 

Friends

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

Detailed Description

template<typename T>
struct CD_Matrix::Matrix4x4T< T >

Template to handle a 4x4 matrix

Constructor & Destructor Documentation

◆ Matrix4x4T() [1/4]

template<typename T >
CD_Matrix::Matrix4x4T< T >::Matrix4x4T ( )
inline

Defaut constructor.

◆ Matrix4x4T() [2/4]

template<typename T >
CD_Matrix::Matrix4x4T< T >::Matrix4x4T ( const T  x)
inline

Constructor form a scalar

◆ Matrix4x4T() [3/4]

template<typename T >
CD_Matrix::Matrix4x4T< T >::Matrix4x4T ( const struct Matrix4x4T< T > &  v)
inline

Copy constructor

◆ Matrix4x4T() [4/4]

template<typename T >
template<typename T2 >
CD_Matrix::Matrix4x4T< T >::Matrix4x4T ( const struct Matrix4x4T< T2 > &  v)
inline

Hybrid copy constructor

Member Function Documentation

◆ CeqthismulB() [1/2]

template<typename T >
void CD_Matrix::Matrix4x4T< T >::CeqthismulB ( const Matrix4x4T< T > &  B,
Matrix4x4T< T > &  C 
) const
inline

Multiplication operator with another matrix

◆ CeqthismulB() [2/2]

template<typename T >
void CD_Matrix::Matrix4x4T< T >::CeqthismulB ( const Vector4T< T > &  B,
Vector4T< T > &  C 
) const
inline

Multiplication operator with another matrix

◆ determinant()

template<typename T >
T CD_Matrix::Matrix4x4T< T >::determinant ( ) const
inline

Determinant

◆ Inversion() [1/2]

template<typename T >
Matrix4x4T<T> CD_Matrix::Matrix4x4T< T >::Inversion ( )
inline

Inversion

◆ Inversion() [2/2]

template<typename T >
void CD_Matrix::Matrix4x4T< T >::Inversion ( Matrix4x4T< T > &  A)
inline

Inversion

◆ operator()() [1/2]

template<typename T >
T& CD_Matrix::Matrix4x4T< T >::operator() ( unsigned int  i,
unsigned int  j 
)
inline

Access by giving the (i,j) element.

◆ operator()() [2/2]

template<typename T >
T CD_Matrix::Matrix4x4T< T >::operator() ( unsigned int  i,
unsigned int  j 
) const
inline

Access by giving the (i,j) element.

◆ operator*() [1/3]

template<typename T >
Matrix4x4T<T> CD_Matrix::Matrix4x4T< T >::operator* ( const double &  r)
inline

Multiplication operator with a constant

◆ operator*() [2/3]

template<typename T >
Matrix4x4T<T> CD_Matrix::Matrix4x4T< T >::operator* ( const Matrix4x4T< T > &  B) const
inline

Multiplication operator with another matrix

◆ operator*() [3/3]

template<typename T >
template<bool b>
Vector3T<T, b> CD_Matrix::Matrix4x4T< T >::operator* ( const Vector3T< T, b > &  B) const
inline

Multiplication operator with another vector

◆ operator*=()

template<typename T >
void CD_Matrix::Matrix4x4T< T >::operator*= ( const Matrix4x4T< T > &  B)
inline

Local matrix multiplication.

◆ operator+()

template<typename T >
Matrix4x4T<T> CD_Matrix::Matrix4x4T< T >::operator+ ( const Matrix4x4T< T > &  B)
inline

Addition operator

◆ operator+=()

template<typename T >
void CD_Matrix::Matrix4x4T< T >::operator+= ( const Matrix3x3T< T > &  B)
inline

Self matrix addition

◆ operator-()

template<typename T >
struct Matrix4x4T< T > CD_Matrix::Matrix4x4T< T >::operator- ( const struct Matrix4x4T< T > &  B)
inline

Substraction operator

◆ operator-=()

template<typename T >
void CD_Matrix::Matrix4x4T< T >::operator-= ( const Matrix4x4T< T > &  B)
inline

Local matrix substraction

◆ operator[]() [1/2]

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

ith element considering the matrix as an array.

◆ operator[]() [2/2]

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

ith element considering the matrix as an array.

◆ setIdentity()

template<typename T >
void CD_Matrix::Matrix4x4T< T >::setIdentity ( void  )
inline

Set to identity

◆ setZero()

template<typename T >
void CD_Matrix::Matrix4x4T< T >::setZero ( void  )
inline

Set to zero matrix

◆ trace()

template<typename T >
T CD_Matrix::Matrix4x4T< T >::trace ( ) const
inline

◆ Transpose()

template<typename T >
Matrix4x4T<T> CD_Matrix::Matrix4x4T< T >::Transpose ( )
inline

Transposition

Friends And Related Function Documentation

◆ operator<<

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

Member Data Documentation

◆ m

template<typename T >
T CD_Matrix::Matrix4x4T< T >::m[16]

The data array.


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