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

構成 | |
| struct | ContactInfo |
| struct | ContactInfoQueue |
Public 型 | |
|
typedef std::vector< UTRef < PHRootNode > > | PHRootNodes |
|
typedef std::vector< UTRef < PHPath > > | PHPaths |
|
typedef std::vector < PHConstraintBase * > | PHConstraintBases |
Public 型 inherited from PHContactDetector | |
|
typedef UTCombination< UTRef < PHSolidPair > > | PHSolidPairs |
Public メソッド | |
| PHConstraintEngine (UTPerformanceMeasureIf *pm=UTPerformanceMeasureIf::GetInstance("global")) | |
| PHJoint * | CreateJoint (const IfInfo *ii, const PHJointDesc &desc, PHSolid *lhs=NULL, PHSolid *rhs=NULL) |
| 関節の追加する | |
| PHRootNode * | CreateRootNode (const PHRootNodeDesc &desc, PHSolid *solid=NULL) |
| ツリー構造のルートノードを作成 | |
| PHTreeNode * | CreateTreeNode (const PHTreeNodeDesc &desc, PHTreeNode *parent=NULL, PHSolid *solid=NULL) |
| ツリー構造の中間ノードを作成 | |
| PHGear * | CreateGear (const PHGearDesc &desc, PH1DJoint *lhs=NULL, PH1DJoint *rhs=NULL) |
| ギアを作成 | |
| PHPath * | CreatePath (const PHPathDesc &desc) |
| virtual bool | AddChildObject (ObjectIf *o) |
| 剛体の追加 | |
| virtual bool | DelChildObject (ObjectIf *o) |
| 剛体の削除 | |
| virtual void | Clear () |
| Objectの仮想関数 | |
| virtual size_t | GetStateSize () const |
| 状態のサイズ | |
| virtual void | ConstructState (void *m) const |
| メモリブロックを状態型に初期化 | |
| virtual void | DestructState (void *m) const |
| 状態型をメモリブロックに戻す | |
| virtual bool | GetState (void *s) const |
| 状態の読み出し(コピー版) | |
| virtual void | SetState (const void *s) |
| 状態の設定 | |
| virtual int | GetPriority () const |
| 実行順序を決めるプライオリティ値.小さいほど早い | |
| virtual void | Step () |
| 時間を dt 進める | |
| virtual PHSolidPair * | CreateSolidPair () |
| 派生クラスが実装する関数 | |
| void | StepPart1 () |
| void | StepPart2 () |
| void | UpdateSolids (bool bVelOnly) |
| 結果をSolidに反映する. bVelOnly == trueならば結果の速度のみをSolidに反映させ,位置はそのまま. | |
| void | CompResponseMatrix () |
| void | Setup () |
| 速度更新LCPの準備 | |
| void | SetupCorrection () |
| 誤差修正LCPの準備 | |
| void | Iterate () |
| 速度更新LCPの一度の反復 | |
| void | IterateCorrection () |
| 誤差修正LCPの一度の反復 | |
| PHConstraintsIf * | GetContactPoints () |
| void | SetVelCorrectionRate (double value) |
| double | GetVelCorrectionRate () |
| void | SetPosCorrectionRate (double value) |
| double | GetPosCorrectionRate () |
| void | SetContactCorrectionRate (double value) |
| double | GetContactCorrectionRate () |
| void | SetBSaveConstraints (bool value) |
| void | SetUpdateAllSolidState (bool flag) |
| void | SetUseContactSurface (bool flag) |
| void | SetShrinkRate (double data) |
| double | GetShrinkRate () |
| void | SetShrinkRateCorrection (double data) |
| double | GetShrinkRateCorrection () |
| void | SetRegularization (double reg) |
| double | GetRegularization () |
| virtual void | EnableRenderContact (bool enable) |
| void | UpdateContactInfoQueue () |
Public メソッド inherited from PHContactDetector | |
| Cell & | GetCell (int ix, int iy, int iz) |
| void | AddInactiveSolid (PHBodyIf *body) |
| 解析法を適用しない剛体の追加 | |
| bool | IsInactiveSolid (PHBodyIf *body) |
| 解析法を適用しない剛体の検索 | |
| int | NSolidPairs () const |
| int | NShapePairs () const |
| int | NActiveSolidPairs () const |
| int | NActiveShapePairs () const |
| void | UpdateShapePairs (PHBody *body) |
| 形状追加時の処理 | |
| void | DelShapePairs (PHBody *body, int iBegin, int iEnd) |
| 形状削除時の処理 | |
| void | SetDetectionRange (Vec3f center, Vec3f extent, int nx, int ny, int nz) |
| 衝突判定の対象範囲 | |
| void | EnableContact (PHSolidIf *lhs, PHSolidIf *rhs, bool bEnable) |
| 剛体同士の衝突判定に有効/無効を設定 | |
| void | EnableContact (PHSolidIf **group, size_t length, bool bEnable) |
| void | EnableContact (PHSolidIf *solid, bool bEnable) |
| void | EnableContact (bool bEnable) |
| bool | DetectPair (ShapeIndex sh0, ShapeIndex sh1, unsigned ct, double dt, bool continuous) |
| 形状対の交差の検知 | |
| bool | Detect (unsigned ct, double dt, int mode, bool continuous) |
| 全体の交差の検知 | |
Public メソッド inherited from PHEngine | |
| void | Enable (bool on) |
| bool | IsEnabled () |
| virtual PHSceneIf * | GetScene () |
Public メソッド inherited from SceneObject | |
| virtual void | SetScene (SceneIf *s) |
| virtual SceneIf * | GetScene () const |
| 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 size_t | NChildObject () const |
| 子オブジェクトの数 | |
| virtual ObjectIf * | GetChildObject (size_t pos) |
| 子オブジェクトの取得 | |
| virtual const ObjectIf * | GetChildObject (size_t pos) const |
| 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 | DumpObjectR (std::ostream &os, int level=0) const |
| メモリデバッグ用。単純にツリーのオブジェクトをファイルにダンプする。 | |
Public 変数 | |
| PHConstraints | points |
| 接触点の配列 | |
| PHConstraints | joints |
| 関節の配列 | |
| PHRootNodes | trees |
| Articulated Body Systemの配列 | |
| PHGears | gears |
| ギアの配列 | |
| PHPaths | paths |
| パスの配列 | |
| PHConstraints | cons |
| 有効な拘束の配列 | |
| PHConstraintBases | cons_base |
| int | count |
| UTQPTimer | ptimer |
| Peformance counter. | |
| UTLongLong & | timeCollision |
| UTLongLong & | timeSetup |
| UTLongLong & | timeIterate |
| bool | renderContact |
|
struct Spr::PHConstraintEngine::ContactInfoQueue | contactInfoQueue |
Public 変数 inherited from PHConstraintEngineDesc | |
| int | method |
| LCPの解法 | |
| int | numIter |
| 速度更新LCPの反復回数 | |
| int | numIterCorrection |
| 誤差修正LCPの反復回数 | |
| int | numIterContactCorrection |
| 接触点の誤差修正LCPの反復回数 | |
| double | velCorrectionRate |
| 速度のLCPで関節拘束の誤差を修正する場合の誤差修正比率 | |
| double | posCorrectionRate |
| 位置のLCPで,関節拘束の誤差を修正する場合の誤差修正比率 | |
| double | contactCorrectionRate |
| 接触の侵入解消のための,速度のLCPでの補正比率. | |
| double | shrinkRate |
| LCP初期値を前回の解に対して縮小させる比率 | |
| double | shrinkRateCorrection |
| double | freezeThreshold |
| 剛体がフリーズする閾値 | |
| double | accelSOR |
| SOR法の加速係数 | |
| double | dfEps |
| double | regularization |
| bool | bSaveConstraints |
| SaveState, LoadStateに, constraints を含めるかどうか.本来不要だが,f, Fが変化する. | |
| bool | bUpdateAllState |
| 剛体の速度,位置の全ての状態を更新する. | |
| bool | bUseContactSurface |
| 面接触を使う | |
| bool | bReport |
| 計算時間などのレポートをデバッグ出力およびファイルへ出力する | |
Public 変数 inherited from PHContactDetector | |
| Vec3i | numDivision |
| PHBBox | regionBBox |
| PHBBox | cellBBox |
| Cell | cellOutside |
| std::vector< Cell > | cells |
| std::vector< Edge > | edges |
| PHBodies | bodies |
| 物体の配列 | |
| PHBodies | inactiveBodies |
| 接触判定しない物体の集合 | |
| PHSolidPairs | solidPairs |
| 剛体の組の配列 | |
| int | nBroad |
| int | nNarrow |
フレンド | |
| class | PHConstraint |
| class | PHShapePairForLCP |
Additional Inherited Members | |
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など. | |