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

クラス Spr::CDCollisionEngine

#include <CDCollisionEngine.h>

Spr::SGBehaviorEngineを継承しています。

Spr::CDCollisionEngineのコラボレーション図

Collaboration graph
[凡例]
すべてのメンバ一覧

Public 型

Public メソッド

BehaviorEngineをオーバーライド
BehaviorEngineをオーバーライド
登録,追加系のメソッド

Static Public 変数

Protected 型

Protected メソッド

Protected 変数

構成


説明

衝突判定エンジン. 衝突しているペアを見つけ,衝突判定を行い,コールバックを呼び出す.

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


型定義

typedef std::vector< UTRef<CDFrame> > Spr::CDCollisionEngine::Frames [protected]
 

判定対象フレームのコンテナ型

CDCollisionEngine.h89 行で定義されています。

typedef CDFramePairWithRecords::iterator Spr::CDCollisionEngine::TFrameIt
 

フレーム対のためのイタレータ

CDCollisionEngine.h102 行で定義されています。


関数

void Spr::CDCollisionEngine::Render GRRender render,
SGScene scene
[protected, virtual]
 

フレームとフレーム番号の対応表

Spr::SGBehaviorEngineを再定義しています。

int Spr::CDCollisionEngine::GetPriority  )  const [inline, virtual]
 

実行順序を決めるプライオリティ値.小さいほど早い

Spr::SGBehaviorEngineを再定義しています。

CDCollisionEngine.h141 行で定義されています。

virtual void Spr::CDCollisionEngine::Step SGScene s  )  [virtual]
 

時間を dt 進める

Spr::SGBehaviorEngineを再定義しています。

virtual void Spr::CDCollisionEngine::Clear SGScene s  )  [virtual]
 

判定対象のフレームをクリアする.

Spr::SGEngineを再定義しています。

void Spr::CDCollisionEngine::Init  ) 
 

初期化(frames から pairsを作る)

CDCollisionListener* Spr::CDCollisionEngine::GetListener int  pos  )  [inline]
 

リスナを返す.

CDCollisionEngine.h153 行で定義されています。

参照先 listeners.

size_t Spr::CDCollisionEngine::NListener  )  [inline]
 

リスナの数

CDCollisionEngine.h155 行で定義されています。

参照先 listeners.

int Spr::CDCollisionEngine::GetFrameID SGFrame fr  )  [inline]
 

フレームの番号を返す.

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

参照元 AddActive(), AddInactive(), と GetFramePair().

CDFramePairWithRecord* Spr::CDCollisionEngine::GetFramePair int  f1,
int  f2
[inline]
 

フレーム対を返す.f1 < f2 でなければならない.

CDCollisionEngine.h160 行で定義されています。

参照先 Spr::UTCombination< T >::item(), と pairs.

参照元 GetFramePair().

CDFramePairWithRecord* Spr::CDCollisionEngine::GetFramePair SGFrame f1,
SGFrame f2
[inline]
 

フレーム対を返す.(f1,f2)と(f2,f1)どちらは向こう.

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

参照先 GetFrameID(), と GetFramePair().

SGFrame* Spr::CDCollisionEngine::GetFrame int  id  )  [inline]
 

フレームIDからフレームを返す.

CDCollisionEngine.h166 行で定義されています。

参照先 frames.

CDUserRecord* Spr::CDCollisionEngine::GetFrameRecord int  id,
int  pos
[inline]
 

フレームIDとレコードの位置(ReserveFrameRecord()の返り値)からレコードを返す.

CDCollisionEngine.h168 行で定義されています。

参照先 frames.

TFrameIt Spr::CDCollisionEngine::FramePairBegin  )  const [inline]
 

フレーム対のイタレータの始点

CDCollisionEngine.h176 行で定義されています。

参照先 pairs.

参照元 GeometryPairBegin(), と GeometryPairEnd().

TFrameIt Spr::CDCollisionEngine::FramePairEnd  )  const [inline]
 

フレーム対のイタレータの終点

CDCollisionEngine.h178 行で定義されています。

参照先 pairs.

参照元 GeometryPairBegin(), と GeometryPairEnd().

TGeometryIt Spr::CDCollisionEngine::GeometryPairBegin  )  const [inline]
 

ジオメトリ対のイタレータの始点

CDCollisionEngine.h181 行で定義されています。

参照先 FramePairBegin(), と FramePairEnd().

参照元 ConvexPairBegin(), と ConvexPairEnd().

TGeometryIt Spr::CDCollisionEngine::GeometryPairEnd  )  const [inline]
 

ジオメトリ対のイタレータの終点

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

参照先 FramePairBegin(), と FramePairEnd().

参照元 ConvexPairBegin(), と ConvexPairEnd().

TConvexIt Spr::CDCollisionEngine::ConvexPairBegin  )  const [inline]
 

凸形状対のイタレータの始点

CDCollisionEngine.h193 行で定義されています。

参照先 GeometryPairBegin(), と GeometryPairEnd().

TConvexIt Spr::CDCollisionEngine::ConvexPairEnd  )  const [inline]
 

凸形状対のイタレータの終点

CDCollisionEngine.h199 行で定義されています。

参照先 GeometryPairBegin(), と GeometryPairEnd().

void Spr::CDCollisionEngine::AddFrame SGFrame frame,
CDUserRecord rec = NULL,
int  pos = -1
 

判定対象フレームを追加.すべての判定対象フレームは同階層になければならない.

size_t Spr::CDCollisionEngine::NFrame  )  [inline]
 

フレームの数

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

参照先 frames.

int Spr::CDCollisionEngine::AddListener CDCollisionListener l  ) 
 

リスナーの登録

bool Spr::CDCollisionEngine::AddInactive int  f1,
int  f2,
int  pos
 

衝突判定をしないペアを登録(デフォルトでは衝突判定する)

参照元 AddInactive().

bool Spr::CDCollisionEngine::AddInactive SGFrame f1,
SGFrame f2,
int  pos
[inline]
 

衝突判定をしないペアを登録(デフォルトでは衝突判定する)

CDCollisionEngine.h217 行で定義されています。

参照先 AddInactive(), と GetFrameID().

int Spr::CDCollisionEngine::ClearInactive int  pos  ) 
 

posのリスナについて判定しないように登録したペア(InactiveList)をクリアする

bool Spr::CDCollisionEngine::AddActive int  f1,
int  f2,
int  pos
 

衝突判定をするペアを登録(pos のリスナについては,デフォルトでは判定しなくなる.)

参照元 AddActive().

bool Spr::CDCollisionEngine::AddActive SGFrame f1,
SGFrame f2,
int  pos
[inline]
 

衝突判定をするペアを登録(pos のリスナについては,デフォルトでは判定しなくなる.)

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

参照先 AddActive(), と GetFrameID().

int Spr::CDCollisionEngine::ClearActive int  pos  ) 
 

posのリスナについて判定するように登録したペア(activeList)をクリアする

int Spr::CDCollisionEngine::ReserveFrameRecord  ) 
 

フレーム(CDFrame) ごとのユーザレコード(records) の場所取り.

int Spr::CDCollisionEngine::ReserveFramePairRecord  ) 
 

フレームのペア(CDFramePairWithRecord) ごとのユーザレコード(records) の場所取り.

int Spr::CDCollisionEngine::ReserveConvexPairRecord  ) 
 

凸形状のペア(CDConvexPairWithRecord) ごとのユーザレコードの場所取り.

virtual void Spr::CDCollisionEngine::LoadState const SGBehaviorStates states  )  [virtual]
 

状態の読み出し

Spr::SGBehaviorEngineを再定義しています。

virtual void Spr::CDCollisionEngine::SaveState SGBehaviorStates states  )  const [virtual]
 

状態の保存

Spr::SGBehaviorEngineを再定義しています。


変数

TActivePairs Spr::CDCollisionEngine::activeList [protected]
 

衝突判定を行う(リスナを呼び出す)ペアのリスト(デフォルトでは行わない)

CDCollisionEngine.h74 行で定義されています。

TActivePairs Spr::CDCollisionEngine::inactiveList [protected]
 

衝突判定を行わない(リスナを呼びさない)ペアのリスト(デフォルトでは行う)

CDCollisionEngine.h75 行で定義されています。

std::vector<bool> Spr::CDCollisionEngine::defaults [protected]
 

デフォルトで衝突判定を行う(リスナを呼び出す)かどうかのフラグ

CDCollisionEngine.h76 行で定義されています。

CDFramePairWithRecords Spr::CDCollisionEngine::pairs [protected]
 

衝突判定の一覧.item(i,j) (i<j) でアクセスする.

CDCollisionEngine.h79 行で定義されています。

参照元 FramePairBegin(), FramePairEnd(), と GetFramePair().

CDContactAnalysis Spr::CDCollisionEngine::analyzer [protected]
 

接触解析エンジン.交差部の面や頂点の情報を持っている.

CDCollisionEngine.h81 行で定義されています。

int Spr::CDCollisionEngine::nFrameRecords [protected]
 

フレームごとのユーザレコードの数

CDCollisionEngine.h83 行で定義されています。

int Spr::CDCollisionEngine::nFramePairRecords [protected]
 

フレームペアごとのユーザレコードの数

CDCollisionEngine.h85 行で定義されています。

int Spr::CDCollisionEngine::nConvexPairRecords [protected]
 

凸形状のペアごとのユーザレコードの数

CDCollisionEngine.h87 行で定義されています。

Frames Spr::CDCollisionEngine::frames [protected]
 

衝突判定対象のフレーム

CDCollisionEngine.h91 行で定義されています。

参照元 GetFrame(), GetFrameRecord(), と NFrame().

CDCollisionListeners Spr::CDCollisionEngine::listeners [protected]
 

衝突のリスナ

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

参照元 GetListener(), と NListener().

UTTypeInfoImp< CDCollisionEngine > Spr::CDCollisionEngine::typeInfo [static]
 

クラス名の取得などの基本機能の実装

Spr::SGBehaviorEngineを再定義しています。

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


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