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

クラス テンプレート PTM::VectorImp< SZ, STR, OD >

ベクトルの演算などの実装 [詳細]

#include <TVector.h>

すべてのメンバ一覧

Public メソッド

基本操作.
部分ベクトル
演算.
入出力
演算子

Protected メソッド


説明

template<size_t SZ, size_t STR, class OD>
class PTM::VectorImp< SZ, STR, OD >

ベクトルの演算などの実装

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


コンストラクタとデストラクタ

template<size_t SZ, size_t STR, class OD>
PTM::VectorImp< SZ, STR, OD >::VectorImp  )  [inline]
 

コンストラクタ

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


関数

template<size_t SZ, size_t STR, class OD>
exp_type& PTM::VectorImp< SZ, STR, OD >::exp  )  [inline]
 

実体の取得

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

参照元 PTM::VectorImp< VectorDesc< ConstEVectorSlice< T >, VVector< T >, T > >::add(), PTM::VectorImp< VectorDesc< ConstEVectorSlice< T >, VVector< T >, T > >::assign(), PTM::VectorImp< VectorDesc< ConstEVectorSlice< T >, VVector< T >, T > >::clear(), PTM::VectorImp< VectorDesc< ConstEVectorSlice< T >, VVector< T >, T > >::clip(), PTM::VectorImp< VectorDesc< ConstEVectorSlice< T >, VVector< T >, T > >::div(), PTM::VectorImp< VectorDesc< ConstEVectorSlice< T >, VVector< T >, T > >::dot(), PTM::VectorImp< VectorDesc< ConstEVectorSlice< T >, VVector< T >, T > >::element_max(), PTM::VectorImp< VectorDesc< ConstEVectorSlice< T >, VVector< T >, T > >::element_min(), PTM::VectorImp< VectorDesc< ConstEVectorSlice< T >, VVector< T >, T > >::equal(), PTM::VectorImp< VectorDesc< ConstEVectorSlice< T >, VVector< T >, T > >::item(), PTM::VectorImp< VectorDesc< ConstEVectorSlice< T >, VVector< T >, T > >::multi(), PTM::VectorImp< VectorDesc< ConstEVectorSlice< T >, VVector< T >, T > >::resize(), PTM::VectorImp< VectorDesc< ConstEVectorSlice< T >, VVector< T >, T > >::size(), PTM::VectorImp< VectorDesc< ConstEVectorSlice< T >, VVector< T >, T > >::square(), PTM::VectorImp< VectorDesc< ConstEVectorSlice< T >, VVector< T >, T > >::stride(), と PTM::VectorImp< VectorDesc< ConstEVectorSlice< T >, VVector< T >, T > >::sub().

template<size_t SZ, size_t STR, class OD>
element_type& PTM::VectorImp< SZ, STR, OD >::item size_t  n  )  [inline]
 

n番目の要素を返す(基数は0).

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

参照元 PTM::VectorImp< VectorDesc< ConstEVectorSlice< T >, VVector< T >, T > >::input(), PTM::VectorImp< VectorDesc< ConstEVectorSlice< T >, VVector< T >, T > >::operator element_type *(), PTM::VectorImp< VectorDesc< ConstEVectorSlice< T >, VVector< T >, T > >::operator[](), PTM::VectorImp< VectorDesc< ConstEVectorSlice< T >, VVector< T >, T > >::print(), PTM::VectorImp< VectorDesc< ConstEVectorSlice< T >, VVector< T >, T > >::v_range(), と PTM::VectorImp< VectorDesc< ConstEVectorSlice< T >, VVector< T >, T > >::v_slice().

template<size_t SZ, size_t STR, class OD>
size_t PTM::VectorImp< SZ, STR, OD >::size  )  const [inline]
 

サイズの取得

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

参照元 PTM::VectorImp< VectorDesc< ConstEVectorSlice< T >, VVector< T >, T > >::input(), Spr::PHSolidContainer::NChildObjects(), と PTM::VectorImp< VectorDesc< ConstEVectorSlice< T >, VVector< T >, T > >::print().

template<size_t SZ, size_t STR, class OD>
void PTM::VectorImp< SZ, STR, OD >::resize size_t  sz  )  [inline]
 

サイズの設定

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

参照元 PTM::VectorImp< VectorDesc< ConstEVectorSlice< T >, VVector< T >, T > >::input(), と PTM::VVector< float >::VVector().

template<size_t SZ, size_t STR, class OD>
size_t PTM::VectorImp< SZ, STR, OD >::stride  )  [inline]
 

ストライドの取得

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

参照元 PTM::VectorImp< VectorDesc< ConstEVectorSlice< T >, VVector< T >, T > >::v_range(), と PTM::VectorImp< VectorDesc< ConstEVectorSlice< T >, VVector< T >, T > >::v_slice().

template<size_t SZ, size_t STR, class OD>
EVectorSlice<element_type> PTM::VectorImp< SZ, STR, OD >::v_range size_t  off,
size_t  sz
[inline]
 

部分ベクトルを返す.変数版

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

template<size_t SZ, size_t STR, class OD>
EVectorSlice<element_type> PTM::VectorImp< SZ, STR, OD >::v_slice size_t  off,
size_t  sz,
size_t  str
[inline]
 

ベクトルのスライスを返す.

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

template<size_t SZ, size_t STR, class OD>
void PTM::VectorImp< SZ, STR, OD >::clear const element_type  v = zero(0)  )  [inline]
 

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

引数:
v 要素型の値.

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

参照元 Spr::PHSolidContainer::Clear(), Spr::PHJointMulti< 3 >::PreIntegrate(), と Spr::PHJointMulti< 3 >::Reset().

template<size_t SZ, size_t STR, class OD>
template<class B>
void PTM::VectorImp< SZ, STR, OD >::assign const VectorImp< B > &  b  )  [inline]
 

代入(*this = b).

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

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

template<size_t SZ, size_t STR, class OD>
void PTM::VectorImp< SZ, STR, OD >::assign const element_type *  b  )  [inline]
 

代入(*this = b).

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

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

template<size_t SZ, size_t STR, class OD>
template<class B>
void PTM::VectorImp< SZ, STR, OD >::add const VectorImp< B > &  b  )  [inline]
 

加算(*this += b).

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

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

参照元 PTM::VectorImp< VectorDesc< ConstEVectorSlice< T >, VVector< T >, T > >::operator+=().

template<size_t SZ, size_t STR, class OD>
template<class B>
void PTM::VectorImp< SZ, STR, OD >::sub const VectorImp< B > &  b  )  [inline]
 

減算(*this -= b).

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

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

参照元 PTM::VectorImp< VectorDesc< ConstEVectorSlice< T >, VVector< T >, T > >::operator-=().

template<size_t SZ, size_t STR, class OD>
void PTM::VectorImp< SZ, STR, OD >::multi const element_type &  b  )  [inline]
 

定数倍(*this *= b).

引数:
b 要素型.

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

参照元 PTM::VectorImp< VectorDesc< ConstEVectorSlice< T >, VVector< T >, T > >::operator *=().

template<size_t SZ, size_t STR, class OD>
void PTM::VectorImp< SZ, STR, OD >::div const element_type &  b  )  [inline]
 

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

引数:
b 要素型.

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

参照元 PTM::VectorImp< VectorDesc< ConstEVectorSlice< T >, VVector< T >, T > >::operator/=(), と PTM::VectorImp< VectorDesc< ConstEVectorSlice< T >, VVector< T >, T > >::unitize().

template<size_t SZ, size_t STR, class OD>
template<class B>
element_type PTM::VectorImp< SZ, STR, OD >::dot const VectorImp< B > &  b  )  const [inline]
 

内積(return *this * b).

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

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

template<size_t SZ, size_t STR, class OD>
template<class B>
bool PTM::VectorImp< SZ, STR, OD >::equal const VectorImp< B > &  b  )  const [inline]
 

比較(return *this == b).

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

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

template<size_t SZ, size_t STR, class OD>
template<class B>
void PTM::VectorImp< SZ, STR, OD >::element_min const VectorImp< B > &  b  )  [inline]
 

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

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

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

参照元 Spr::SGBBox::AddBBox().

template<size_t SZ, size_t STR, class OD>
template<class B>
void PTM::VectorImp< SZ, STR, OD >::element_max const VectorImp< B > &  b  )  [inline]
 

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

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

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

参照元 Spr::SGBBox::AddBBox().

template<size_t SZ, size_t STR, class OD>
element_type PTM::VectorImp< SZ, STR, OD >::square  )  const [inline]
 

ベクトルのノルム(大きさ)の2乗を返す.

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

参照元 Spr::CDQHPlanes< TVtx >::CreateFirstConvex(), と PTM::VectorImp< VectorDesc< ConstEVectorSlice< T >, VVector< T >, T > >::norm().

template<size_t SZ, size_t STR, class OD>
element_type PTM::VectorImp< SZ, STR, OD >::norm  )  const [inline]
 

ベクトルのノルム(大きさ)を返す.

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

参照元 Spr::CDQHPlane< TVtx >::CalcNormal(), Spr::CDQHLine< TVtx >::CalcNormal(), Spr::PHJointMulti< 3 >::PreIntegrate(), Spr::CDQHVtx3DSample::SetPos(), と PTM::VectorImp< VectorDesc< ConstEVectorSlice< T >, VVector< T >, T > >::unitize().

template<size_t SZ, size_t STR, class OD>
void PTM::VectorImp< SZ, STR, OD >::unitize  )  [inline]
 

単位ベクトルにする.

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

参照元 Spr::CDQHPlane< TVtx >::CalcNormal(), Spr::CDQHLine< TVtx >::CalcNormal(), と Spr::CDQHPlanes< TVtx >::CreateFirstConvex().

template<size_t SZ, size_t STR, class OD>
template<class BD, class ED>
void PTM::VectorImp< SZ, STR, OD >::clip const VectorImp< BD > &  b,
const VectorImp< ED > &  e
[inline]
 

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

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

参照元 PTM::VectorImp< VectorDesc< ConstEVectorSlice< T >, VVector< T >, T > >::clip().

template<size_t SZ, size_t STR, class OD>
void PTM::VectorImp< SZ, STR, OD >::print std::ostream &  os,
char *  sep = "( )"
const [inline]
 

表示.

引数:
os 出力先ストリーム

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

template<size_t SZ, size_t STR, class OD>
template<class T>
void PTM::VectorImp< SZ, STR, OD >::input T &  is  )  [inline]
 

表示.

引数:
is 入力元ストリーム

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

template<size_t SZ, size_t STR, class OD>
template<class I>
element_type& PTM::VectorImp< SZ, STR, OD >::operator[] n  )  [inline]
 

[] 演算子(基数は0).

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

template<size_t SZ, size_t STR, class OD>
template<class I>
const element_type& PTM::VectorImp< SZ, STR, OD >::operator[] n  )  const [inline]
 

[] 演算子(基数は0) (const 版).

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

template<size_t SZ, size_t STR, class OD>
PTM::VectorImp< SZ, STR, OD >::operator element_type *  )  [inline]
 

element_type * への変換

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

template<size_t SZ, size_t STR, class OD>
ret_type PTM::VectorImp< SZ, STR, OD >::operator * element_type  b  )  const [inline]
 

ベクトルのスカラー倍(return this * b).

引数:
b 要素型
戻り値:
thisと同じベクトル型

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

template<size_t SZ, size_t STR, class OD>
ret_type PTM::VectorImp< SZ, STR, OD >::operator/ element_type  b  )  const [inline]
 

ベクトルのスカラー分の1(return this / b).

引数:
b 要素型
戻り値:
thisと同じベクトル型

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

template<size_t SZ, size_t STR, class OD>
template<class BD>
ret_type PTM::VectorImp< SZ, STR, OD >::operator+= const VectorImp< BD > &  b  )  [inline]
 

+= 演算子(*this = *this + b).

引数:
b サイズが等しいベクトル型.

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

template<size_t SZ, size_t STR, class OD>
template<class BD>
ret_type PTM::VectorImp< SZ, STR, OD >::operator-= const VectorImp< BD > &  b  )  [inline]
 

-= 演算子(*this = *this - b)

引数:
b サイズが等しいベクトル型.

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

template<size_t SZ, size_t STR, class OD>
template<class T>
ret_type PTM::VectorImp< SZ, STR, OD >::operator *= b  )  [inline]
 

*= 演算子 (*this = *this * b)

引数:
b 要素型.

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

template<size_t SZ, size_t STR, class OD>
template<class T>
ret_type PTM::VectorImp< SZ, STR, OD >::operator/= b  )  [inline]
 

/= 演算子 (*this = 1/b * *this).

引数:
b 要素型.

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

template<size_t SZ, size_t STR, class OD>
ret_type PTM::VectorImp< SZ, STR, OD >::operator-  )  const [inline]
 

  • 演算子 (return -*this).

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

template<size_t SZ, size_t STR, class OD>
ret_type PTM::VectorImp< SZ, STR, OD >::unit  )  const [inline]
 

単位ベクトルを返す.

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

参照元 Spr::PHJointMulti< 3 >::PreIntegrate().

template<size_t SZ, size_t STR, class OD>
void PTM::VectorImp< SZ, STR, OD >::init_buffer  )  [inline, protected]
 

バッファの初期化.何もしない.

PTM::VVector< T >, と PTM::VVector< float >で再定義されています。

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

参照元 PTM::VVector< float >::VVector().

template<size_t SZ, size_t STR, class OD>
void PTM::VectorImp< SZ, STR, OD >::set_default  )  [inline, protected]
 

デフォルトコンストラクタ

Spr::TVec2< T >, Spr::TVec3< T >, Spr::TVec4< T >, Spr::TQuaternion< ET >, Spr::TVec2< double >, Spr::TVec2< float >, Spr::TVec2< int >, Spr::TVec3< double >, Spr::TVec3< float >, Spr::TVec4< float >, Spr::TQuaternion< double >, と Spr::TQuaternion< float >で再定義されています。

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

参照元 PTM::VVector< float >::VVector().


このクラスの説明は次のファイルから生成されました:
Springheadに対してSun Apr 16 01:58:49 2006に生成されました。  doxygen 1.4.1