Springhead
An open source physics engine for virtual reality, haptics and motion generation.
|
形状の基本クラス
#include <SprCDShape.h>
Public メソッド | |
SPR_IFDEF (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) |
物性をまとめて設定 | |
float | CalcVolume () |
幾何計算 [詳細] | |
Vec3f | CalcCenterOfMass () |
質量中心を計算 [詳細] | |
Matrix3f | CalcMomentOfInertia () |
慣性モーメントを計算 [詳細] | |
bool | IsInside (const Vec3f &p) |
点との交差判定 [詳細] | |
void | CalcBBox (Vec3f &bbmin, Vec3f &bbmax, const Posed &pose=Posed()) |
bounding boxを計算 [詳細] | |
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 |
状態型をメモリブロックに戻す | |
bbmin | bounding boxの下限 |
bbmax | bounding boxの上限 |
pose | bounding boxを定義する座標変換 形状の位置と向きがposeで与えられたときの,その座標系に関するaxis-aligned bounding box (AABB)を計算する. |
Vec3f CalcCenterOfMass | ( | ) |
Matrix3f CalcMomentOfInertia | ( | ) |
float CalcVolume | ( | ) |
bool IsInside | ( | const Vec3f & | p | ) |
p | 判定点 |