![]() |
Springhead
An open source physics engine for virtual reality, haptics and motion generation.
|
球体
#include <CDEllipsoid.h>

Public メソッド | |
| SPR_OBJECTDEF (CDEllipsoid) | |
| CDEllipsoid (const CDEllipsoidDesc &desc) | |
| virtual bool | IsInside (const Vec3f &p) |
| virtual float | CalcVolume () |
| 体積の計算 | |
| virtual Matrix3f | CalcMomentOfInertia () |
| 密度1での慣性テンソルの計算 | |
| virtual int | Support (Vec3f &w, const Vec3f &v) const |
| サポートポイントを求める. | |
| virtual bool | FindCutRing (CDCutRing &r, const Posed &toW) |
| 切り口を求める.接触解析に使う. ただし、球体に関しては、切り口は求めない。接触解析時には最近傍の1点さえあればいい。 球体に関してFindCutRing()が呼び出された場合には、assertionが発生する。 | |
| virtual int | LineIntersect (const Vec3f &origin, const Vec3f &dir, Vec3f *result, float *offset) |
| virtual int | GetVtxCount () const |
| Vec3d | GetRadius () |
| void | SetRadius (Vec3d r) |
Public メソッド inherited from CDConvex | |
| SPR_OBJECTDEF_ABST (CDConvex) | |
| virtual Vec3f | CalcCenterOfMass () |
| 重心の計算 | |
| virtual void | CalcMetrics () |
| 体積, 重心, 慣性行列を計算して内部にキャッシュしておく | |
| float | GetVolume () |
| Vec3f | GetCenterOfMass () |
| 体積を返す(キャッシュ済みの) | |
| Matrix3f | GetMomentOfInertia () |
| 重心位置を返す(キャッシュ済みの) | |
| virtual std::vector< int > & | FindNeighbors (int vtx) |
| 頂点vtx のとなりの頂点を列挙する。 | |
| virtual Vec3f * | GetBase () |
| 頂点バッファを返す。 | |
| virtual void | CalcBBox (Vec3f &bbmin, Vec3f &bbmax, const Posed &pose) |
| バウンディングボックスを求める. | |
| virtual double | CurvatureRadius (Vec3d p) |
| 表面上の点pにおける曲率半径を求める | |
| virtual Vec3d | Normal (Vec3d p) |
| 平面とした場合の値。現時点ではRoundConeについてのみ実装されている(09/02/08, mitake) [詳細] | |
Public メソッド inherited from CDShape | |
| SPR_OBJECTDEF_ABST (CDShape) | |
| void | SetStaticFriction (float mu0) |
| float | GetStaticFriction () |
| void | SetDynamicFriction (float mu) |
| float | GetDynamicFriction () |
| void | SetElasticity (float e) |
| float | GetElasticity () |
| void | SetDensity (float d) |
| float | GetDensity () |
| void | SetContactSpring (float K) |
| float | GetContactSpring () |
| void | SetContactDamper (float D) |
| float | GetContactDamper () |
| void | SetReflexSpring (float K) |
| float | GetReflexSpring () |
| void | SetReflexDamper (float D) |
| float | GetReflexDamper () |
| void | SetFrictionSpring (float K) |
| float | GetFrictionSpring () |
| void | SetFrictionDamper (float D) |
| float | GetFrictionDamper () |
| void | SetVibration (float vibA, float vibB, float vibW) |
| void | SetVibA (float vibA) |
| float | GetVibA () |
| void | SetVibB (float vibB) |
| float | GetVibB () |
| void | SetVibW (float vibW) |
| float | GetVibW () |
| void | SetVibT (float vibT) |
| float | GetVibT () |
| void | SetVibContact (bool vibContact) |
| bool | GetVibContact () |
| const PHMaterial & | GetMaterial () |
| void | SetMaterial (const PHMaterial &mat) |
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 bool | AddChildObject (ObjectIf *o) |
| 子オブジェクトの追加 | |
| virtual bool | DelChildObject (ObjectIf *o) |
| 子オブジェクトの削除 | |
| virtual void | Clear () |
| すべての子オブジェクトの削除とプロパティのクリア | |
| virtual void | Loaded (UTLoadContext *) |
| ファイルロード後に一度呼ばれる。ノードの設定に使う。 呼び出し順序に依存する処理がしたい場合は、UTLoadHandeler と UTLoadTask を使うと良い。 | |
| virtual void | Setup () |
| ノードの設定をするための関数 | |
| virtual bool | GetDesc (void *desc) const |
| デスクリプタの読み出し(コピー版) | |
| virtual void | SetDesc (const void *desc) |
| デスクリプタの設定 | |
| virtual const void * | GetDescAddress () const |
| デスクリプタの読み出し(参照版) | |
| virtual size_t | GetDescSize () const |
| デスクリプタのサイズ | |
| virtual bool | GetState (void *state) const |
| 状態の読み出し(コピー版) | |
| virtual const void * | GetStateAddress () const |
| 状態の読み出し(参照版) | |
| virtual void | GetStateR (char *&state) |
| 状態の再帰的な読み出し | |
| virtual void | SetState (const void *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 size_t | GetStateSize () const |
| 状態のサイズ | |
| virtual void | ConstructState (void *m) const |
| メモリブロックを状態型に初期化 | |
| virtual void | DestructState (void *m) const |
| 状態型をメモリブロックに戻す | |
| virtual void | DumpObjectR (std::ostream &os, int level=0) const |
| メモリデバッグ用。単純にツリーのオブジェクトをファイルにダンプする。 | |
Public 変数 | |
| SPR_DECLMEMBEROF_CDEllipsoidDesc | |
Public 変数 inherited from CDConvex | |
| bool | bboxReady |
| PHFrameのBounding Boxの再計算の要否を表すフラグ | |
Public 変数 inherited from CDShape | |
| SPR_DECLMEMBEROF_CDShapeDesc | |
Additional Inherited Members | |
Static Public メソッド inherited from CDShape | |
| static float | CalcCylinderVolume (float r, float l) |
| static Matrix3f | CalcCylinderInertia (float r, float l) |
| static float | CalcHemisphereCoM (float r) |
| static float | CalcHemisphereVolume (float r) |
| static Matrix3f | CalcHemisphereInertia (float r) |
| static float | CalcConeCoM (float l) |
| static float | CalcConeVolume (float r, float l) |
| static Matrix3f | CalcConeInertia (float r, float l) |
| static float | CalcTetrahedronVolume (const Vec3f &a, const Vec3f &b, const Vec3f &c) |
| static Vec3f | CalcTetrahedronCoM (const Vec3f &a, const Vec3f &b, const Vec3f &c) |
| static Matrix3f | CalcTetrahedronInertia (const Vec3f &a, const Vec3f &b, const Vec3f &c) |
| static float | CalcRoundConeVolume (Vec2f radius, float length) |
| static Vec3f | CalcRoundConeCenterOfMass (Vec2f radius, float length) |
| static Matrix3f | CalcRoundConeMomentOfInertia (Vec2f radius, float length) |
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 CDConvex | |
| float | volume |
| 体積 | |
| Vec3f | center |
| 重心 | |
| Matrix3f | inertia |
| 慣性行列 | |
Protected 変数 inherited from NamedObject | |
| UTString | name |
| 名前 | |
| NameManager * | nameManager |
| 名前の検索や重複管理をするもの.SceneやSDKなど. | |