Springhead
An open source physics engine for virtual reality, haptics and motion generation.
クラス PHHingeJoint

ヒンジ関節

#include <PHHingeJoint.h>

PHHingeJointに対する継承グラフ

Public メソッド

 SPR_OBJECTDEF (PHHingeJoint)
 
 PHHingeJoint (const PHHingeJointDesc &desc=PHHingeJointDesc())
 コンストラクタ
 
virtual PHTreeNodeCreateTreeNode ()
 ABAで対応するPHTreeNodeの派生クラスを生成して返す
 
virtual void UpdateJointState ()
 関節座標の位置・速度を更新する
 
virtual void CompBias ()
 独自座標系を使う場合のヤコビアンの修正 [詳細]
 
virtual void CompError ()
 Correction用の拘束誤差を設定する
 
virtual double GetDeviation ()
 バネ中点(目標角度)からの偏差を返す.回転関節がオーバライドする
 
- Public メソッド inherited from PH1DJoint
 SPR_OBJECTDEF_ABST1 (PH1DJoint, PHJoint)
 
 PH1DJoint ()
 コンストラクタ
 
virtual bool AddChildObject (ObjectIf *o)
 ChildObject.可動域を追加できる
 
virtual size_t NChildObject () const
 子オブジェクトの数
 
virtual ObjectIfGetChildObject (size_t i)
 子オブジェクトの取得
 
PH1DJointLimitIfCreateLimit (const PH1DJointLimitDesc &desc)
 
PH1DJointMotorIfCreateMotor (const IfInfo *ii, const PH1DJointMotorDesc &desc)
 
bool AddMotor (PH1DJointMotorIf *m)
 
bool RemoveMotor (int n)
 
double GetPosition ()
 
double GetVelocity ()
 
bool HasLimit ()
 
PH1DJointLimitIfGetLimit ()
 
bool IsCyclic ()
 
void SetCyclic (bool on)
 
void SetSpring (const double &spring)
 
double GetSpring ()
 
void SetDamper (const double &damper)
 
double GetDamper ()
 
void SetSecondDamper (const double &secondDamper)
 
double GetSecondDamper ()
 
void SetTargetPosition (const double &targetPosition)
 
double GetTargetPosition ()
 
void SetTargetVelocity (const double &targetVelocity)
 
double GetTargetVelocity ()
 
void SetOffsetForce (const double &offsetForce)
 
double GetOffsetForce ()
 
void SetOffsetForceN (int n, const double &offsetForce)
 
double GetOffsetForceN (int n)
 
void SetYieldStress (const double &yieldStress)
 
double GetYieldStress ()
 
void SetHardnessRate (const double &hardnessRate)
 
double GetHardnessRate ()
 
void SetSecondMoment (double sM)
 
double GetSecondMoment ()
 
int NMotors ()
 
PH1DJointMotorIf ** GetMotors ()
 
double GetMotorForce ()
 
double GetMotorForceN (int n)
 
double GetLimitForce ()
 
- Public メソッド inherited from PHNDJoint< 1 >
 PHNDJoint ()
 コンストラクタ
 
- Public メソッド inherited from PHJoint
 SPR_OBJECTDEF_ABST (PHJoint)
 
void SetMaxForce (double max)
 
double GetMaxForce ()
 
- Public メソッド inherited from PHConstraint
 SPR_OBJECTDEF_ABST (PHConstraint)
 
 ACCESS_DESC (PHConstraint)
 
 PHConstraint ()
 コンストラクタ
 
bool IsArticulated ()
 ツリーノードを構成しているか
 
bool IsFeasible ()
 
void UpdateState ()
 状態の更新
 
virtual void Setup ()
 PHConstraintBaseの仮想関数
 
virtual void SetupCorrection ()
 位置LCPの前処理
 
virtual bool Iterate ()
 速度LCP(GS)の繰り返し計算
 
virtual bool IterateCorrection ()
 位置LCP(GS)の繰り返し計算
 
virtual bool Projection (double &f_, int i)
 
virtual bool ProjectionCorrection (double &F_, int i)
 
virtual void CompResponse (double df, int i)
 (M^-1 J^T) df
 
virtual void CompResponseCorrection (double dF, int i)
 (M^-1 J^T) dF
 
virtual void CompResponseMatrix ()
 
void CompJacobian ()
 拘束する2つの剛体の各速度から相対速度へのヤコビアンを計算
 
virtual void SetupAxisIndex ()
 どの自由度を速度拘束するかを設定
 
PHSceneIfGetScene () const
 
PHSolidIfGetSocketSolid ()
 
PHSolidIfGetPlugSolid ()
 
void Enable (bool bEnable=true)
 
bool IsEnabled ()
 
void SetInactive (int index=0, bool Inaction=true)
 
bool IsInactive (int index=0)
 
void GetSocketPose (Posed &pose)
 
void SetSocketPose (const Posed &pose)
 
void GetPlugPose (Posed &pose)
 
void SetPlugPose (const Posed &pose)
 
void GetRelativePose (Posed &p)
 
Vec3d GetRelativePoseR ()
 
Quaterniond GetRelativePoseQ ()
 
Quaterniond GetAbsolutePoseQ ()
 
void GetRelativeVelocity (Vec3d &v, Vec3d &w)
 
void GetConstraintForce (Vec3d &_f, Vec3d &_t)
 
bool IsYielded ()
 
virtual size_t GetStateSize () const
 状態のサイズ
 
virtual bool GetState (void *s) const
 状態の読み出し(コピー版)
 
virtual void SetState (const void *s)
 状態の設定
 
- Public メソッド inherited from SceneObject
virtual void SetScene (SceneIf *s)
 
virtual SceneObjectIfCloneObject ()
 
- Public メソッド inherited from NamedObject
 NamedObject (const NamedObject &n)
 
NamedObjectoperator= (const NamedObject &n)
 
virtual const char * GetName () const
 名前の取得
 
virtual void SetName (const char *n)
 名前の設定
 
virtual void SetNameManager (NameManagerIf *s)
 NameManagerを設定
 
virtual NameManagerIfGetNameManager () const
 NameManagerの取得
 
- 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 const ObjectIfGetChildObject (size_t pos) const
 
virtual bool DelChildObject (ObjectIf *o)
 子オブジェクトの削除
 
virtual void Clear ()
 すべての子オブジェクトの削除とプロパティのクリア
 
virtual void Loaded (UTLoadContext *)
 ファイルロード後に一度呼ばれる。ノードの設定に使う。 呼び出し順序に依存する処理がしたい場合は、UTLoadHandeler と UTLoadTask を使うと良い。 
 
virtual bool GetDesc (void *desc) const
 デスクリプタの読み出し(コピー版)
 
virtual void SetDesc (const void *desc)
 デスクリプタの設定
 
virtual const void * GetDescAddress () const
 デスクリプタの読み出し(参照版)
 
virtual size_t GetDescSize () const
 デスクリプタのサイズ
 
virtual const void * GetStateAddress () const
 状態の読み出し(参照版)
 
virtual void GetStateR (char *&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 void ConstructState (void *m) const
 メモリブロックを状態型に初期化
 
virtual void DestructState (void *m) const
 状態型をメモリブロックに戻す
 
virtual void DumpObjectR (std::ostream &os, int level=0) const
 メモリデバッグ用。単純にツリーのオブジェクトをファイルにダンプする。
 

Public 変数

 SPR_DECLMEMBEROF_PHHingeJointDesc
 
- Public 変数 inherited from PH1DJoint
 SPR_DECLMEMBEROF_PH1DJointDesc
 
UTRef< PH1DJointLimitlimit
 可動範囲拘束
 
UTRefArray< PH1DJointMotormotors
 モータ
 
int motorPDcount
 
- Public 変数 inherited from PHNDJoint< 1 >
VecNd position
 
VecNd velocity
 
- Public 変数 inherited from PHJoint
 SPR_DECLMEMBEROF_PHJointDesc
 
- Public 変数 inherited from PHConstraint
PHConstraintEngineengine
 拘束を管理するエンジン
 
PHSolidsolid [2]
 拘束する剛体
 
PHTreeNodetreeNode
 関節系を構成している場合のツリーノード
 
bool bInactive [2]
 剛体が解析法に従う場合true
 
int solidState [2]
 
SpatialTransform X [2]
 ワールド座標系の中心に対する親(子)剛体の位置と向き #* 剛体から毎回取ってくる値
 
SpatialTransform Xj [2]
 剛体の質量中心に対するソケット,プラグの位置と向き #* 関節を作るときに設定する値
 
SpatialTransform Xjrel
 ソケットに対するプラグの位置と向き #* Xから計算
 
SpatialVector vjrel
 ソケットに対するプラグの相対速度,角速度 #* 剛体から計算
 
SpatialTransform Js [2]
 拘束ヤコビアン Pose(Vec+Quaternion)形式 #* Xj Xjrelから計算 [0]:親剛体中心からSocket座標系へ変換するヤコビアン [1]:子剛体中心からSocket座標系へ変換するのヤコビアン
 
SpatialMatrix J [2]
 拘束ヤコビアン 行列形式 #[n_c x 6] Jsから計算。行列型が必要 [0]:親剛体の質量中心からSocket座標系へのヤコビアン [1]:子剛体の質量中心からPlug座標系経由でSocket座標系へのヤコビアン
 
SpatialMatrix preJ [2]
 一ステップ前の拘束ヤコビアン 行列形式 #[n_c x 6] Jsから計算。行列型が必要 [0]:親剛体の質量中心からSocket座標系へのヤコビアン [1]:子剛体の質量中心からPlug座標系経由でSocket座標系へのヤコビアン
 
SpatialMatrix Jdot [2]
 
SpatialMatrix preJdot [2]
 
SpatialMatrix Jdotdot [2]
 
SpatialVector fAvg
 拘束力にローパスをかけたもの
 
SpatialVector xs
 ばね部の距離(三要素モデル用)
 
bool bYielded
 降伏したかどうか
 
double fMaxDt [6]
 
double fMinDt [6]
 Projection用の各軸のMin/Max.
 
AxisIndex< 6 > movableAxes
 –— 拘束軸管理 拘束空間は全6自由度(並進x,y,z + 回転x,y,z). [詳細]
 
AxisIndex< 6 > targetAxes
 関節自身,可動範囲,モータのいずれかによって拘束される自由度
 
- Public 変数 inherited from PHConstraintDesc
bool bEnabled
 有効/無効フラグ
 
Posed poseSocket
 剛体から見た関節の位置と傾き
 
Posed posePlug
 
- Public 変数 inherited from PHConstraintBase
SpatialVector b
 
SpatialVector db
 
SpatialVector B
 
SpatialVector A
 
SpatialVector dA
 
SpatialVector Ainv
 
SpatialVector f
 
SpatialVector F
 
SpatialVector fnew
 
SpatialVector Fnew
 
SpatialVector df
 
SpatialVector dv
 
SpatialVector dF
 
SpatialVector dV
 
SpatialVector res
 
AxisIndex< 6 > axes
 拘束軸管理クラス
 
bool dv_changed [6]
 
bool dv_changed_next [6]
 

Additional Inherited Members

- Public 型 inherited from PHNDJoint< 1 >
typedef PTM::TVector< NDOF,
double > 
VecNd
 
- Protected メソッド inherited from NamedObject
virtual void PrintHeader (std::ostream &os, bool bClose) const
 開き括弧
 
- Protected メソッド inherited from Object
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からメモリブロックに戻す.
 
- Protected 変数 inherited from NamedObject
UTString name
 名前
 
NameManagernameManager
 名前の検索や重複管理をするもの.SceneやSDKなど.
 

関数

virtual void CompBias ( )
virtual

LCPの補正値の計算.誤差修正用

PHConstraintを再定義しています。


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