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

Spr::PHJointBase Class Reference

関節の基本クラス.ツリー構造を作る.PHJointEngineがツリーを持つ. More...

#include <PHJoint.h>

Inherits Spr::UTTreeNode< PHJointBase >, and Spr::SGObject.

Inherited by Spr::PHJoint1D, Spr::PHJointMulti< NDOF >, Spr::PHJointMulti< 2 >, Spr::PHJointMulti< 3 >, and Spr::PHJointRoot.

Collaboration diagram for Spr::PHJointBase:

Collaboration graph
[legend]
List of all members.

座標系の説明

関節フレームの説明 関節の位置と傾きを表現するためのフレーム。 関節フレーム原点は関節軸の位置を表す。 軸と座標の関係は関節の種類(派生クラス)によって異なる.

Fc := child solid's frame 子剛体の座標系

Public Types

Public Member Functions

Featherstone's algorithm

Public Attributes

Static Public Attributes

Protected Member Functions


Detailed Description

関節の基本クラス.ツリー構造を作る.PHJointEngineがツリーを持つ.

Definition at line 51 of file PHJoint.h.


Member Enumeration Documentation

enum Spr::PHJointBase::IntType
 

積分の方法. Method of solver

Definition at line 61 of file PHJoint.h.


Constructor & Destructor Documentation

Spr::PHJointBase::PHJointBase  ) 
 

コンストラクタ


Member Function Documentation

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

ロード後の初期化.再帰.

Reimplemented from Spr::SGObject.

Reimplemented in Spr::PHJointHinge, Spr::PHJointSlider, and Spr::PHJointBall.

PHJointBase* Spr::PHJointBase::Search PHSolid  ) 
 

指定したPHSolidを小に持つノードを検索する

Affinef Spr::PHJointBase::GetPostureFromParent  )  [inline]
 

親剛体のフレームから見た関節姿勢

Definition at line 122 of file PHJoint.h.

Affinef Spr::PHJointBase::GetPostureFromChild  )  [inline]
 

子剛体のフレームから見た関節姿勢

Definition at line 124 of file PHJoint.h.

References cRj, and crj.

Vec3f Spr::PHJointBase::GetSolidAngularAccel  )  [inline]
 

子剛体の角加速度(World系)

Definition at line 126 of file PHJoint.h.

References a, and solid.

Vec3f Spr::PHJointBase::GetSolidAccel  )  [inline]
 

子剛体の加速度(World系)

Definition at line 128 of file PHJoint.h.

References a, and solid.

Vec3f Spr::PHJointBase::GetSolidAngularVelocity  )  [inline]
 

子剛体の角加速度(World系)

Definition at line 130 of file PHJoint.h.

References w_abs.

Vec3f Spr::PHJointBase::GetSolidVelocity  )  [inline]
 

子剛体の加速度(World系)

Definition at line 132 of file PHJoint.h.

References v_abs.

Matrix3d Spr::PHJointBase::GetOrientation  )  [inline]
 

絶対座標での関節の向き

Definition at line 134 of file PHJoint.h.

References R.

virtual int Spr::PHJointBase::GetJointDof  )  [pure virtual]
 

関節の自由度

Implemented in Spr::PHJoint1D, Spr::PHJointMulti< NDOF >, Spr::PHJointMulti< 2 >, and Spr::PHJointMulti< 3 >.

virtual double Spr::PHJointBase::GetJointPosition int  i  )  [pure virtual]
 

関節位置の取得

Implemented in Spr::PHJoint1D, Spr::PHJointBall, and Spr::PHJointUniversal.

virtual double Spr::PHJointBase::GetJointVelocity int  i  )  [pure virtual]
 

関節速度の取得

Implemented in Spr::PHJoint1D, Spr::PHJointMulti< NDOF >, Spr::PHJointMulti< 2 >, and Spr::PHJointMulti< 3 >.

virtual double Spr::PHJointBase::GetJointAccel int  i  )  [pure virtual]
 

関節加速度の取得

Implemented in Spr::PHJoint1D, Spr::PHJointMulti< NDOF >, Spr::PHJointMulti< 2 >, and Spr::PHJointMulti< 3 >.

virtual double Spr::PHJointBase::GetJointTorque int  i  )  [pure virtual]
 

関節トルクの取得

Implemented in Spr::PHJoint1D, Spr::PHJointMulti< NDOF >, Spr::PHJointMulti< 2 >, and Spr::PHJointMulti< 3 >.

virtual void Spr::PHJointBase::SetJointTorque double  v,
int  i
[pure virtual]
 

関節トルクの設定

Implemented in Spr::PHJoint1D, Spr::PHJointMulti< NDOF >, Spr::PHJointMulti< 2 >, and Spr::PHJointMulti< 3 >.

virtual void Spr::PHJointBase::AddJointTorque double  v,
int  i
[pure virtual]
 

関節トルクを加える

Implemented in Spr::PHJoint1D, Spr::PHJointMulti< NDOF >, Spr::PHJointMulti< 2 >, and Spr::PHJointMulti< 3 >.

void Spr::PHJointBase::CompCoriolisAccelRecursive double  dt  ) 
 

コリオリの力による加速度の計算

virtual void Spr::PHJointBase::CompArticulatedInertia double  dt  )  [virtual]
 

articulated inertia & ZA-force

Reimplemented in Spr::PHJoint1D, Spr::PHJointMulti< NDOF >, Spr::PHJointMulti< 2 >, and Spr::PHJointMulti< 3 >.

virtual void Spr::PHJointBase::Integrate SGScene scene  )  [virtual]
 

積分

Reimplemented in Spr::PHJoint1D, Spr::PHJointBall, and Spr::PHJointUniversal.

virtual void Spr::PHJointBase::CalcAccel double  dt  )  [pure virtual]
 

このノードの加速度を計算したい場合に呼ぶ. 親ノードの加速度は副作用で求まる.子ノードについては計算しない.

呼び出しかた. 1. root->CalcCoriolisAccelRecusive(dt); 2. 全ジョイントについて,PHJointBase::torque に値を直接代入する. 3. root->CalcArticulatedInertia(dt); 4. CalcAccel(dt) 5. ジョイントの a から加速度を読み出す(座標系に注意) 6. 2-5をトルクパターンを変えながら呼び出す.

Compute accelaration of the child solid of this joint. For partial use of Featherstone's algorithm.

Implemented in Spr::PHJoint1D, Spr::PHJointMulti< NDOF >, Spr::PHJointMulti< 2 >, and Spr::PHJointMulti< 3 >.

Referenced by Spr::PHJointMulti< 3 >::CalcAccel().

virtual size_t Spr::PHJointBase::NChildObjects  )  [virtual]
 

所有しているオブジェクトの数

Reimplemented from Spr::SGObject.

virtual SGObject* Spr::PHJointBase::ChildObject size_t  i  )  [virtual]
 

所有しているオブジェクト

Reimplemented from Spr::SGObject.

virtual size_t Spr::PHJointBase::NReferenceObjects  )  [virtual]
 

参照しているオブジェクトの数

Reimplemented from Spr::SGObject.

virtual SGObject* Spr::PHJointBase::ReferenceObject size_t  i  )  [virtual]
 

参照しているオブジェクト

Reimplemented from Spr::SGObject.

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

子オブジェクトの追加

Reimplemented from Spr::SGObject.

virtual bool Spr::PHJointBase::DelChildObject SGObject o,
SGScene s
[virtual]
 

子オブジェクトの削除

Reimplemented from Spr::SGObject.

virtual const UTTypeInfo** Spr::PHJointBase::ChildCandidates  )  [virtual]
 

子になりえるオブジェクトの型情報の配列

Reimplemented from Spr::SGObject.

template<class T>
T& Spr::PHJointBase::OfParent T PHJointBase::*  member  )  [inline, protected]
 

派生クラスが基本クラス型オブジェクトのメンバにアクセスするための手段

Definition at line 198 of file PHJoint.h.

References Spr::UTTreeNode< PHJointBase >::GetParent().

Referenced by Spr::PHJointMulti< 3 >::CalcAccel(), Spr::PHJointMulti< 3 >::CompArticulatedInertia(), and Spr::PHJointMulti< 3 >::PreIntegrate().

void Spr::PHJointBase::PropagateState  )  [protected]
 

位置・速度の伝播(非再帰関数)

virtual void Spr::PHJointBase::Reset  )  [protected, virtual]
 

姿勢などの再設定 非再帰 基本的な状態量(PHJointStateの内容)がLoadedやLoadStateでセットされた後に、 従属変数を計算するための関数

Reimplemented in Spr::PHJoint1D, Spr::PHJointMulti< NDOF >, Spr::PHJointMulti< 2 >, and Spr::PHJointMulti< 3 >.


Member Data Documentation

UTTypeInfoImpAbst< PHJointBase > Spr::PHJointBase::typeInfo [static]
 

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

Reimplemented from Spr::SGObject.

Reimplemented in Spr::PHJoint1D, Spr::PHJointHinge, Spr::PHJointSlider, Spr::PHJointBall, and Spr::PHJointUniversal.

Definition at line 59 of file PHJoint.h.

enum Spr::PHJointBase::IntType Spr::PHJointBase::intType
 

積分の方法. Method of solver

UTRef<PHSolid> Spr::PHJointBase::solid
 

子Solid.関節は親Solidと子Solidをつなぐ

Definition at line 66 of file PHJoint.h.

Referenced by GetSolidAccel(), and GetSolidAngularAccel().

UTRef<SGFrame> Spr::PHJointBase::frame
 

ルートノードが固定の場合のFrame

Definition at line 67 of file PHJoint.h.

Matrix3d Spr::PHJointBase::cRj
 

3x3回転行列 rotation matrix(Fp to Fjp, Fc to Fjc)

Definition at line 92 of file PHJoint.h.

Referenced by GetPostureFromChild().

Vec3d Spr::PHJointBase::crj
 

並進ベクトル radius vector(Fp to Fjp in Fp, Fc to Fjc in Fc)

Definition at line 93 of file PHJoint.h.

Referenced by GetPostureFromChild().

Vec3d Spr::PHJointBase::prc [protected]
 

並進ベクトル radius vector(Fp to Fc in Fc)

Definition at line 96 of file PHJoint.h.

Matrix3d Spr::PHJointBase::cRp [protected]
 

3x3回転行列 rotation matrix(Fp to Fc, Fc to Fp)

Definition at line 97 of file PHJoint.h.

Matrix3d Spr::PHJointBase::R [protected]
 

orientation matrix

Definition at line 98 of file PHJoint.h.

Referenced by GetOrientation().

Quaterniond Spr::PHJointBase::quat [protected]
 

orientation quaternion

Definition at line 99 of file PHJoint.h.

Vec3d Spr::PHJointBase::p [protected]
 

position vector

Definition at line 100 of file PHJoint.h.

Vec3d Spr::PHJointBase::v_abs [protected]
 

velocity in Fc/world coord.

Definition at line 101 of file PHJoint.h.

Referenced by GetSolidVelocity().

Vec3d Spr::PHJointBase::w_abs [protected]
 

angular velocity in Fc/world coord.

Definition at line 102 of file PHJoint.h.

Referenced by GetSolidAngularVelocity().

Vec3d Spr::PHJointBase::pwc [protected]
 

[angular]velocity relative to Fp in Fc coord.

Definition at line 103 of file PHJoint.h.

SpMatrix6d Spr::PHJointBase::Ii [protected]
 

spatial isolated inertia

Definition at line 104 of file PHJoint.h.

SpMatrix6d Spr::PHJointBase::Ia [protected]
 

spatial articulated inertia

Definition at line 105 of file PHJoint.h.

SpVec6d Spr::PHJointBase::Za [protected]
 

zero accelaration force in Fc coord.

Definition at line 106 of file PHJoint.h.

SpVec6d Spr::PHJointBase::c [protected]
 

Coriolis vector in Fc coord.

Definition at line 107 of file PHJoint.h.

SpVec6d Spr::PHJointBase::a [protected]
 

spatial accelaration in Fc coord.

Definition at line 108 of file PHJoint.h.

Referenced by GetSolidAccel(), and GetSolidAngularAccel().


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