![]() |
Springhead
An open source physics engine for virtual reality, haptics and motion generation.
|
スライダ関節
#include <PHSliderJoint.h>

Public メソッド | |
| SPR_OBJECTDEF (PHSliderJoint) | |
| PHSliderJoint (const PHSliderJointDesc &desc=PHSliderJointDesc()) | |
| コンストラクタ | |
| virtual PHTreeNode * | CreateTreeNode () |
| ABAで対応するPHTreeNodeの派生クラスを生成して返す | |
| virtual void | SetupAxisIndex () |
| どの自由度を速度拘束するかを設定 | |
| virtual void | CompBias () |
| 独自座標系を使う場合のヤコビアンの修正 [詳細] | |
| virtual void | CompError () |
| Correction用の拘束誤差を設定する | |
| virtual void | UpdateJointState () |
| 関節座標の位置・速度を更新する | |
Public メソッド inherited from PH1DJoint | |
| SPR_OBJECTDEF_ABST1 (PH1DJoint, PHJoint) | |
| PH1DJoint () | |
| コンストラクタ | |
| virtual double | GetDeviation () |
| バネ中点(目標角度)からの偏差を返す.回転関節がオーバライドする | |
| virtual bool | AddChildObject (ObjectIf *o) |
| ChildObject.可動域を追加できる | |
| virtual size_t | NChildObject () const |
| 子オブジェクトの数 | |
| virtual ObjectIf * | GetChildObject (size_t i) |
| 子オブジェクトの取得 | |
| PH1DJointLimitIf * | CreateLimit (const PH1DJointLimitDesc &desc) |
| PH1DJointMotorIf * | CreateMotor (const IfInfo *ii, const PH1DJointMotorDesc &desc) |
| bool | AddMotor (PH1DJointMotorIf *m) |
| bool | RemoveMotor (int n) |
| double | GetPosition () |
| double | GetVelocity () |
| bool | HasLimit () |
| PH1DJointLimitIf * | GetLimit () |
| 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つの剛体の各速度から相対速度へのヤコビアンを計算 | |
| PHSceneIf * | GetScene () const |
| PHSolidIf * | GetSocketSolid () |
| PHSolidIf * | GetPlugSolid () |
| 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 SceneObjectIf * | CloneObject () |
Public メソッド inherited from NamedObject | |
| NamedObject (const NamedObject &n) | |
| NamedObject & | operator= (const NamedObject &n) |
| virtual const char * | GetName () const |
| 名前の取得 | |
| virtual void | SetName (const char *n) |
| 名前の設定 | |
| virtual void | SetNameManager (NameManagerIf *s) |
| NameManagerを設定 | |
| virtual NameManagerIf * | GetNameManager () const |
| NameManagerの取得 | |
Public メソッド inherited from Object | |
| SPR_OBJECTDEF (Object) | |
| クラス名の取得などの基本機能の実装 | |
| ObjectIf * | GetObjectIf () |
| const ObjectIf * | GetObjectIf () const |
| virtual void | Print (std::ostream &os) const |
| デバッグ用の表示 | |
| virtual void | PrintShort (std::ostream &os) const |
| virtual ObjectIf * | CreateObject (const IfInfo *info, const void *desc) |
| オブジェクトの作成 | |
| virtual const ObjectIf * | GetChildObject (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_PHSliderJointDesc | |
Public 変数 inherited from PH1DJoint | |
| SPR_DECLMEMBEROF_PH1DJointDesc | |
| UTRef< PH1DJointLimit > | limit |
| 可動範囲拘束 | |
| UTRefArray< PH1DJointMotor > | motors |
| モータ | |
| int | motorPDcount |
Public 変数 inherited from PHNDJoint< 1 > | |
| VecNd | position |
| VecNd | velocity |
Public 変数 inherited from PHJoint | |
| SPR_DECLMEMBEROF_PHJointDesc | |
Public 変数 inherited from PHConstraint | |
| PHConstraintEngine * | engine |
| 拘束を管理するエンジン | |
| PHSolid * | solid [2] |
| 拘束する剛体 | |
| PHTreeNode * | treeNode |
| 関節系を構成している場合のツリーノード | |
| 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 |
| 名前 | |
| NameManager * | nameManager |
| 名前の検索や重複管理をするもの.SceneやSDKなど. | |
|
virtual |
LCPの補正値の計算.誤差修正用
PHConstraintを再定義しています。