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

クラス Spr::PHContactEngine

#include <PHContactEngine.h>

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

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

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

Public メソッド

Public 変数

Static Public 変数

Protected メソッド

Protected 変数

Private 変数

構成


説明

接触力計算エンジン.

PHContactEngine.h の 16 行で定義されています。


関数

virtual bool Spr::PHContactEngine::AddChildObject (  SGObject *  o,
SGScene *  s
)  [virtual]
 

子オブジェクトの追加

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

int Spr::PHContactEngine::GetFrameRecordPos (   )  [inline]
 

FrameRecordのCDCollisionEngineの中での位置.

PHContactEngine.h の 154 行で定義されています。

参照先 frameRecordPos.

int Spr::PHContactEngine::GetFramePairRecordPos (   )  [inline]
 

FramePairRecordのCDCollisionEngineの中での位置.

PHContactEngine.h の 156 行で定義されています。

参照先 framePairRecordPos.

int Spr::PHContactEngine::GetConvexPairRecordPos (   )  [inline]
 

ConvexPairRecordのCDCollisionEngineの中での位置.

PHContactEngine.h の 158 行で定義されています。

参照先 convexPairRecordPos.

FrameRecord* Spr::PHContactEngine::GetFrameRecord (  SGFrame *  fr  )  [inline]
 

FrameRecordの取得.

PHContactEngine.h の 160 行で定義されています。

参照先 collisionEngine, と frameRecordPos.

FramePairRecord* Spr::PHContactEngine::GetFramePairRecord (  SGFrame *  fr1,
SGFrame *  fr2
)  [inline]
 

FramePairRecordの取得 FramePairRecordはフレームの対ごとに1つ. (fr1,fr2)と(fr2,fr1)で読んだ場合,どちらか片方はNULLを返す. (fr1,fr2)で値が得られたならば,FramePairRecordはf1に加わった力を持つ.

PHContactEngine.h の 168 行で定義されています。

参照先 collisionEngine, framePairRecordPos, と Spr::CDFramePairWithRecord::records.

void Spr::PHContactEngine::AddInactive (  int  f1,
int  f2
) 
 

アクティブでないフレーム対を追加

virtual void Spr::PHContactEngine::Loaded (  SGScene *  scene  )  [virtual]
 

ロード完了時の処理,CollisionEngine にコールバックを登録する.CollisionEngineがなければ作る.ユーザが呼び出すことはない.

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

virtual void Spr::PHContactEngine::Init (  SGScene *  scene  )  [virtual]
 

初期化処理、Loadedが呼ぶ

void Spr::PHContactEngine::Render (  GRRender *  r,
SGScene *  s
)  [virtual]
 

接触力の描画

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

int Spr::PHContactEngine::GetPriority (   )  const [inline, protected, virtual]
 

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

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

PHContactEngine.h の 184 行で定義されています。

virtual void Spr::PHContactEngine::Step (  SGScene *  s  )  [inline, protected, virtual]
 

時間を dt 進める.(何もしない,Listener の Collide がすべての処理をする.)

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

PHContactEngine.h の 186 行で定義されています。

virtual void Spr::PHContactEngine::Clear (  SGScene *  s  )  [protected, virtual]
 

solidsをクリアする.

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

void Spr::PHContactEngine::Before (  SGScene *  scene,
CDFramePairWithRecord *  fr
)  [protected, virtual]
 

フレーム同士が衝突している場合,接触解析の前に呼び出される.抗力計算の準備を行う.

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

virtual void Spr::PHContactEngine::Analyzed (  SGScene *  scene,
CDFramePairWithRecord *  fr,
CDGeometryPair *  geom,
CDConvexPairWithRecord *  conv,
CDContactAnalysis *  analyzer
)  [protected, virtual]
 

フレーム同士が衝突している場合,接触解析の直後に凸形状対ごとに呼び出される. 接触面積と抗力の計算を行う.

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

void Spr::PHContactEngine::After (  SGScene *  scene,
CDFramePairWithRecord *  fr
)  [protected, virtual]
 

フレーム同士が衝突している場合,衝突解析が終わってからフレーム対につき1度呼び出される. 抗力の調整,摩擦力計算を行う

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

void Spr::PHContactEngine::CalcReflexForce (  PHContactEngine::FrameRecord **  fr,
CDConvexPairWithRecord *  cp,
PHContactEngine::ConvexPairRecord *  rec,
CDContactAnalysis *  analyzer
)  [protected]
 

抗力計算

void Spr::PHContactEngine::CalcTriangleReflexForce (  CDConvexPairWithRecord *  cp,
PHContactEngine::ConvexPairRecord *  rec,
Vec3f  p0,
Vec3f  p1,
Vec3f  p2,
Vec3f  cog,
Vec3f  vel,
Vec3f  angVel
)  [protected]
 

3角形単位の抗力計算

virtual void Spr::PHContactEngine::LoadState (  const SGBehaviorStates &  states  )  [protected, virtual]
 

状態の読み出し

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

virtual void Spr::PHContactEngine::SaveState (  SGBehaviorStates &  states  )  const [protected, virtual]
 

状態の保存

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


変数

bool Spr::PHContactEngine::firstLoadedCall [private]
 

Loadedで複数回初期化をしないようにするためのフラグ.

PHContactEngine.h の 123 行で定義されています。

float Spr::PHContactEngine::area [private]
 

衝突部分の面積

PHContactEngine.h の 124 行で定義されています。

float Spr::PHContactEngine::convertedMass [private]
 

換算質量

PHContactEngine.h の 125 行で定義されています。

float Spr::PHContactEngine::reflexSpring [private]
 

バネ計数

PHContactEngine.h の 126 行で定義されています。

float Spr::PHContactEngine::reflexDamper [private]
 

ダンパ計数

PHContactEngine.h の 127 行で定義されています。

float Spr::PHContactEngine::frictionSpring [private]
 

摩擦のバネ係数

PHContactEngine.h の 128 行で定義されています。

float Spr::PHContactEngine::frictionDamper [private]
 

摩擦のダンパ係数

PHContactEngine.h の 129 行で定義されています。

float Spr::PHContactEngine::staticFriction [private]
 

静止摩擦係数

PHContactEngine.h の 130 行で定義されています。

float Spr::PHContactEngine::dynamicFriction [private]
 

動摩擦係数

PHContactEngine.h の 131 行で定義されています。

int Spr::PHContactEngine::listenerPos [protected]
 

CDContactEngineの中でのリスナの位置.

PHContactEngine.h の 133 行で定義されています。

int Spr::PHContactEngine::frameRecordPos [protected]
 

CDContactEngineの中でのフレーム単位のユーザレコードの位置.

PHContactEngine.h の 134 行で定義されています。

参照元 GetFrameRecord(), と GetFrameRecordPos().

int Spr::PHContactEngine::framePairRecordPos [protected]
 

CDContactEngineの中でのフレーム対単位のユーザレコードの位置.

PHContactEngine.h の 135 行で定義されています。

参照元 GetFramePairRecord(), と GetFramePairRecordPos().

int Spr::PHContactEngine::convexPairRecordPos [protected]
 

CDContactEngineの中での凸形状対単位のユーザレコードの位置.

PHContactEngine.h の 136 行で定義されています。

参照元 GetConvexPairRecordPos().

std::vector< std::pair<DWORD, DWORD> > Spr::PHContactEngine::inactiveList [protected]
 

非アクティブなペア一覧(ロード時にだけ使用)

PHContactEngine.h の 138 行で定義されています。

UTRef<CDCollisionEngine> Spr::PHContactEngine::collisionEngine [protected]
 

衝突判定エンジン

PHContactEngine.h の 140 行で定義されています。

参照元 GetFramePairRecord(), と GetFrameRecord().

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

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

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

PHContactEngine.h の 142 行で定義されています。

PHSolids Spr::PHContactEngine::solids
 

ペナルティ法の対象の剛体

PHContactEngine.h の 145 行で定義されています。

size_t Spr::PHContactEngine::nSolidsInitilized
 

solidsのうちどこまでが初期化済みかを示す.

PHContactEngine.h の 146 行で定義されています。


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