Free Electron
Classes | Namespaces | Macros | Functions
Matrix.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  fe::Matrix< M, N, T >
 General template for fixed size numeric matrices. More...
 

Namespaces

 fe
 kernel
 

Macros

#define d   r22
 
#define px   r00
 
#define py   r10
 
#define pz   r20
 
#define one_over_s   one_over_det
 
#define a   r01
 
#define b   r11
 
#define c   r21
 
#define tx   r01
 
#define ty   r11
 
#define tz   r21
 

Functions

template<int M, int N, class T >
Matrix< M, N, T > & fe::set (Matrix< M, N, T > &matrix)
 
template<int M, int N, class T , class U >
Matrix< M, N, T > & fe::set (Matrix< M, N, T > &matrix, const U *pArray)
 
template<int M, int N, class T , class U >
Matrix< M, N, T > & fe::setAll (Matrix< M, N, T > &matrix, const U value)
 
template<int M, int N, class T >
void fe::squareroot (Matrix< M, N, T > &a_U, const Matrix< M, N, T > &a_A)
 Square root of a matrix. More...
 
template<int M, int N, class T >
void fe::backSub (const Matrix< M, N, T > &a_A, Vector< N, T > &a_x, const Vector< N, T > &a_b)
 
template<int M, int N, class T >
void fe::transposeForeSub (const Matrix< M, N, T > &a_A, Vector< N, T > &a_x, const Vector< N, T > &a_b)
 
template<typename T >
Matrix< 4, 4, T > & fe::osg_invert (Matrix< 4, 4, T > &a_inverted, const Matrix< 4, 4, T > &a_matrix)
 4x4 invert More...
 
template<typename T >
fe::determinant3x3 (T a1, T a2, T a3, T b1, T b2, T b3, T c1, T c2, T c3)
 
template<typename T >
fe::determinant (const Matrix< 4, 4, T > &m)
 
template<typename T >
Matrix< 4, 4, T > & fe::jad_invert (Matrix< 4, 4, T > &a_inverted, const Matrix< 4, 4, T > &a_matrix)
 
template<typename T >
Matrix< 4, 4, T > & fe::brk_invert (Matrix< 4, 4, T > &a_inverted, const Matrix< 4, 4, T > &a_matrix)
 
template<typename T >
Matrix< 4, 4, T > & fe::invert (Matrix< 4, 4, T > &a_inverted, const Matrix< 4, 4, T > &a_matrix)
 4x4 full matrix inversion More...
 
template<typename T >
Matrix< 3, 3, T > & fe::invert (Matrix< 3, 3, T > &a_inverted, const Matrix< 3, 3, T > &a_matrix)
 3x3 matrix inversion More...
 
template<typename T >
bool fe::inverted (Matrix< 3, 3, T > &a_inverted, const Matrix< 3, 3, T > &a_matrix)
 
template<typename T >
Matrix< 4, 4, T > fe::perspective (T fovy, T aspect, T nearplane, T farplane)
 Create perspective projection transform just like gluPerspective. More...
 
template<typename T >
void fe::decomposePerspective (const Matrix< 4, 4, T > &a_rProjection, T &a_rFovy, T &a_rAspect, T &a_rNearplane, T &a_rFarplane)
 Try to extract settings of a perspective matrix. More...
 
template<typename T >
Matrix< 4, 4, T > fe::ortho (T left, T right, T bottom, T top, T near_val, T far_val)
 Create orthogonal projection transform just like glOrtho. More...
 
template<typename T >
void fe::project (Vector< 4, T > &a_r, const Matrix< 4, 4, T > &a_m, const Vector< 4, T > &a_v)
 project vector through matrix. divides by transformed w More...
 
template<typename T >
void fe::unproject (Vector< 4, T > &a_r, const Matrix< 4, 4, T > &a_m, const Vector< 4, T > &a_v)
 reverse project vector through matrix. reverses w division More...
 
template<typename T >
void fe::transformVector (const Matrix< 4, 4, T > &a_m, const Vector< 4, T > &a_v, Vector< 4, T > &a_r)
 
template<int N, typename T >
Vector< N, T > fe::transformVector (const Matrix< 4, 4, T > &lhs, const Vector< N, T > &in)
 
template<int N, typename T >
Vector< N, T > fe::inverseTransformVector (const Matrix< 4, 4, T > &lhs, const Vector< N, T > &in)
 
template<typename T >
void fe::transposeTransformVector (const Matrix< 4, 4, T > &a_m, const Vector< 4, T > &a_v, Vector< 4, T > &a_r)
 
template<int N, class T >
Matrix< N, N, T > & fe::outerProduct (Matrix< N, N, T > &result, const Vector< N, T > &a, const Vector< N, T > &b)