Springhead
An open source physics engine for virtual reality, haptics and motion generation.
構造体 PHHapticPointerIf
PHHapticPointerIfに対する継承グラフ

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を取得
 
PHSolidIfGetNeighborSolid (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 &center)
 質量中心を設定する [詳細]
 
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 ()
 
PHTreeNodeIfGetTreeNode ()
 ツリーノードを取得する 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 ()
 登録されている形状の個数を取得する [詳細]
 
CDShapeIfGetShape (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)
 
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
 状態型をメモリブロックに戻す
 

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