Darc Library  2012.11
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Core/cr_matrix.h File Reference
#include <iostream>
#include <cstdarg>
#include "cr_main.h"
#include "dc_main.h"

Classes

struct  darc::core::Traits< Matrix< T, M, N > >
struct  darc::core::Storage< T, M, N >
 Default type uses row order storage. More...
struct  darc::core::Storage< T, M, 0 >
 Storage with variable number of columns. More...
class  darc::core::BaseMatrix< D >
class  darc::core::Matrix< T, M, N >
class  darc::core::Matrix4D_T< T >
class  darc::core::Matrix3D_T< T >
class  darc::core::Matrix2D_T< T >

Namespaces

namespace  darc
namespace  darc::core

Typedefs

typedef Matrix4D_T< Real > darc::core::Matrix4D
typedef Matrix3D_T< Real > darc::core::Matrix3D
typedef Matrix2D_T< Real > darc::core::Matrix2D

Functions

template<typename T , UInt M, UInt N, UInt O>
const BaseMatrix< Matrix< T, M,
O > > 
darc::core::operator* (const BaseMatrix< Matrix< T, M, N > > &_m0, const BaseMatrix< Matrix< T, N, O > > &_m1)
 Operator "Multiplication" (default).
template<>
const BaseMatrix< Matrix
< float, 4, 4 > > 
darc::core::operator* (const BaseMatrix< Matrix< float, 4, 4 > > &_m0, const BaseMatrix< Matrix< float, 4, 4 > > &_m1)
 Operator "Matrix multiplication" for 4-dimensional matrices using SIMD.
template<typename T , int M, int N>
const BaseMatrix< Matrix< T, M,
N > > 
darc::core::operator* (const T &_s, const BaseMatrix< Matrix< T, M, N > > &_m)
 Operator "Scalar multiplication (left)".
template<typename T , int M, int N>
const BaseMatrix< Matrix< T, M,
N > > 
darc::core::operator* (const BaseMatrix< Matrix< T, M, N > > &_m, const T &_s)
 Operator "Scalar multiplication (right)".
template<typename T , int M, int N>
const BaseMatrix< Matrix< T, M,
N > > & 
darc::core::operator*= (BaseMatrix< Matrix< T, M, N > > &_v, const T &_s)
 Operator "Scalar multiplication (compound)".
template<typename T , int M, int N>
const BaseMatrix< Matrix< T, M,
N > > 
darc::core::operator+ (const BaseMatrix< Matrix< T, M, N > > &_m0, const BaseMatrix< Matrix< T, M, N > > &_m1)
 Operator "Vector addition".
template<typename T , int M, int N>
const bool darc::core::operator< (const BaseMatrix< Matrix< T, M, N > > &_m0, const BaseMatrix< Matrix< T, M, N > > &_m1)
 Operator "Less".
template<typename D >
std::ostream & darc::core::operator<< (std::ostream &_o, const BaseMatrix< D > &_m)
 Operator "Stream out".
CR_API Real darc::core::Matrix4D_Det (const Matrix4D &_m)
CR_API float darc::core::Matrix4D_Det2 (const Matrix4D &_m)
CR_API Real darc::core::Matrix4D_Det3 (const Matrix4D &_mIn)
CR_API Matrix4D darc::core::Matrix4D_Invert (const Matrix4D &_m)
CR_API Matrix4D darc::core::ge_Matrix4D_transpose (const Matrix4D &_m)
CR_API Matrix4D darc::core::ge_Matrix4D_TR_invert (const Matrix4D &_m)
CR_API void darc::core::cr_Matrix4D_multiply_sse2 (const Matrix4D &_m0, const Matrix4D &_m1, Matrix4D &_mOut)
CR_API void darc::core::ge_Matrix4D_multiply2 (const Real *_m0, const Real *_m1, Real *_mOut)
CR_API void darc::core::Matrix4D_Invert2 (float *src)
CR_API Matrix4D darc::core::ge_Matrix4D_projectionLH (const Real &_viewY, const Real &_ratio, const Real &_zn, const Real &_zf)
CR_API Matrix4D darc::core::ge_Matrix4D_orthogonalLH (const Real _w, const Real _h, const Real &_zn, const Real &_zf)
CR_API Matrix4D darc::core::ge_Matrix4D_orthogonalOffLH (const Real _l, const Real _r, const Real _b, const Real _t, const Real &_zn, const Real &_zf)
CR_API Matrix4D darc::core::ge_Matrix4D_frustumLH (const Real _l, const Real _r, const Real _b, const Real _t, const Real _n, const Real _f)
CR_API Matrix4D darc::core::CR_Matrix4D_rotX (const Real &_r)
CR_API Matrix4D darc::core::CR_Matrix4D_rotY (const Real &_r)
CR_API Matrix4D darc::core::CR_Matrix4D_RotZ (const Real &_r)
CR_API Matrix4D darc::core::ge_Matrix4D_translation (const Real &_x, const Real &_y, const Real &_z)
CR_API void darc::core::ge_Matrix4D_translation (Matrix4D *_m, Real _x, Real _y, Real _z)
CR_API Matrix3D darc::core::ge_Matrix3D_translation (const Real &_x, const Real &_y)
CR_API Matrix3D darc::core::ge_Matrix3D_rot (const Real &_r)