Springhead
An open source physics engine for virtual reality, haptics and motion generation.
構造体 PHBallJointIf

ボールジョイントのインタフェース

#include <SprPHJoint.h>

PHBallJointIfに対する継承グラフ

Public メソッド

 SPR_IFDEF (PHBallJoint)
 
PHBallJointLimitIfCreateLimit (const IfInfo *ii, const PHBallJointLimitDesc &desc=PHBallJointLimitDesc())
 可動域制限を作成する
 
template<class T >
PHBallJointLimitIfCreateLimit (const T &desc)
 
PHBallJointMotorIfCreateMotor (const IfInfo *ii, const PHBallJointMotorDesc &desc=PHBallJointMotorDesc())
 駆動モータを追加・削除する
 
template<class T >
PHBallJointMotorIfCreateMotor (const T &desc)
 
bool AddMotor (PHBallJointMotorIf *m)
 
bool RemoveMotor (int n)
 
Vec3d GetAngle ()
 関節変位を取得する [詳細]
 
Quaterniond GetPosition ()
 関節変位を取得する [詳細]
 
Vec3d GetVelocity ()
 関節速度を取得する [詳細]
 
bool HasLimit ()
 関節可動域拘束を取得する [詳細]
 
PHBallJointLimitIfGetLimit ()
 関節可動域拘束を取得する [詳細]
 
void SetSpring (double spring)
 バネ係数を設定する [詳細]
 
double GetSpring ()
 バネ係数を取得する [詳細]
 
void SetDamper (double damper)
 ダンパ係数を設定する [詳細]
 
double GetDamper ()
 ダンパ係数を取得する [詳細]
 
Vec3d GetSecondDamper ()
 二個目のダンパ係数を取得する [詳細]
 
void SetSecondDamper (Vec3d damper2)
 二個目のダンパ係数を設定する [詳細]
 
void SetTargetPosition (Quaterniond p)
 制御の目標向きを設定する
 
Quaterniond GetTargetPosition ()
 制御の目標向きを取得する
 
void SetTargetVelocity (Vec3d q)
 速度制御の目標速度を設定する
 
Vec3d GetTargetVelocity ()
 速度制御の目標速度を取得する
 
void SetOffsetForce (Vec3d ofst)
 力のオフセットを設定する
 
Vec3d GetOffsetForce ()
 力のオフセットを取得する
 
void SetOffsetForceN (int n, Vec3d ofst)
 N番モータの定数項を代入する [詳細]
 
Vec3d GetOffsetForceN (int n)
 N番モータの補正力を得る [詳細]
 
void SetYieldStress (const double yS)
 降伏応力を取得する [詳細]
 
double GetYieldStress ()
 降伏応力を設定する [詳細]
 
void SetHardnessRate (const double hR)
 降伏応力以下の場合にダンパを硬くする倍率を取得する [詳細]
 
double GetHardnessRate ()
 降伏応力以下の場合にダンパを硬くする倍率を設定する [詳細]
 
void SetSecondMoment (const Vec3d m)
 断面2次モーメントを設定する [詳細]
 
Vec3d GetSecondMoment ()
 断面2次モーメントを設定する [詳細]
 
int NMotors ()
 モータ数を返す [詳細]
 
PHBallJointMotorIf ** GetMotors ()
 モータ群を返す [詳細]
 
Vec3d GetMotorForce ()
 Motorの出力した力を返す [詳細]
 
Vec3d GetMotorForceN (int n)
 N番Motorの出力した力を返す @ return 力
 
Vec3d GetLimitForce ()
 Limitの出力した力を返す @ return 力
 
- Public メソッド inherited from PHJointIf
 SPR_IFDEF (PHJoint)
 
void SetMaxForce (double max)
 関節の出すことができる最大拘束力(N)の絶対値を設定する [詳細]
 
double GetMaxForce ()
 関節の出すことができる最大拘束力(N)の絶対値を取得する
 
- Public メソッド inherited from PHConstraintIf
 SPR_IFDEF (PHConstraint)
 
PHSolidIfGetSocketSolid ()
 ソケット側の剛体を取得する
 
PHSolidIfGetPlugSolid ()
 プラグ側の剛体を取得する
 
PHSceneIfGetScene () const
 所属するシーンの取得
 
void Enable (bool bEnable=true)
 拘束を有効/無効化する [詳細]
 
bool IsEnabled ()
 有効か無効かを取得する [詳細]
 
bool IsArticulated ()
 ツリーを構成しているかを取得する
 
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 ()
 拘束する剛体間の相対姿勢を取得
 
Quaternionf GetAbsolutePoseQ ()
 拘束する剛体間のワールド座標系で見た向きを取得
 
void GetRelativeVelocity (Vec3d &v, Vec3d &w)
 拘束する剛体間の相対速度 [詳細]
 
void GetConstraintForce (Vec3d &f, Vec3d &t)
 拘束力を取得 [詳細]
 
bool IsYielded ()
 拘束力を取得 [詳細]
 
- Public メソッド inherited from SceneObjectIf
 SPR_IFDEF (SceneObject)
 
SceneIfGetScene ()
 所属Sceneの取得
 
SceneObjectIfCloneObject ()
 自分を所属Sceneに複製する
 
- Public メソッド inherited from NamedObjectIf
 SPR_IFDEF (NamedObject)
 
const char * GetName () const
 名前の取得
 
void SetName (const char *n)
 名前の設定
 
NameManagerIfGetNameManager ()
 名前管理オブジェクトの取得
 
- Public メソッド inherited from ObjectIf
 SPR_IFDEF (Object)
 
ObjectIfGetObjectIf ()
 
const ObjectIfGetObjectIf () const
 
int DelRef () const
 
void Print (std::ostream &os) const
 デバッグ用の表示。子オブジェクトを含む。
 
void PrintShort (std::ostream &os) const
 デバッグ用の表示。子オブジェクトを含まない。
 
void DumpObjectR (std::ostream &os, int level=0) const
 オブジェクトツリーのメモリイメージをダンプ
 
int AddRef ()
 
int RefCount ()
 
size_t NChildObject () const
 子オブジェクトの数
 
ObjectIfGetChildObject (size_t pos)
 子オブジェクトの取得
 
const ObjectIfGetChildObject (size_t pos) const
 
bool AddChildObject (ObjectIf *o)
 子オブジェクトの追加.複数のオブジェクトの子オブジェクトとして追加してよい. 例えば,GRFrameはツリーを作るが,全ノードがGRSceneの子でもある.
 
bool DelChildObject (ObjectIf *o)
 子オブジェクトの削除
 
void Clear ()
 すべての子オブジェクトの削除と、プロパティのクリア
 
ObjectIfCreateObject (const IfInfo *info, const void *desc)
 オブジェクトを作成し,AddChildObject()を呼ぶ.
 
template<class T >
ObjectIfCreateObject (const T &desc)
 CreateObjectを呼び出すユーティリティ関数
 
const void * GetDescAddress () const
 デスクリプタの読み出し(参照版 NULLを返すこともある). これが実装されていなくても,ObjectIf::GetDesc()は実装されていることが多い.
 
bool GetDesc (void *desc) const
 デスクリプタの読み出し(コピー版 失敗する(falseを返す)こともある). ObjectIf::GetDescAddress() が実装されていなくても,こちらは実装されていることがある.
 
void SetDesc (const void *desc)
 デスクリプタの設定
 
size_t GetDescSize () const
 デスクリプタのサイズ
 
const void * GetStateAddress () const
 状態の読み出し(参照版 NULLを返すこともある). これが実装されていなくても,ObjectIf::GetState()は実装されていることがある.
 
bool GetState (void *state) const
 状態の読み出し(コピー版 失敗する(falseを返す)こともある). ObjectIf::GetStateAddress() が実装されていなくても,こちらは実装されていることがある.
 
void SetState (const void *state)
 状態の設定
 
bool WriteStateR (std::ostream &fout)
 状態の書き出し
 
bool WriteState (std::string fileName)
 
bool ReadStateR (std::istream &fin)
 状態の読み込み
 
bool ReadState (std::string fileName)
 
size_t GetStateSize () const
 状態のサイズ
 
void ConstructState (void *m) const
 メモリブロックを状態型に初期化
 
void DestructState (void *m) const
 状態型をメモリブロックに戻す
 

関数

Vec3d GetAngle ( )
戻り値
スイング方位角,スイング角,ツイスト角からなるベクトル
double GetDamper ( )
戻り値
ダンパ係数
double GetHardnessRate ( )
戻り値
硬くする倍率
PHBallJointLimitIf* GetLimit ( )
戻り値
関節可動域拘束

参照元 IKSampleApp::BuildScene().

Vec3d GetMotorForce ( )
戻り値
PHBallJointMotorIf** GetMotors ( )
戻り値
motors
Vec3d GetOffsetForceN ( int  n)
戻り値
N番モータの補正値
Quaterniond GetPosition ( )
戻り値
Xjrel.q(親剛体から見た子剛体の相対変位をQuaternionで表現したもの)
Vec3d GetSecondDamper ( )
戻り値
二個目のダンパ係数
Vec3d GetSecondMoment ( )
戻り値
断面2次モーメントVec3d(x,y,z)
double GetSpring ( )
戻り値
バネ係数
Vec3d GetVelocity ( )
戻り値
スイング方位角,スイング角,ツイスト角の時間変化率からなるベクトル
double GetYieldStress ( )
戻り値
降伏応力
bool HasLimit ( )
戻り値
関節可動域拘束
int NMotors ( )
戻り値
モータ数
void SetDamper ( double  damper)
引数
damperダンパ係数

参照元 ShoulderJointLimitApp::BuildScene().

void SetHardnessRate ( const double  hR)
引数
input硬くする倍率
void SetOffsetForceN ( int  n,
Vec3d  ofst 
)
引数
N番モータに代入する値
void SetSecondDamper ( Vec3d  damper2)
引数
input二個目のダンパ係数
void SetSecondMoment ( const Vec3d  m)
引数
input断面2次モーメントVec3d(x,y,z)
void SetSpring ( double  spring)
引数
springバネ係数

参照元 ShoulderJointLimitApp::BuildScene().

void SetYieldStress ( const double  yS)
引数
input降伏応力

この構造体の説明は次のファイルから生成されました: