Springhead
An open source physics engine for virtual reality, haptics and motion generation.

テンプレートによるN×M行列型の定義. [詳細]

#include "TVector.h"
TMatrix.hのインクルード依存関係図
このグラフは、どのファイルから直接、間接的にインクルードされているかを示しています。

マクロ定義

#define CALC(i, j)   r.item(i,j) = ET( a.item(i,0)*b.item(0,j) + a.item(i,1)*b.item(1,j) + a.item(i,2)*b.item(2,j) )
 
#define CALC(i, j)   r.item(i,j) = ET( a.item(i,0)*b.item(0,j) + a.item(i,1)*b.item(1,j) + a.item(i,2)*b.item(2,j) + a.item(i,3)*b.item(3,j) )
 
#define ABS_LU_MATRIX(a)   ((a)>0 ? (a) : -(a))
 
#define DET2_INV_TMATRIXBASE(a, b, c, d)   (a*d - b*c)
 
#define DEF_MATRIXD_BASIC_MEMBER(THIS)
 
#define DEF_MATRIX_BASIC_MEMBER(THIS)
 

説明

要素の型とサイズをテンプレートの引数にすることで, 管理情報をメモリに持たずに,一般の行列を扱う. 配列をキャストして行列にすることもできる. 部分行列や行や列を行列やベクトルとして取り出すこともできる. sparse matrix には対応していない.

マクロ定義

#define DEF_MATRIX_BASIC_MEMBER (   THIS)
値:
DEF_MATRIXD_BASIC_MEMBER(THIS) \
/* デフォルトコンストラクタ */ \
THIS(){ this->init_buffer(); this->set_default();} \
/* 行列 b による初期化 */ \
template <class B> \
THIS(const PTM::MatrixImp<B>& b){ this->init_buffer(); this->assign(b);} \
void assign(VectorImp< AD > &a, const VectorImp< BD > &b)
代入(a = b).
Definition: TVector.h:82