Springhead
An open source physics engine for virtual reality, haptics and motion generation.
クラス テンプレート PHTreeNodeND< NDOF >

N自由度の関節の基本クラス

#include <PHTreeNode.h>

PHTreeNodeND< NDOF >に対する継承グラフ

Public 型

typedef PTM::TVector< NDOF,
double > 
VecNd
 
typedef PTM::TMatrixCol
< 6, NDOF, double > 
Matrix6Nd
 
typedef PTM::TMatrixCol< NDOF,
6, double > 
MatrixN6d
 
typedef PTM::TMatrixCol< NDOF,
NDOF, double > 
MatrixNd
 

Public メソッド

PHNDJoint< NDOF > * GetJoint ()
 
virtual void ResetGear ()
 
virtual void AddToGearTrain (PHGear *gear, PHTreeNode *upper, bool isParent)
 
virtual PHTreeNodeGetParentOfGearTrain ()
 ギアトレインを考慮した親ノード
 
virtual PHTreeNodeGetGearRoot ()
 ギアトレインの最上段ノード
 
virtual void Prepare ()
 ABA関係の関数
 
virtual void InitArticulatedInertia ()
 
virtual void CompCoriolisAccel ()
 コリオリ加速度の計算
 
virtual void CompSpatialTransform ()
 ノード間の座標変換の計算
 
virtual void AccumulateInertia ()
 Iを親ノードのIに積み上げる
 
virtual void AccumulateBiasForce ()
 Zを親ノードのZに積み上げる
 
virtual void CompJointJacobian ()
 個々の関節種類に対応する派生クラスが実装する仮想関数 [詳細]
 
virtual void CompAccel ()
 
virtual void CompResponse (PHTreeNode *src, const SpatialVector &df)
 
virtual void CompResponseCorrection (PHTreeNode *src, const SpatialVector &dF)
 
virtual void CompResponseMatrix ()
 
virtual void CompResponseMap ()
 
virtual void UpdateJointVelocity ()
 関節速度の更新
 
virtual void UpdateJointPosition (double dt)
 関節位置の更新
 
virtual void ClearCorrection ()
 位置のCorrectionのためのvelを誰もクリアしていないので追加
 
- Public メソッド inherited from PHTreeNode
 SPR_OBJECTDEF_ABST (PHTreeNode)
 
virtual bool AddChildObject (ObjectIf *o)
 Objectの仮想関数
 
virtual size_t NChildObject () const
 子オブジェクトの数
 
virtual ObjectIfGetChildObject (size_t i)
 子オブジェクトの取得
 
void Enable (bool bEnable=true)
 インタフェースの実装
 
bool IsEnabled ()
 
int NChildren ()
 
PHTreeNodeIfGetParentNode ()
 
PHTreeNodeIfGetChildNode (int i)
 
SpatialMatrix GetI ()
 
SpatialVector GetIc ()
 
SpatialVector GetC ()
 
SpatialVector GetZ ()
 
SpatialMatrix GetXcp_mat ()
 
PHSolidIfGetSolid ()
 
PHRootNodeIfGetRootNode ()
 
bool Includes (PHTreeNode *node)
 自分以下にノードnodeがあるか
 
PHTreeNodeFindBySolid (PHSolid *solid)
 自分以下のツリーでsolidを参照しているノードを探す
 
PHTreeNodeFindByJoint (PHJoint *joint)
 自分以下のツリーでjointを参照しているノードを探す
 
void AssignID (std::vector< PHTreeNode * > &n)
 
PHSceneGetPHScene ()
 
void PrepareGear (PHGears &gears)
 
void PrepareDepth ()
 
void InitArticulatedBiasForce ()
 
virtual void CompArticulatedInertia ()
 Articulated Inertiaの計算
 
virtual void CompArticulatedBiasForce ()
 Articulated Bias Forceの計算
 
void CompResponse (const SpatialVector &df)
 
void CompResponseCorrection (const SpatialVector &dF)
 
double GetResponse (PHTreeNode *src, const SpatialVector &J, const SpatialVector &df)
 
virtual void UpdateJointVelocities (double *dt)
 関節の速度と関節の相対速度の更新
 
virtual void UpdateSolidVelocity (double *dt)
 剛体の速度の更新
 
virtual void UpdatePosition (double dt)
 剛体の位置の更新
 
virtual void CompJointCoriolisAccel ()
 コリオリの加速度を計算
 
virtual void CompRelativeVelocity ()
 関節速度から剛体間相対速度を計算
 
virtual void CompRelativePosition ()
 関節位置から剛体間相対位置を計算
 
- Public メソッド inherited from SceneObject
virtual void SetScene (SceneIf *s)
 
virtual SceneIfGetScene () const
 
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 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 変数

Matrix6Nd J
 関節座標から相対速度へのヤコビアン
 
Matrix6Nd IJ
 
Matrix6Nd XtrIJ
 
Matrix6Nd J_JIJinv
 
Matrix6Nd IJ_JIJinv
 
Matrix6Nd XtrIJ_JIJinv
 
MatrixNd JIJ
 
MatrixNd JIJinv
 
VecNd JtrZplusIc
 
VecNd dvel
 
VecNd vel
 関節加速度と変化量,関節速度
 
PHGeargear
 
PHTreeNodeND< NDOF > * gearRoot
 ギアトレインの最上段
 
PHTreeNodeND< NDOF > * gearParent
 親ノードと連動している場合,parentに一致
 
PHTreeNodeND< NDOF > * gearUpper
 ギアトレインの一つ上段にあるノード.兄弟ノードか親ノード
 
double gearRatio
 ギアの向きを考慮したギア比
 
double gearOffset
 ギアの向きを考慮したギア位相差
 
double gearRatioAbs
 ギアトレインの累積ギア比
 
SpatialTransform Xcg
 
SpatialMatrix Xcg_mat
 
SpatialVector sumXtrZplusIc
 
VecNd sumJtrZplusIc
 
SpatialMatrix sumXIX
 
MatrixNd sumJIJ
 
MatrixNd sumJIJinv
 
Matrix6Nd sumXtrIJ
 
Matrix6Nd sumXtrIJ_sumJIJinv
 
std::vector< MatrixN6d > dZdvel_map
 ツリー上の任意の他ノードのdZからこのノードのdvelを与える行列
 
- Public 変数 inherited from PHTreeNode
SpatialMatrix I
 Articulated Inertia.
 
SpatialVector Z
 Articulated Bias Force.
 
SpatialVector c
 コリオリ加速度
 
SpatialVector cj
 関節速度によるコリオリ加速度
 
SpatialTransform Xcp
 
SpatialTransform Xcj
 
SpatialMatrix Xcp_mat
 
SpatialMatrix Xcj_mat
 
SpatialMatrix XIX
 
SpatialMatrix XtrIJ_JIJinv_Jtr
 
SpatialMatrix XtrIJ_JIJinv_JtrIX
 
SpatialMatrix J_JIJinv_Jtr
 
SpatialVector Ic
 
SpatialVector ZplusIc
 
SpatialVector XtrZplusIc
 
SpatialMatrix Tcp
 親ノードのdvからこのノードのdvを与える行列.転置は子ノードのdZから親ノードのdZを与える
 
std::vector< SpatialMatrix > dZdv_map
 他のノードのdZからノードのdvを与える行列
 
int id
 ノードID
 
int depth
 ギアトレインを考慮したルートからの深さ
 
PHJointjoint
 親ノードとこのノードとをつなぐ関節
 
PHSolidsolid
 このノードに関連づけられている剛体
 
PHRootNoderoot
 
- Public 変数 inherited from PHTreeNodeDesc
bool bEnabled
 

Additional Inherited Members

- 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 CompJointJacobian ( )
virtual

関節ヤコビアンを計算

PHTreeNodeを再定義しています。

PHPathJointNode, PHBallJointNode, PHGenericJointNode, PHHingeJointNode, と PHSliderJointNodeで再定義されています。


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