![]() |
Springhead
An open source physics engine for virtual reality, haptics and motion generation.
|

Public メソッド | |
| SPR_IFDEF (PHHapticPointer) | |
| void | SetHapticRenderMode (PHHapticPointerDesc::HapticRenderMode m) |
| PHHapticPointerDesc::HapticRenderMode | GetHapticRenderMode () |
| void | EnableRotation (bool b) |
| bool | IsRotation () |
| void | EnableForce (bool b) |
| bool | IsForce () |
| void | EnableFriction (bool b) |
| bool | IsFriction () |
| void | EnableTimeVaryFriction (bool b) |
| bool | IsTimeVaryFriction () |
| void | EnableVibration (bool b) |
| bool | IsVibration () |
| void | EnableMultiPoints (bool b) |
| bool | IsMultiPoints () |
| void | EnableMultiProxy (bool b) |
| bool | IsMultiProxy () |
| void | EnableSimulation (bool b) |
| bool | IsSimulation () |
| void | SetFrictionSpring (float s) |
| 摩擦で動的Proxyを使う場合のバネ係数 | |
| float | GetFrictionSpring () |
| 摩擦で動的Proxyを使う場合のバネ係数 | |
| void | SetFrictionDamper (float s) |
| 摩擦で動的Proxyを使う場合のダンパ係数 | |
| float | GetFrictionDamper () |
| 摩擦で動的Proxyを使う場合のダンパ係数 | |
| void | SetReflexSpring (float s) |
| 提示力計算に使うバネ係数 | |
| float | GetReflexSpring () |
| 提示力計算に使うバネ係数 | |
| void | SetReflexDamper (float d) |
| 提示力計算に使うダンパ係数 | |
| float | GetReflexDamper () |
| 提示力計算に使うダンパ係数 | |
| void | SetRotationReflexSpring (float s) |
| 提示力計算に使う回転バネ係数 | |
| float | GetRotationReflexSpring () |
| 提示力計算に使う回転バネ係数 | |
| void | SetRotationReflexDamper (float d) |
| 提示力計算に使う回転ダンパ係数 | |
| float | GetRotationReflexDamper () |
| 提示力計算に使う回転ダンパ係数 | |
| void | SetLocalRange (float r) |
| 中間表現を作る距離 | |
| float | GetLocalRange () |
| 中間表現を作る距離 | |
| void | SetPosScale (double scale) |
| インタフェースの位置の倍率 | |
| double | GetPosScale () |
| インタフェースの位置の倍率 | |
| void | SetRotationalWeight (double w) |
| Proxyの回転による破綻を減らすための、倍率 | |
| double | GetRotationalWeight () |
| Proxyの回転による破綻を減らすための、倍率 | |
| void | SetDefaultPose (Posed p) |
| インタフェースに対するポインタの向き | |
| Posed | GetDefaultPose () |
| インタフェースに対するポインタの向き | |
| int | NNeighborSolids () |
| ポインタ近傍の剛体数 | |
| int | GetNeighborSolidId (int i) |
| ポインタ近傍の剛体のIDを取得 | |
| PHSolidIf * | GetNeighborSolid (int i) |
| ポインタ近傍の剛体を取得 | |
| float | GetContactForce (int i) |
| 近傍物体iからの接触力 | |
| SpatialVector | GetHapticForce () |
| 力覚インタフェースに出力する力 | |
| SpatialVector | GetProxyVelocity () |
| 質量ありプロキシの速度 | |
| void | SetProxyN (int n) |
| proxyの数を設定 | |
| int | GetProxyN () |
| proxyの数を取得 | |
| int | GetTotalSlipState () |
| int | GetSlipState (int i) |
| void | SetProxyVelocity (SpatialVector spv) |
| void | AddHapticForce (const SpatialVector &f) |
| void | ClearHapticForce () |
| void | UpdateHumanInterface (const Posed &pose, const SpatialVector &vel) |
| HumanInterfaceの位置の変化をHapticPointerに伝える。普通はFWSceeneが呼び出すので、呼び出し不要。 | |
Public メソッド inherited from PHSolidIf | |
| SPR_IFDEF (PHSolid) | |
| void | AddForce (Vec3d f) |
| 力を質量中心に加える [詳細] | |
| void | AddTorque (Vec3d t) |
| トルクを加える [詳細] | |
| void | AddForce (Vec3d f, Vec3d r) |
| 力を指定した作用点に加える [詳細] | |
| double | GetMass () |
| 質量を取得する [詳細] | |
| double | GetMassInv () |
| 質量の逆数を取得する [詳細] | |
| void | SetMass (double m) |
| 質量を設定する [詳細] | |
| void | SetCenterOfMass (const Vec3d ¢er) |
| 質量中心を設定する [詳細] | |
| Matrix3d | GetInertia () |
| 慣性テンソルを取得する [詳細] | |
| Matrix3d | GetInertiaInv () |
| 慣性テンソルの逆数を取得する [詳細] | |
| Matrix3d | GetGlobalInertia () |
| グローバル回転の慣性テンソルを取得する [詳細] | |
| void | SetInertia (const Matrix3d &I) |
| 慣性テンソルを設定する [詳細] | |
| void | CompInertia () |
| 形状と密度から重心,質量,慣性テンソルを自動的に設定する | |
| void | SetFramePosition (const Vec3d &p) |
| 剛体の位置を設定する [詳細] | |
| void | SetCenterPosition (const Vec3d &p) |
| 剛体の位置を設定する [詳細] | |
| Vec3d | GetDeltaPosition () const |
| 剛体の前のステップからの並進移動量を返す [詳細] | |
| Vec3d | GetDeltaPosition (const Vec3d &p) const |
| Quaterniond | GetOrientation () const |
| 剛体の向きを取得する [詳細] | |
| void | SetOrientation (const Quaterniond &q) |
| 剛体の向きを設定する [詳細] | |
| void | SetPose (const Posed &p) |
| 剛体の位置と向きを設定する [詳細] | |
| void | SetVelocity (const Vec3d &v) |
| 剛体の速度を設定する [詳細] | |
| void | SetAngularVelocity (const Vec3d &av) |
| 剛体の角速度を設定する [詳細] | |
| void | SetDv (const SpatialVector &a) |
| 剛体の速度の変化量を設定する [詳細] | |
| Vec3d | GetForce () const |
| 最後のステップで、拘束力以外に剛体に加わった外力を取得する。 拘束力は PHConstraint とその派生クラスから取得しなければならない。 [詳細] | |
| Vec3d | GetTorque () const |
| 最後のステップで、拘束力以外に剛体に加わった外力トルクを取得する。 拘束力は PHConstraint とその派生クラスから取得しなければならない。 [詳細] | |
| void | SetGravity (bool bOn) |
| 重力を有効/無効化する [詳細] | |
| void | SetDynamical (bool bOn) |
| 物理法則に従うかどうかを有効/無効化する [詳細] | |
| bool | IsDynamical () |
| 物理法則に従うかどうかを取得する [詳細] | |
| void | SetStationary (bool bOn) |
| bool | IsStationary () |
| PHTreeNodeIf * | GetTreeNode () |
| ツリーノードを取得する CreateRootNode,CreateTreeNodeによってツリーノードが割り当てられている場合, そのノードを返す.それ以外の場合はNULLを返す. | |
| void | UpdateCacheLCP (double dt) |
| LCP関連補助変数の初期化する | |
Public メソッド inherited from PHBodyIf | |
| SPR_IFDEF (PHBody) | |
| Posed | GetPose () const |
| 剛体の位置と向きを取得する [詳細] | |
| Vec3d | GetVelocity () const |
| 剛体の速度を取得する [詳細] | |
| Vec3d | GetAngularVelocity () const |
| 剛体の角速度を取得する [詳細] | |
| Vec3d | GetCenterOfMass () |
| 質量中心を取得する [詳細] | |
| Vec3d | GetFramePosition () |
| 剛体の位置を取得する [詳細] | |
| Vec3d | GetCenterPosition () |
| 剛体の質量中心の位置を取得する [詳細] | |
| bool | IsDynamical () |
| 動く物体かどうか | |
| bool | IsFrozen () |
| 速度が0になり、計算省略のために凍らせているかどうか | |
| void | AddShape (CDShapeIf *shape) |
| 剛体に形状を登録する [詳細] | |
| void | AddShapes (CDShapeIf **shBegin, CDShapeIf **shEnd) |
| void | RemoveShape (int index) |
| 剛体から形状を取り外す [詳細] | |
| void | RemoveShapes (int idxBegin, int idxEnd) |
| void | RemoveShape (CDShapeIf *shape) |
| 剛体から形状を取り外す [詳細] | |
| int | NShape () |
| 登録されている形状の個数を取得する [詳細] | |
| CDShapeIf * | GetShape (int index) |
| 登録されている形状を取得する [詳細] | |
| Posed | GetShapePose (int index) |
| 形状の位置と向きを取得する [詳細] | |
| void | SetShapePose (int index, const Posed &pose) |
| 形状の位置と向きを設定する [詳細] | |
| void | ClearShape () |
| 形状をClearする [詳細] | |
| void | GetBBox (Vec3d &bbmin, Vec3d &bbmax, bool world) |
| Bounding boxを取得.必要なら再計算 [詳細] | |
| bool | InvalidateBbox () |
| Bounding Box キャッシュの無効化. [詳細] | |
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 |
| 状態型をメモリブロックに戻す | |