|
| SPR_IFDEF (PHScene) |
|
PHSdkIf * | GetSdk () |
| このSceneをもつSDKを返す [詳細]
|
|
PHSolidIf * | CreateSolid (const PHSolidDesc &desc=PHSolidDesc()) |
| Solidを作成する [詳細]
|
|
int | NSolids () const |
| Solidの数を取得する [詳細]
|
|
PHSolidIf * | GetSolid (int idx) |
| Solidを取得する [詳細]
|
|
int | GetSolidIndex (PHSolidIf *s) |
| Solidのインデックスを取得する [詳細]
|
|
PHSolidIf ** | GetSolids () |
| Solidを取得する [詳細]
|
|
int | NSolidPairs () const |
| SolidPairの数を取得する [詳細]
|
|
PHSolidPairForLCPIf * | GetSolidPair (int i, int j) |
| SolidPairを取得する [詳細]
|
|
PHSolidPairForLCPIf * | GetSolidPair (PHSolidIf *lhs, PHSolidIf *rhs, bool &bSwap) |
| SolidPairを取得する [詳細]
|
|
void | SetContactMode (PHSolidIf *lhs, PHSolidIf *rhs, PHSceneDesc::ContactMode mode=PHSceneDesc::MODE_LCP) |
| 指定した剛体同士の接触のモードを設定する [詳細]
|
|
void | SetContactMode (PHSolidIf **group, size_t length, PHSceneDesc::ContactMode mode=PHSceneDesc::MODE_LCP) |
| 指定した集合に含まれる全ての剛体同士の接触のモードを設定する [詳細]
|
|
void | SetContactMode (PHSolidIf *solid, PHSceneDesc::ContactMode mode=PHSceneDesc::MODE_LCP) |
| 指定した剛体と他の剛体との全ての接触のモードを設定する [詳細]
|
|
void | SetContactMode (PHSceneDesc::ContactMode mode=PHSceneDesc::MODE_LCP) |
| シーンが保有する全ての剛体同士の接触のモードを設定する [詳細]
|
|
PHJointIf * | CreateJoint (PHSolidIf *lhs, PHSolidIf *rhs, const IfInfo *ii, const PHJointDesc &desc) |
| 関節を作成する [詳細]
|
|
template<class T > |
PHJointIf * | CreateJoint (PHSolidIf *lhs, PHSolidIf *rhs, const T &desc) |
|
int | NJoints () const |
| 関節の数を取得する
|
|
PHJointIf * | GetJoint (int i) |
| 関節を取得する
|
|
int | NContacts () const |
| 接触拘束の数を取得する
|
|
PHContactPointIf * | GetContact (int i) |
| 接触拘束を取得する
|
|
int | NFemMeshes () const |
| FEM Meshの数を取得する
|
|
PHFemMeshIf * | GetFemMesh (int i) |
| FEM Meshを取得する
|
|
int | NFemMeshesNew () const |
| FEM MeshNewの数を取得する
|
|
PHFemMeshNewIf * | GetFemMeshNew (int i) |
| FEM MeshNewを取得する
|
|
PHRootNodeIf * | CreateRootNode (PHSolidIf *root, const PHRootNodeDesc &desc=PHRootNodeDesc()) |
| ルートノードを作成する [詳細]
|
|
int | NRootNodes () const |
| ルートノードの数
|
|
PHRootNodeIf * | GetRootNode (int i) |
| ルートノードを取得する
|
|
PHTreeNodeIf * | CreateTreeNode (PHTreeNodeIf *parent, PHSolidIf *child, const PHTreeNodeDesc &desc=PHTreeNodeDesc()) |
| ツリーノードを作成する [詳細]
|
|
PHRootNodeIf * | CreateTreeNodes (PHSolidIf *solid) |
| 関節の接続関係を抽出してツリー構造を自動生成する [詳細]
|
|
PHGearIf * | CreateGear (PH1DJointIf *lhs, PH1DJointIf *rhs, const PHGearDesc &desc=PHGearDesc()) |
| ギアを作成する [詳細]
|
|
int | NGears () const |
| ギアの数
|
|
PHGearIf * | GetGear (int i) |
| ギアを取得する
|
|
PHPathIf * | CreatePath (const PHPathDesc &desc=PHPathDesc()) |
| パスを作成する [詳細]
|
|
int | NPaths () |
| パスの数
|
|
PHPathIf * | GetPath (int i) |
| パスを取得する
|
|
PHRayIf * | CreateRay (const PHRayDesc &desc=PHRayDesc()) |
| raycastの光線を作成する
|
|
int | NRays () |
| 光線の数
|
|
PHRayIf * | GetRay (int i) |
| 光線を取得する
|
|
bool | SetPosesOfJointedSolids (const PHSolidIf *base) |
| 関節で接続された剛体の姿勢を、関節にあわせて設定する。
|
|
PHIKActuatorIf * | CreateIKActuator (const IfInfo *ii, const PHIKActuatorDesc &desc=PHIKActuatorDesc()) |
| IKのノード(IKに用いることのできる可動物(=関節など))を作成する.
|
|
template<class T > |
PHIKActuatorIf * | CreateIKActuator (const T &desc) |
|
int | NIKActuators () |
| IKアクチュエータの数
|
|
PHIKActuatorIf * | GetIKActuator (int i) |
| IKアクチュエータを取得する
|
|
PHIKEndEffectorIf * | CreateIKEndEffector (const PHIKEndEffectorDesc &desc=PHIKEndEffectorDesc()) |
| IKのエンドエフェクタを作成する.
|
|
int | NIKEndEffectors () |
| IKエンドエフェクタの数
|
|
PHIKEndEffectorIf * | GetIKEndEffector (int i) |
| IKエンドエフェクタを取得する
|
|
int | NSkeletons () |
| スケルトン(ボーンの集合)の数
|
|
PHSkeletonIf * | GetSkeleton (int i) |
| スケルトン(ボーンの集合)を取得する
|
|
PHSkeletonIf * | CreateSkeleton (const PHSkeletonDesc &desc=PHSkeletonDesc()) |
| スケルトン(ボーンの集合)を作成する
|
|
double | GetTimeStep () const |
| 積分ステップを取得する [詳細]
|
|
double | GetTimeStepInv () const |
| 積分ステップの逆数を取得する [詳細]
|
|
void | SetTimeStep (double dt) |
| 積分ステップを設定する [詳細]
|
|
double | GetHapticTimeStep () const |
| 積分ステップを取得する [詳細]
|
|
void | SetHapticTimeStep (double dt) |
| 積分ステップを設定する [詳細]
|
|
unsigned | GetCount () const |
| カウント数を取得する [詳細]
|
|
void | SetCount (unsigned count) |
| カウント数を設定する [詳細]
|
|
void | SetGravity (const Vec3d &accel) |
| 重力を設定する [詳細]
|
|
Vec3d | GetGravity () |
| 重力を取得する [詳細]
|
|
void | SetAirResistanceRateForVelocity (double rate) |
| 並進に対する空気抵抗の割合を設定する [詳細]
|
|
void | SetAirResistanceRateForAngularVelocity (double rate) |
| 回転に対する空気抵抗の割合を設定する [詳細]
|
|
double | GetAirResistanceRateForVelocity () |
| 並進に対する空気抵抗の割合を取得する [詳細]
|
|
double | GetAirResistanceRateForAngularVelocity () |
| 回転に対する空気抵抗の割合を取得する [詳細]
|
|
void | SetContactTolerance (double tol) |
| 接触の許容交差量を設定する
|
|
double | GetContactTolerance () |
| 接触の許容交差量を取得する
|
|
void | SetImpactThreshold (double vth) |
| 衝突と静接触の閾値
|
|
double | GetImpactThreshold () |
|
void | SetFrictionThreshold (double vth) |
| 静摩擦と動摩擦の閾値
|
|
double | GetFrictionThreshold () |
|
void | SetMaxVelocity (double vmax) |
| 許容最大速度.超えたら飽和
|
|
double | GetMaxVelocity () |
|
void | SetMaxAngularVelocity (double wmax) |
| 許容最大角速度.超えたら飽和
|
|
double | GetMaxAngularVelocity () |
|
void | SetMaxForce (double fmax) |
| 許容最大力.超えたら飽和
|
|
double | GetMaxForce () |
|
void | SetMaxMoment (double tmax) |
| 許容最大モーメント.超えたら飽和
|
|
double | GetMaxMoment () |
|
void | SetMaxDeltaPosition (double dpmax) |
| 許容最大移動量.超えないようにdtを調整
|
|
double | GetMaxDeltaPosition () |
|
void | SetMaxDeltaOrientation (double dqmax) |
| 許容最大回転量.超えないようにdtを調整
|
|
double | GetMaxDeltaOrientation () |
|
int | GetLCPSolver () |
| LCPソルバの選択
|
|
void | SetLCPSolver (int method) |
|
int | GetNumIteration () |
| LCPソルバの計算回数の取得.MODE_LCPの場合の拘束力の繰り返し近似計算の回数.
|
|
void | SetNumIteration (int n) |
| LCPソルバの計算回数の設定.
|
|
void | SetStateMode (bool bConstraints) |
| 状態の保存 (ObjectStates の保存)に, Constraints が持つ拘束力を含めるかどうか設定する.
|
|
void | EnableContactDetection (bool enable) |
| 接触判定エンジンの有効・無効を設定する.SetContactModeより優先する.
|
|
bool | IsContactDetectionEnabled () |
|
void | EnableCCD (bool enable) |
|
bool | IsCCDEnabled () |
|
void | SetBroadPhaseMode (int mode) |
| 衝突判定のbroad phase手法を設定
|
|
int | GetBroadPhaseMode () |
|
void | SetContactDetectionRange (Vec3f center, Vec3f extent, int nx, int ny, int nz) |
| 衝突判定処理の対象範囲を設定 (MODE_PARTITION) [詳細]
|
|
void | SetMaterialBlending (int mode) |
| 物性(摩擦係数、跳ね返り係数)の合成ルールを設定
|
|
void | GetMaterialBlending () |
|
void | Step () |
| シーンの時刻を進める
|
|
void | ClearForce () |
|
void | GenerateForce () |
|
void | Integrate () |
|
void | IntegratePart1 () |
|
void | IntegratePart2 () |
|
void | Clear () |
| シーンを空にする
|
|
int | NEngines () |
| エンジンアクセス用API (公開の是非については要検討)
|
|
PHEngineIf * | GetEngine (int i) |
| i番目のエンジンを取得する [詳細]
|
|
PHConstraintEngineIf * | GetConstraintEngine () |
| ConstraintEngineを取得する [詳細]
|
|
PHGravityEngineIf * | GetGravityEngine () |
| GravityEnigneを取得する [詳細]
|
|
PHPenaltyEngineIf * | GetPenaltyEngine () |
| PenaltyEngineを取得する [詳細]
|
|
PHIKEngineIf * | GetIKEngine () |
| IKEngineを取得する [詳細]
|
|
PHFemEngineIf * | GetFemEngine () |
| FemEngineを取得する [詳細]
|
|
PHHapticEngineIf * | GetHapticEngine () |
| HapticEngineを取得する [詳細]
|
|
PHOpEngineIf * | GetOpEngine () |
| OrientedParticleEngineを取得する [詳細]
|
|
PHTrackingEngineIf * | GetTrackingEngine () |
| TrackingEngineを取得する [詳細]
|
|
PHOpSpHashColliAgentIf * | GetOpColliAgent () |
| Op衝突判定のagentを取得する [詳細]
|
|
PHHapticPointerIf * | CreateHapticPointer () |
| HapticPointerを作成する HapticPointerへのポインタ
|
|
void | StepHapticLoop () |
| HapticLoopを更新する
|
|
void | StepHapticSync () |
| Physicsとの同期を取る StepHapticLoop()を呼ぶ度に呼び出す必要あり
|
|
UTPerformanceMeasureIf * | GetPerformanceMeasure () |
| 計算時間の計測結果を取得する。
|
|
| SPR_IFDEF (Scene) |
|
| SPR_IFDEF (NameManager) |
|
template<class T > |
void | FindObject (UTRef< T > &t, UTString name) |
|
template<class T > |
void | FindObject (T *&t, UTString name) |
|
NamedObjectIf * | FindObject (UTString name, UTString cls="") |
|
| SPR_IFDEF (NamedObject) |
|
const char * | GetName () const |
| 名前の取得
|
|
void | SetName (const char *n) |
| 名前の設定
|
|
NameManagerIf * | GetNameManager () |
| 名前管理オブジェクトの取得
|
|
| 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 |
| 状態型をメモリブロックに戻す
|
|