Springhead
An open source physics engine for virtual reality, haptics and motion generation.
クラス PHSolidPairForPenalty
PHSolidPairForPenaltyに対する継承グラフ

Public メソッド

virtual PHShapePairCreateShapePair ()
 派生クラスが実装する関数
 
virtual void OnDetect (PHShapePair *sp, unsigned ct, double dt)
 交差が検知されたときの処理
 
PHShapePairForPenaltyGetShapePair (int i, int j)
 
void Setup (unsigned int ct, double dt)
 
void GenerateForce ()
 
void LimitForces ()
 力の最大値を制約する.
 
絶対系での読み出し
Vec3f GetReflexForce ()
 抗力
 
Vec3f GetReflexTorque ()
 抗力のトルク
 
Vec3f GetFrictionForce ()
 摩擦力
 
Vec3f GetFrictionTorque ()
 摩擦力のトルク
 
- Public メソッド inherited from PHSolidPair
 SPR_OBJECTDEF_ABST_NOIF (PHSolidPair)
 
virtual void OnContDetect (PHShapePair *sp, unsigned ct, double dt)
 
void Init (PHContactDetector *d, PHBody *b0, PHBody *b1)
 
bool Detect (unsigned int ct, double dt)
 
bool ContDetect (unsigned int ct, double dt)
 
bool Detect (PHShapePair *shapePair, unsigned ct, double dt, bool continuous)
 
void SetSt (const PHSolidPairSt &s)
 
void GetSt (PHSolidPairSt &s)
 
PHSolidIfGetSolid (int i)
 指定したsolidを返す
 
PHBodyIfGetBody (int i)
 指定したbodyを返す
 
bool IsContactEnabled ()
 剛体同士の接触が有効かどうかを取得・設定する
 
void EnableContact (bool enable)
 
int NListener ()
 Listener.
 
PHCollisionListenerGetListener (int i)
 
void RemoveListener (int i)
 
void AddListener (PHCollisionListener *l, int pos=-1)
 
- Public メソッド inherited from Object
 SPR_OBJECTDEF (Object)
 クラス名の取得などの基本機能の実装
 
ObjectIfGetObjectIf ()
 
const ObjectIfGetObjectIf () const
 
virtual void Print (std::ostream &os) const
 デバッグ用の表示
 
virtual void PrintShort (std::ostream &os) const
 
virtual ObjectIfCreateObject (const IfInfo *info, const void *desc)
 オブジェクトの作成
 
virtual size_t NChildObject () const
 子オブジェクトの数
 
virtual ObjectIfGetChildObject (size_t pos)
 子オブジェクトの取得
 
virtual const ObjectIfGetChildObject (size_t pos) const
 
virtual bool AddChildObject (ObjectIf *o)
 子オブジェクトの追加
 
virtual bool DelChildObject (ObjectIf *o)
 子オブジェクトの削除
 
virtual void Clear ()
 すべての子オブジェクトの削除とプロパティのクリア
 
virtual void Loaded (UTLoadContext *)
 ファイルロード後に一度呼ばれる。ノードの設定に使う。 呼び出し順序に依存する処理がしたい場合は、UTLoadHandeler と UTLoadTask を使うと良い。 
 
virtual void Setup ()
 ノードの設定をするための関数
 
virtual bool GetDesc (void *desc) const
 デスクリプタの読み出し(コピー版)
 
virtual void SetDesc (const void *desc)
 デスクリプタの設定
 
virtual const void * GetDescAddress () const
 デスクリプタの読み出し(参照版)
 
virtual size_t GetDescSize () const
 デスクリプタのサイズ
 
virtual bool GetState (void *state) const
 状態の読み出し(コピー版)
 
virtual const void * GetStateAddress () const
 状態の読み出し(参照版)
 
virtual void GetStateR (char *&state)
 状態の再帰的な読み出し
 
virtual void SetState (const void *state)
 状態の設定
 
virtual void SetStateR (const char *&state)
 状態の再帰的な設定
 
virtual bool WriteStateR (std::ostream &fout)
 状態のファイルへの書き出し
 
virtual bool WriteState (std::string fileName)
 
virtual bool ReadStateR (std::istream &fin)
 状態の読み込み
 
virtual bool ReadState (std::string fileName)
 
virtual size_t GetStateSize () const
 状態のサイズ
 
virtual void ConstructState (void *m) const
 メモリブロックを状態型に初期化
 
virtual void DestructState (void *m) const
 状態型をメモリブロックに戻す
 
virtual void DumpObjectR (std::ostream &os, int level=0) const
 メモリデバッグ用。単純にツリーのオブジェクトをファイルにダンプする。
 

Public 変数

Vec3f cocog
 2剛体の重心の中点(絶対系)
 
Vec3f reflexForce
 抗力
 
Vec3f reflexTorque
 抗力によるトルク(cocog系)
 
Vec3f frictionForce
 摩擦力
 
Vec3f frictionTorque
 摩擦力によるトルク(cocog系)
 
float convertedMass
 剛体の組の換算質量
 
float area
 接触面積
 
Quaternionf lastOri [2]
 前回の剛体の向き(絶対系)
 
- Public 変数 inherited from PHSolidPair
PHContactDetectordetector
 
PHBodybody [2]
 
PHShapePairs shapePairs
 
Listeners listeners
 
- Public 変数 inherited from PHSolidPairSt
bool bEnabled
 

Protected メソッド

bool LimitForce (Vec3f &f)
 
void CalcReflexForce (PHShapePairForPenalty *sp, CDContactAnalysis *analyzer)
 
void CalcTriangleReflexForce (PHShapePairForPenalty *cp, Vec3f p0, Vec3f p1, Vec3f p2, Vec3f v0, Vec3f v1, Vec3f v2, bool bFront)
 
void CalcFriction (PHShapePairForPenalty *cp)
 
- Protected メソッド inherited from Object
virtual void PrintHeader (std::ostream &os, bool bClose) const
 開き括弧
 
virtual void PrintChildren (std::ostream &os) const
 子オブジェクトをPrint
 
virtual void PrintFooter (std::ostream &os) const
 閉じ括弧
 
virtual void BeforeGetDesc () const
 GetDesc()の前に呼ばれる
 
virtual void AfterSetDesc ()
 SetDesc()のあとに呼ばれる
 

Additional Inherited Members

- Public 型 inherited from PHSolidPair
typedef UTCombination< UTRef
< PHShapePair > > 
PHShapePairs
 
typedef std::vector
< PHCollisionListener * > 
Listeners
 
- Static Protected メソッド inherited from Object
static void ConstructState (ObjectIf *o, char *&s)
 sをoのStateとして初期化する.
 
static void DestructState (ObjectIf *o, char *&s)
 sをoのStateからメモリブロックに戻す.
 

このクラスの説明は次のファイルから生成されました: