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

Public メソッド

void Clear ()
 すべての子オブジェクトの削除とプロパティのクリア
 
絶対座標系での読み出し
Vec3f GetReflexForcePoint ()
 バネによる抗力の作用点
 
Vec3f GetReflexSpringForce ()
 バネによる抗力
 
Vec3f GetReflexDamperForce ()
 ダンパによる抗力
 
Vec3f GetReflexForce ()
 抗力
 
Vec3f GetFrictionForce ()
 摩擦力
 
Vec3f GetFrictionTorque ()
 摩擦トルク
 
- Public メソッド inherited from PHShapePair
 SPR_OBJECTDEF_ABST_NOIF (PHShapePair)
 
void Init (PHSolidPair *sp, PHFrame *fr0, PHFrame *fr1)
 
void SetSt (const CDShapePairState &s)
 
void GetSt (CDShapePairState &s)
 
PHFrameIfGetFrame (int i)
 
- Public メソッド inherited from CDShapePair
void SetState (const CDShapePairState &s)
 
virtual bool Detect (unsigned ct, const Posed &pose0, const Posed &pose1)
 接触判定.接触が見つかった場合に接触状態を更新
 
void CalcNormal ()
 
bool ContDetect (unsigned ct, const Posed &pose0, const Posed &pose1, const Vec3d &delta0, const Vec3d &delta1, double dt)
 連続接触判定.同時に法線/中心なども計算. [詳細]
 
CDShapeIfGetShape (int i)
 形状を取得する
 
Vec3d GetClosestPointOnWorld (int i)
 closestpointをワールド座標系で取得する
 
Posed GetShapePose (int i)
 shapePoseの取得
 
Vec3d GetNormal ()
 接触法線の取得
 
- Public メソッド inherited from CDShapePairState
 SPR_DESCDEF (CDShapePair)
 
- 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 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 変数

抗力の計算
float area
 交差部の面積
 
Vec3f reflexSpringForce
 ばねによる抗力
 
Vec3f reflexDamperForce
 ダンパーによる抗力
 
Vec3f reflexSpringTorque
 ばねによる抗トルク(commonPoint系)
 
Vec3f reflexDamperTorque
 ダンパーによる抗トルク(commonPoint系)
 
Vec3f reflexForcePoint
 抗力の作用点(commonPoint系)
 
- Public 変数 inherited from PHShapePair
PHSolidPairsolidPair
 
PHFrameframe [2]
 
- Public 変数 inherited from CDShapePair
enum Spr::CDShapePair::State state
 
CDConvexshape [2]
 
Posed shapePoseW [2]
 
Vec3d closestPoint [2]
 最近傍点(ローカル座標系)
 
Vec3d commonPoint
 交差部分の内点(World座標系)
 
Vec3d center
 2つの最侵入点の中間の点
 
Vec3d iNormal
 積分による法線
 
- Public 変数 inherited from CDShapePairState
Vec3d normal
 衝突の法線(0から1へ) (Global)
 
double depth
 衝突の深さ:最近傍点を求めるために,2物体を動かす距離.
 
unsigned lastContactCount
 最後に接触した時刻
 

摩擦の計算

enum  FrictionState { STATIC, DYNAMIC }
 
Vec3f transFrictionBase [2]
 並進静止摩擦用バネの端点(ローカルフレーム系)
 
float rotSpring
 回転ばねの伸び(ラジアン)
 
Vec3f dynaFric
 動摩擦力
 
Vec3f dynaFricMom
 動摩擦力のモーメント(commonPoint系)
 
Vec3f frictionForce
 摩擦力
 
Vec3f frictionTorque
 摩擦トルク(摩擦力の作用点 = (reflexForcePoint+commonPoint)系)
 
FrictionState frictionState
 摩擦の状態
 

Additional Inherited Members

- Public 型 inherited from CDShapePair
enum  State { NONE, NEW, CONTINUE }
 
- 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()のあとに呼ばれる
 
- 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からメモリブロックに戻す.
 

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