Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

PTM::VectorImp< SZ, STR, OD > Class Template Reference

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

#include <TVector.h>

List of all members.

Public Member Functions

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

Protected Member Functions


Detailed Description

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

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

Definition at line 238 of file TVector.h.


Constructor & Destructor Documentation

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

コンストラクタ

Definition at line 246 of file TVector.h.


Member Function Documentation

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

実体の取得

Definition at line 251 of file TVector.h.

Referenced by 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(), and 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).

Definition at line 254 of file TVector.h.

Referenced by 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(), and 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]
 

サイズの取得

Definition at line 257 of file TVector.h.

Referenced by PTM::VectorImp< VectorDesc< ConstEVectorSlice< T >, VVector< T >, T > >::input(), Spr::PHSolidContainer::NChildObjects(), and 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]
 

サイズの設定

Definition at line 259 of file TVector.h.

Referenced by PTM::VectorImp< VectorDesc< ConstEVectorSlice< T >, VVector< T >, T > >::input(), and PTM::VVector< float >::VVector().

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

ストライドの取得

Definition at line 261 of file TVector.h.

Referenced by PTM::VectorImp< VectorDesc< ConstEVectorSlice< T >, VVector< T >, T > >::v_range(), and 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]
 

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

Definition at line 298 of file TVector.h.

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]
 

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

Definition at line 305 of file TVector.h.

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

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

Parameters:
v 要素型の値.

Definition at line 317 of file TVector.h.

Referenced by Spr::PHSolidContainer::Clear(), Spr::PHJointMulti< 3 >::PreIntegrate(), and 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).

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

Definition at line 321 of file TVector.h.

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

代入(*this = b).

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

Definition at line 324 of file TVector.h.

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).

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

Definition at line 328 of file TVector.h.

Referenced by 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).

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

Definition at line 332 of file TVector.h.

Referenced by 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).

Parameters:
b 要素型.

Definition at line 335 of file TVector.h.

Referenced by 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).

Parameters:
b 要素型.

Definition at line 338 of file TVector.h.

Referenced by PTM::VectorImp< VectorDesc< ConstEVectorSlice< T >, VVector< T >, T > >::operator/=(), and 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).

Parameters:
b 同じサイズのベクトル.
Returns:
内積の値(要素型)

Definition at line 343 of file TVector.h.

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).

Parameters:
b 同じサイズのベクトル.
Returns:
bool値.

Definition at line 348 of file TVector.h.

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)).

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

Definition at line 353 of file TVector.h.

Referenced by 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)).

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

Definition at line 357 of file TVector.h.

Referenced by Spr::SGBBox::AddBBox().

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

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

Definition at line 359 of file TVector.h.

Referenced by Spr::CDQHPlanes< TVtx >::CreateFirstConvex(), and 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]
 

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

Definition at line 361 of file TVector.h.

Referenced by Spr::CDQHPlane< TVtx >::CalcNormal(), Spr::CDQHLine< TVtx >::CalcNormal(), Spr::PHJointMulti< 3 >::PreIntegrate(), Spr::CDQHVtx3DSample::SetPos(), and 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]
 

単位ベクトルにする.

Definition at line 363 of file TVector.h.

Referenced by Spr::CDQHPlane< TVtx >::CalcNormal(), Spr::CDQHLine< TVtx >::CalcNormal(), and 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を頂点とする矩形内に収まるようにする).

Definition at line 366 of file TVector.h.

Referenced by 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]
 

表示.

Parameters:
os 出力先ストリーム

Definition at line 373 of file TVector.h.

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

表示.

Parameters:
is 入力元ストリーム

Definition at line 385 of file TVector.h.

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

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

Definition at line 417 of file TVector.h.

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 版).

Definition at line 419 of file TVector.h.

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

element_type * への変換

Definition at line 421 of file TVector.h.

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).

Parameters:
b 要素型
Returns:
thisと同じベクトル型

Definition at line 426 of file TVector.h.

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).

Parameters:
b 要素型
Returns:
thisと同じベクトル型

Definition at line 430 of file TVector.h.

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).

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

Definition at line 434 of file TVector.h.

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)

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

Definition at line 438 of file TVector.h.

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)

Parameters:
b 要素型.

Definition at line 441 of file TVector.h.

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).

Parameters:
b 要素型.

Definition at line 444 of file TVector.h.

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

  • 演算子 (return -*this).

Definition at line 446 of file TVector.h.

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

単位ベクトルを返す.

Definition at line 448 of file TVector.h.

Referenced by Spr::PHJointMulti< 3 >::PreIntegrate().

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

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

Reimplemented in PTM::VVector< T >, and PTM::VVector< float >.

Definition at line 452 of file TVector.h.

Referenced by PTM::VVector< float >::VVector().

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

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

Reimplemented in 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 >, and Spr::TQuaternion< float >.

Definition at line 454 of file TVector.h.

Referenced by PTM::VVector< float >::VVector().


The documentation for this class was generated from the following file:
Generated on Sun Apr 16 02:07:57 2006 for Springhead by  doxygen 1.4.1