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

クラス テンプレート Spr::CDQHLines< TVtx >

面のバッファ [詳細]

#include <CDQuickHull2D.h>

すべてのメンバ一覧

Public メソッド

Public 変数

Private メソッド

構成


説明

template<class TVtx>
class Spr::CDQHLines< TVtx >

面のバッファ

CDQuickHull2D.h41 行で定義されています。


関数

template<class TVtx>
unsigned Spr::CDQHLines< TVtx >::size  ) 
 

使用済みバッファのサイズ

CDQuickHull2DImp.h61 行で定義されています。

参照先 Spr::CDQHLines< TVtx >::begin, と Spr::CDQHLines< TVtx >::end.

template<class TVtx>
void Spr::CDQHLines< TVtx >::CreateConvexHull TVtx **  b,
TVtx **  e
 

bからeまでの頂点から凸包を作る.使用した頂点はbからvtxBegin, 使用しなかった頂点は,vtxBeginからeに移動する. beginからendは頂点を3つ含む面になる.それらの面うち凸包に使われた面 は CDQHLine::deleted が false になっている.

CDQuickHull2DImp.h90 行で定義されています。

参照先 Spr::CDQHLines< TVtx >::begin, Spr::CDQHLines< TVtx >::buffer, Spr::CDQHLine< TVtx >::Clear(), Spr::CDQHLines< TVtx >::CreateFirstConvex(), Spr::CDQHLine< TVtx >::deleted, Spr::CDQHLine< TVtx >::dist, DSTR, Spr::CDQHLines< TVtx >::end, Spr::CDQHLines< TVtx >::len, Spr::CDQHLine< TVtx >::neighbor, Spr::CDQHLine< TVtx >::normal, Spr::CDQHLines< TVtx >::TreatPlane(), Spr::CDQHLine< TVtx >::vtx, Spr::CDQHLines< TVtx >::vtxBegin, Spr::CDQHLines< TVtx >::vtxBeginInput, Spr::CDQHLines< TVtx >::vtxEnd, と Spr::CDQHLines< TVtx >::vtxEndInput.

template<class TVtx>
void Spr::CDQHLines< TVtx >::CreateFirstConvex  )  [private]
 

最初の凸多面体=2本の辺(表裏)を作る. できるだけ大きい辺を作ると効率が良い.

CDQuickHull2DImp.h134 行で定義されています。

参照先 Spr::CDQHLines< TVtx >::begin, Spr::CDQHLine< TVtx >::CalcNormal(), Spr::CDQHLine< TVtx >::Clear(), Spr::CDQHLines< TVtx >::end, Spr::CDQHLine< TVtx >::neighbor, Spr::CDQHLines< TVtx >::nLines, Spr::CDQHLine< TVtx >::Reverse(), Spr::CDQHLine< TVtx >::vtx, Spr::CDQHLines< TVtx >::vtxBegin, と Spr::CDQHLines< TVtx >::vtxEnd.

参照元 Spr::CDQHLines< TVtx >::CreateConvexHull().

template<class TVtx>
void Spr::CDQHLines< TVtx >::CreateCone CDQHLine cur,
TVtx *  top
[private]
 

辺curと,その面から一番遠い頂点 top を受け取り, curとその周囲の辺を削除し,凸包にtopを含める. end[-1], end[-2]が新たに作られた辺になる.

CDQuickHull2DImp.h184 行で定義されています。

参照先 Spr::CDQHLine< TVtx >::CalcNormal(), Spr::CDQHLine< TVtx >::Clear(), Spr::CDQHLine< TVtx >::deleted, Spr::CDQHLines< TVtx >::end, Spr::CDQHLine< TVtx >::neighbor, Spr::CDQHLines< TVtx >::nLines, Spr::CDQHLine< TVtx >::Visible(), と Spr::CDQHLine< TVtx >::vtx.

template<class TVtx>
bool Spr::CDQHLines< TVtx >::FindFarthest CDQHLine plane  )  [private]
 

一番遠くの頂点を見つける.見つけたらそれを頂点リストからはずす

CDQuickHull2DImp.h221 行で定義されています。

参照先 Spr::CDQHLine< TVtx >::CalcDist(), DSTR, Spr::CDQHLine< TVtx >::vtx, Spr::CDQHLines< TVtx >::vtxBegin, と Spr::CDQHLines< TVtx >::vtxEnd.

参照元 Spr::CDQHLines< TVtx >::TreatPlane().

template<class TVtx>
void Spr::CDQHLines< TVtx >::TreatPlane CDQHLine cur  )  [private]
 

一つの面に対する処理を行う.一番遠くの頂点を見つけ, 地平線を調べ,コーンを作り,内部の頂点をはずす.

CDQuickHull2DImp.h282 行で定義されています。

参照先 DSTR, Spr::CDQHLines< TVtx >::FindFarthest(), と Spr::CDQHLines< TVtx >::vtxBegin.

参照元 Spr::CDQHLines< TVtx >::CreateConvexHull().


変数

template<class TVtx>
TVtx** Spr::CDQHLines< TVtx >::vtxBeginInput
 

残っている頂点の先頭

CDQuickHull2D.h46 行で定義されています。

参照元 Spr::CDQHLines< TVtx >::CreateConvexHull().

template<class TVtx>
TVtx** Spr::CDQHLines< TVtx >::vtxEndInput
 

残っている頂点の最後の次

CDQuickHull2D.h47 行で定義されています。

参照元 Spr::CDQHLines< TVtx >::CreateConvexHull().

template<class TVtx>
CDQHLine* Spr::CDQHLines< TVtx >::buffer
 

バッファへのポインタ new する.

CDQuickHull2D.h59 行で定義されています。

参照元 Spr::CDQHLines< TVtx >::CreateConvexHull().

template<class TVtx>
int Spr::CDQHLines< TVtx >::len
 

バッファの長さ

CDQuickHull2D.h60 行で定義されています。

参照元 Spr::CDQHLines< TVtx >::CreateConvexHull().

template<class TVtx>
CDQHLine* Spr::CDQHLines< TVtx >::begin
 

最初の辺

CDQuickHull2D.h61 行で定義されています。

参照元 Spr::CDQHLines< TVtx >::CreateConvexHull(), Spr::CDQHLines< TVtx >::CreateFirstConvex(), と Spr::CDQHLines< TVtx >::size().

template<class TVtx>
CDQHLine* Spr::CDQHLines< TVtx >::end
 

最後の辺の次

CDQuickHull2D.h62 行で定義されています。

参照元 Spr::CDQHLines< TVtx >::CreateCone(), Spr::CDQHLines< TVtx >::CreateConvexHull(), Spr::CDQHLines< TVtx >::CreateFirstConvex(), と Spr::CDQHLines< TVtx >::size().

template<class TVtx>
TVtx** Spr::CDQHLines< TVtx >::vtxBegin
 

残っている頂点の先頭

CDQuickHull2D.h63 行で定義されています。

参照元 Spr::CDQHLines< TVtx >::CreateConvexHull(), Spr::CDQHLines< TVtx >::CreateFirstConvex(), Spr::CDQHLines< TVtx >::FindFarthest(), と Spr::CDQHLines< TVtx >::TreatPlane().

template<class TVtx>
TVtx** Spr::CDQHLines< TVtx >::vtxEnd
 

残っている頂点の最後の次

CDQuickHull2D.h64 行で定義されています。

参照元 Spr::CDQHLines< TVtx >::CreateConvexHull(), Spr::CDQHLines< TVtx >::CreateFirstConvex(), と Spr::CDQHLines< TVtx >::FindFarthest().

template<class TVtx>
int Spr::CDQHLines< TVtx >::nLines
 

辺の数

CDQuickHull2D.h65 行で定義されています。

参照元 Spr::CDQHLines< TVtx >::CreateCone(), と Spr::CDQHLines< TVtx >::CreateFirstConvex().


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