メインページ | ネームスペース一覧 | クラス階層 | 構成 | Directories | ファイル一覧 | ネームスペースメンバ | 構成メンバ | ファイルメンバ | 関連ページ

TVector.h

#include <algorithm>
#include <iosfwd>
#include <math.h>
#include <assert.h>
#include <stddef.h>
#include <vector>

TVector.hのインクルード依存関係図

このグラフは、どのファイルから直接、間接的にインクルードされているかを示しています。

ソースコードを見る。

ネームスペース

演算.

マクロ定義

関数


説明

テンプレートによるN次元ベクトルの定義. 要素の型とサイズをテンプレートの引数にすることで, 管理情報をメモリに持たずに,一般の行列を扱う. 配列をキャストしてベクトルにすることもできる.

TVector.h で定義されています。


マクロ定義

#define DEF_VECTOR_BASIC_MEMBER THIS   ) 
 

ベクトル型派生クラスに必要なメンバの定義. 派生クラスを作るたびに,このマクロを使ってメンバを作る. デフォルトコンストラクタ, 同じサイズのベクトルによる 初期化・代入などが定義される.

引数:
THIS 新たに宣言する派生クラスの型名.
参照:
TVector

TVector.h475 行で定義されています。


関数

template<class D>
class class void clear VectorImp< D > &  a,
const typename D::element_type  v = D::zero(0)
 

ベクトルの要素を全てvにする.

引数:
v 要素型の値.

TVector.h93 行で定義されています。

template<class AD, class BD>
void assign VectorImp< AD > &  a,
const VectorImp< BD > &  b
 

代入(a = b).

引数:
b 同じサイズのベクトル.

TVector.h99 行で定義されています。

template<class AD, class BD>
void assign TVectorBase<(2), AD > &  a,
const TVectorBase<(2), BD > &  b
 

代入(a = b) 2要素専用

TVector.h106 行で定義されています。

template<class AD, class BD>
void assign TVectorBase<(3), AD > &  a,
const TVectorBase<(3), BD > &  b
 

代入(a = b) 3要素専用

TVector.h113 行で定義されています。

template<class AD, class BD>
void assign TVectorBase<(4), AD > &  a,
const TVectorBase<(4), BD > &  b
 

代入(a = b) 4要素専用

TVector.h122 行で定義されています。

template<class AD>
void assign VectorImp< AD > &  a,
const typename AD::element_type *  b
 

代入(*this = b).

引数:
b 同じサイズのベクトル.

TVector.h132 行で定義されています。

template<class AD, class BD>
void add VectorImp< AD > &  a,
const VectorImp< BD > &  b
 

加算(*this += b).

引数:
b 同じサイズのベクトル.

TVector.h138 行で定義されています。

template<class AD, class BD>
void sub VectorImp< AD > &  a,
const VectorImp< BD > &  b
 

減算(*this -= b).

引数:
b 同じサイズのベクトル.

TVector.h145 行で定義されています。

template<class AD>
void multi VectorImp< AD > &  a,
const typename AD::element_type &  b
 

定数倍(*this *= b).

引数:
b 要素型.

TVector.h152 行で定義されています。

template<class AD, class BD>
void multi_each VectorImp< AD > &  a,
const VectorImp< BD > &  b
 

定数倍(*this *= b).

引数:
b 要素型.

TVector.h158 行で定義されています。

template<class AD>
void div VectorImp< AD > &  a,
const typename AD::element_type &  b
 

定数分の1(*this /= b).

引数:
b 要素型.

TVector.h164 行で定義されています。

template<class AD, class BD>
AD::element_type dot const VectorImp< AD > &  a,
const VectorImp< BD > &  b
 

内積(return *this * b).

引数:
b 同じサイズのベクトル.
戻り値:
内積の値(要素型)

TVector.h171 行で定義されています。

template<class AD, class BD>
bool equal const VectorImp< AD > &  a,
const VectorImp< BD > &  b
 

比較(return *this == b).

引数:
b 同じサイズのベクトル.
戻り値:
bool値.

TVector.h187 行で定義されています。

template<class AD, class BD>
void element_min_impl VectorImp< AD > &  a,
const VectorImp< BD > &  b
 

要素ごとの最小値(min(*this, b)).

引数:
b 同じサイズのベクトル.

TVector.h198 行で定義されています。

template<class AD, class BD>
void element_max_impl VectorImp< AD > &  a,
const VectorImp< BD > &  b
 

要素ごとの最大値(max(*this, b)).

引数:
b 同じサイズのベクトル.

TVector.h211 行で定義されています。

template<class AD, class BD, class ED>
void clip const VectorImp< AD > &  a,
const VectorImp< BD > &  b,
const VectorImp< ED > &  e
 

クリッピングする(bとeを頂点とする矩形内に収まるようにする).

TVector.h223 行で定義されています。

template<class AD, class BD>
AD::ret_type operator+ const VectorImp< AD > &  a,
const VectorImp< BD > &  b
 

ベクトルの和(return a + b).

引数:
a ベクトル型
b aと同じ次元数のベクトル型
戻り値:
aと同じ次元数のTVector型

TVector.h794 行で定義されています。

template<class AD, class BD>
AD::ret_type operator- const VectorImp< AD > &  a,
const VectorImp< BD > &  b
 

ベクトルの差(return a - b).

引数:
a ベクトル型
b aと同じ次元数のベクトル型
戻り値:
aと同じ次元数のベクトル型

TVector.h804 行で定義されています。

template<class BD>
BD::ret_type operator * const typename BD::element_type &  a,
const VectorImp< BD > &  b
 

スカラーとベクトルの積(return a * b).

引数:
a ベクトル型
b 要素型
戻り値:
ベクトル型

TVector.h814 行で定義されています。

template<class AD, class BD>
AD::element_type operator * const VectorImp< AD > &  a,
const VectorImp< BD > &  b
 

ベクトルの内積(return a * b).

引数:
a ベクトル型
b aと同じ次元数のベクトル型
戻り値:
要素型

TVector.h825 行で定義されています。

template<class AD, class BD>
bool operator== const VectorImp< AD > &  a,
const VectorImp< BD > &  b
 

比較(return a == b).

引数:
a ベクトル型
b 要素型aと同じ次元数のベクトル型
戻り値:
bool

TVector.h834 行で定義されています。

template<class AD, class BD>
bool operator!= const VectorImp< AD > &  a,
const VectorImp< BD > &  b
 

比較(return a != b).

引数:
a ベクトル型
b 要素型aと同じ次元数のベクトル型
戻り値:
bool

TVector.h840 行で定義されています。

template<class BD>
std::ostream& operator<< std::ostream &  os,
const VectorImp< BD > &  v
 

ストリームに書式付で出力する.

TVector.h844 行で定義されています。

template<class BD>
std::istream& operator>> std::istream &  is,
VectorImp< BD > &  v
 

ストリームから書式付で入力する.

TVector.h850 行で定義されています。

template<class AD, class BD>
AD::element_type cross const TVectorBase<(2), AD > &  a,
const TVectorBase<(2), BD > &  b
 

2次元ベクトルの外積(return a x b).

引数:
a 2次元ベクトル型
b 2次元ベクトル型
戻り値:
要素型

TVector.h859 行で定義されています。

template<class AD, class BD>
AD::ret_type cross const TVectorBase<(3), AD > &  a,
const TVectorBase<(3), BD > &  b
 

3次元ベクトルの外積(return a x b).

引数:
a 3次元ベクトル型
b 3次元ベクトル型
戻り値:
3次元ベクトル型

TVector.h876 行で定義されています。


Springheadに対してSun Apr 16 01:58:41 2006に生成されました。  doxygen 1.4.1