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

Spr::PHContactEngine Class Reference

#include <PHContactEngine.h>

Inherits Spr::SGBehaviorEngine, and Spr::CDCollisionListener.

Collaboration diagram for Spr::PHContactEngine:

Collaboration graph
[legend]
List of all members.

Public Member Functions

Public Attributes

Static Public Attributes

Protected Member Functions

Protected Attributes

Private Attributes

Classes


Detailed Description

接触力計算エンジン.

Definition at line 16 of file PHContactEngine.h.


Member Function Documentation

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

子オブジェクトの追加

Reimplemented from Spr::SGObject.

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

FrameRecordのCDCollisionEngineの中での位置.

Definition at line 154 of file PHContactEngine.h.

References frameRecordPos.

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

FramePairRecordのCDCollisionEngineの中での位置.

Definition at line 156 of file PHContactEngine.h.

References framePairRecordPos.

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

ConvexPairRecordのCDCollisionEngineの中での位置.

Definition at line 158 of file PHContactEngine.h.

References convexPairRecordPos.

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

FrameRecordの取得.

Definition at line 160 of file PHContactEngine.h.

References collisionEngine, and frameRecordPos.

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

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

Definition at line 168 of file PHContactEngine.h.

References collisionEngine, framePairRecordPos, and Spr::CDFramePairWithRecord::records.

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

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

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

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

Reimplemented from Spr::SGObject.

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

初期化処理、Loadedが呼ぶ

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

接触力の描画

Reimplemented from Spr::SGBehaviorEngine.

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

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

Reimplemented from Spr::SGBehaviorEngine.

Definition at line 184 of file PHContactEngine.h.

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

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

Reimplemented from Spr::SGBehaviorEngine.

Definition at line 186 of file PHContactEngine.h.

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

solidsをクリアする.

Reimplemented from Spr::SGEngine.

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

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

Reimplemented from Spr::CDCollisionListener.

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

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

Reimplemented from Spr::CDCollisionListener.

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

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

Reimplemented from 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]
 

状態の読み出し

Reimplemented from Spr::SGBehaviorEngine.

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

状態の保存

Reimplemented from Spr::SGBehaviorEngine.


Member Data Documentation

bool Spr::PHContactEngine::firstLoadedCall [private]
 

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

Definition at line 123 of file PHContactEngine.h.

float Spr::PHContactEngine::area [private]
 

衝突部分の面積

Definition at line 124 of file PHContactEngine.h.

float Spr::PHContactEngine::convertedMass [private]
 

換算質量

Definition at line 125 of file PHContactEngine.h.

float Spr::PHContactEngine::reflexSpring [private]
 

バネ計数

Definition at line 126 of file PHContactEngine.h.

float Spr::PHContactEngine::reflexDamper [private]
 

ダンパ計数

Definition at line 127 of file PHContactEngine.h.

float Spr::PHContactEngine::frictionSpring [private]
 

摩擦のバネ係数

Definition at line 128 of file PHContactEngine.h.

float Spr::PHContactEngine::frictionDamper [private]
 

摩擦のダンパ係数

Definition at line 129 of file PHContactEngine.h.

float Spr::PHContactEngine::staticFriction [private]
 

静止摩擦係数

Definition at line 130 of file PHContactEngine.h.

float Spr::PHContactEngine::dynamicFriction [private]
 

動摩擦係数

Definition at line 131 of file PHContactEngine.h.

int Spr::PHContactEngine::listenerPos [protected]
 

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

Definition at line 133 of file PHContactEngine.h.

int Spr::PHContactEngine::frameRecordPos [protected]
 

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

Definition at line 134 of file PHContactEngine.h.

Referenced by GetFrameRecord(), and GetFrameRecordPos().

int Spr::PHContactEngine::framePairRecordPos [protected]
 

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

Definition at line 135 of file PHContactEngine.h.

Referenced by GetFramePairRecord(), and GetFramePairRecordPos().

int Spr::PHContactEngine::convexPairRecordPos [protected]
 

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

Definition at line 136 of file PHContactEngine.h.

Referenced by GetConvexPairRecordPos().

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

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

Definition at line 138 of file PHContactEngine.h.

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

衝突判定エンジン

Definition at line 140 of file PHContactEngine.h.

Referenced by GetFramePairRecord(), and GetFrameRecord().

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

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

Reimplemented from Spr::SGBehaviorEngine.

Definition at line 142 of file PHContactEngine.h.

PHSolids Spr::PHContactEngine::solids
 

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

Definition at line 145 of file PHContactEngine.h.

size_t Spr::PHContactEngine::nSolidsInitilized
 

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

Definition at line 146 of file PHContactEngine.h.


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