Springhead
An open source physics engine for virtual reality, haptics and motion generation.
|
IKエンドエフェクタのインタフェース
#include <SprPHIK.h>
Public メソッド | |
SPR_IFDEF (PHIKEndEffector) | |
void | SetSolid (PHSolidIf *solid) |
動作対象の剛体を設定する(1エンドエフェクタにつき1剛体が必ず対応する) | |
PHSolidIf * | GetSolid () |
動作対象として設定された剛体を取得する | |
void | SetParentActuator (PHIKActuatorIf *ika) |
PHIKActuatorIf * | GetParentActuator () |
void | Enable (bool enable) |
有効・無効を設定する | |
bool | IsEnabled () |
有効・無効を取得する | |
void | SetTargetLocalPosition (Vec3d localPosition) |
剛体において到達させたい位置の剛体ローカル座標を設定する | |
Vec3d | GetTargetLocalPosition () |
エンドエフェクタにおける到達させたい位置の設定された目標値を取得する | |
void | SetTargetLocalDirection (Vec3d localDirection) |
方向制御をする場合の方向基準ベクトル(剛体ローカル座標系において)を設定する | |
Vec3d | GetTargetLocalDirection () |
方向制御をする場合の方向基準ベクトル(剛体ローカル座標系において)を取得する | |
void | EnablePositionControl (bool enable) |
位置の制御の有効・無効を切り替える | |
bool | IsPositionControlEnabled () |
位置の制御の有効・無効を取得する | |
void | SetPositionPriority (double priority) |
位置制御のプライオリティを設定する | |
double | GetPositionPriority () |
void | SetTargetPosition (Vec3d position) |
位置の目標値を設定する | |
Vec3d | GetTargetPosition () |
設定された位置の目標値を取得する | |
void | EnableOrientationControl (bool enable) |
姿勢の制御の有効・無効を切り替える | |
bool | IsOrientationControlEnabled () |
姿勢の制御の有効・無効を取得する | |
void | SetOrientationPriority (double priority) |
姿勢制御のプライオリティを設定する | |
double | GetOrientationPriority () |
void | SetOriCtlMode (PHIKEndEffectorDesc::OriCtlMode mode) |
姿勢制御のモードを設定する | |
PHIKEndEffectorDesc::OriCtlMode | GetOriCtlMode () |
void | SetTargetOrientation (Quaterniond orientation) |
姿勢の目標値を設定する | |
Quaterniond | GetTargetOrientation () |
設定された姿勢の目標値を取得する | |
void | SetTargetDirection (Vec3d direction) |
方向の目標値を設定する | |
Vec3d | GetTargetDirection () |
方向の目標値を取得する | |
void | SetTargetLookat (Vec3d lookat) |
視線方向の目標値を設定する | |
Vec3d | GetTargetLookat () |
視線方向の目標値を取得する | |
void | SetTargetVelocity (Vec3d velocity) |
速度の目標値を設定する | |
Vec3d | GetTargetVelocity () |
速度の目標値を取得する | |
void | SetTargetAngularVelocity (Vec3d angVel) |
角速度の目標値を設定する | |
Vec3d | GetTargetAngularVelocity () |
角速度の目標値を設定する | |
void | EnableForceControl (bool enable) |
力の制御の有効・無効を切り替える | |
void | SetTargetForce (Vec3d force, Vec3d workingPoint=Vec3d()) |
力の目標値を設定する | |
Vec3d | GetTargetForce () |
設定された力の目標値を取得する | |
Vec3d | GetTargetForceWorkingPoint () |
設定された力の作用点を取得する | |
void | EnableTorqueControl (bool enable) |
トルクの制御の有効・無効を切り替える | |
void | SetTargetTorque (Vec3d torque) |
トルクの目標値を設定する | |
Vec3d | GetTargetTorque () |
設定されたトルクの目標値を取得する | |
Posed | GetSolidTempPose () |
一時変数の剛体姿勢を取得する | |
void | ApplyExactState () |
一時変数の剛体姿勢を現実の剛体姿勢に合わせる | |
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 |
状態型をメモリブロックに戻す | |