Springhead
An open source physics engine for virtual reality, haptics and motion generation.
|
ヒンジのインタフェース
#include <SprPHJoint.h>
Public メソッド | |
SPR_IFDEF (PHHingeJoint) | |
Public メソッド inherited from PH1DJointIf | |
SPR_IFDEF (PH1DJoint) | |
PH1DJointLimitIf * | CreateLimit (const PH1DJointLimitDesc &desc=PH1DJointLimitDesc()) |
可動域制限を作成する | |
PH1DJointMotorIf * | CreateMotor (const IfInfo *ii, const PH1DJointMotorDesc &desc=PH1DJointMotorDesc()) |
駆動モータを追加・削除する | |
template<class T > | |
PH1DJointMotorIf * | CreateMotor (const T &desc) |
bool | AddMotor (PH1DJointMotorIf *m) |
bool | RemoveMotor (int n) |
bool | IsCyclic () |
cyclicかどうかを取得 trueの場合,positionが[-pi, pi]の範囲で循環する. | |
void | SetCyclic (bool on) |
cyclicかどうかを設定 | |
double | GetPosition () |
関節変位を取得する [詳細] | |
double | GetVelocity () |
関節速度を取得する [詳細] | |
bool | HasLimit () |
関節可動域拘束を取得する [詳細] | |
PH1DJointLimitIf * | GetLimit () |
関節可動域拘束を取得する [詳細] | |
void | SetSpring (double spring) |
バネ係数を設定する [詳細] | |
double | GetSpring () |
バネ係数を取得する [詳細] | |
void | SetDamper (double damper) |
ダンパ係数を設定する [詳細] | |
double | GetDamper () |
ダンパ係数を取得する [詳細] | |
double | GetSecondDamper () |
二個目のダンパ係数を取得する [詳細] | |
void | SetSecondDamper (double input) |
二個目のダンパ係数を設定する [詳細] | |
void | SetTargetPosition (double targetPosition) |
バネの制御目標を設定する [詳細] | |
double | GetTargetPosition () |
バネの原点を取得する [詳細] | |
void | SetTargetVelocity (double v) |
目標速度を設定する [詳細] | |
double | GetTargetVelocity () |
目標速度を取得する [詳細] | |
void | SetOffsetForce (double dat) |
定数項を代入する [詳細] | |
double | GetOffsetForce () |
補正力を得る [詳細] | |
void | SetOffsetForceN (int n, double dat) |
N番モータの定数項を代入する [詳細] | |
double | GetOffsetForceN (int n) |
N番モータの補正力を得る [詳細] | |
double | GetYieldStress () |
降伏応力を設定する [詳細] | |
void | SetYieldStress (const double yS) |
降伏応力を取得する [詳細] | |
double | GetHardnessRate () |
降伏応力以下の場合にダンパを硬くする倍率を設定する [詳細] | |
void | SetHardnessRate (const double hR) |
降伏応力以下の場合にダンパを硬くする倍率を取得する [詳細] | |
void | SetSecondMoment (const double &sM) |
断面二次モーメントを設定する [詳細] | |
double | GetSecondMoment () |
断面二次モーメントを取得する [詳細] | |
int | NMotors () |
モータ数を返す [詳細] | |
PH1DJointMotorIf ** | GetMotors () |
モータ群を返す [詳細] | |
double | GetMotorForce () |
Motorの出力した力を返す [詳細] | |
double | GetMotorForceN (int n) |
N番Motorの出力した力を返す @ return 力 | |
double | 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) | |
PHSolidIf * | GetSocketSolid () |
ソケット側の剛体を取得する | |
PHSolidIf * | GetPlugSolid () |
プラグ側の剛体を取得する | |
PHSceneIf * | GetScene () 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 () |
拘束力を取得 [詳細] | |
void | UpdateState () |
状態の更新 | |
Public メソッド inherited from SceneObjectIf | |
SPR_IFDEF (SceneObject) | |
SceneIf * | GetScene () |
所属Sceneの取得 | |
SceneObjectIf * | CloneObject () |
自分を所属Sceneに複製する | |
Public メソッド inherited from NamedObjectIf | |
SPR_IFDEF (NamedObject) | |
const char * | GetName () const |
名前の取得 | |
void | SetName (const char *n) |
名前の設定 | |
NameManagerIf * | GetNameManager () |
名前管理オブジェクトの取得 | |
Public メソッド inherited from ObjectIf | |
SPR_IFDEF (Object) | |
ObjectIf * | GetObjectIf () |
const ObjectIf * | GetObjectIf () 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 |
子オブジェクトの数 | |
ObjectIf * | GetChildObject (size_t pos) |
子オブジェクトの取得 | |
const ObjectIf * | GetChildObject (size_t pos) const |
bool | AddChildObject (ObjectIf *o) |
子オブジェクトの追加.複数のオブジェクトの子オブジェクトとして追加してよい. 例えば,GRFrameはツリーを作るが,全ノードがGRSceneの子でもある. | |
bool | DelChildObject (ObjectIf *o) |
子オブジェクトの削除 | |
void | Clear () |
すべての子オブジェクトの削除と、プロパティのクリア | |
ObjectIf * | CreateObject (const IfInfo *info, const void *desc) |
オブジェクトを作成し,AddChildObject()を呼ぶ. | |
template<class T > | |
ObjectIf * | CreateObject (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 |
状態型をメモリブロックに戻す | |