Springhead
An open source physics engine for virtual reality, haptics and motion generation.
クラス PHFemMeshNew
PHFemMeshNewに対する継承グラフ

Public メソッド

 SPR_OBJECTDEF (PHFemMeshNew)
 
int GetSurfaceVertex (int i)
 
int NSurfaceVertices ()
 
 PHFemMeshNew (const PHFemMeshNewDesc &desc=PHFemMeshNewDesc(), SceneIf *s=NULL)
 デスクリプタ
 
virtual size_t GetDescSize () const
 デスクリプタのサイズ
 
virtual bool GetDesc (void *p) const
 デスクリプタの読み出し(コピー版)
 
virtual void SetDesc (const void *p)
 デスクリプタの設定。ここで、頂点座標と四面体の4頂点のIDの情報から、面や辺についての情報を計算しておく。
 
virtual bool AddChildObject (ObjectIf *o)
 子オブジェクトの追加
 
virtual void Init ()
 初期化
 
virtual void Step (double dt)
 時刻をdt進める。PHFemEngineが呼び出す。
 
void SetPHSolid (PHSolidIf *s)
 剛体を関連づける
 
PHSolidIfGetPHSolid ()
 関連付けされている剛体を返す
 
PHFemVibrationIfGetPHFemVibration ()
 PHFemVibrationIfを返す
 
PHFemThermoIfGetPHFemThermo ()
 PHFemThermoIfを返す
 
PHFemPorousWOMoveIfGetPHFemPorousWOMove ()
 PHFemPorousWOMoveIfを返す
 
int NVertices ()
 頂点の総数を返す
 
int NFaces ()
 面の総数を返す
 
int * GetFaceVertexIds (int f)
 
Vec3d GetFaceNormal (int f)
 
int NTets ()
 四面体の総数を返す
 
int * GetTetVertexIds (int t)
 四面体の頂点のIDを返す
 
void SetVertexUpdateFlags (bool flg)
 vertices[i].updatedFlag
 
void SetVertexUpateFlag (int vid, bool flg)
 
Vec3d GetVertexInitalPositionL (int vtxId)
 頂点の初期位置を取得する(ローカル座標系)
 
Vec3d GetVertexPositionL (int vtxId)
 頂点の位置を取得する(ローカル座標系)
 
Vec3d GetVertexDisplacementL (int vtxId)
 頂点の変位を取得する(ローカル座標系)
 
Vec3d GetVertexVelocityL (int vtxId)
 頂点の速度を取得する(ローカル座標系)
 
bool AddVertexDisplacementW (int vtxId, Vec3d disW)
 頂点に変位を与える(ワールド座標系)
 
bool AddVertexDisplacementL (int vtxId, Vec3d disL)
 頂点に変位を与える(ローカル座標系)
 
bool SetVertexPositionW (int vtxId, Vec3d posW)
 頂点の位置を指定する(ワールド座標系)
 
bool SetVertexPositionL (int vtxId, Vec3d posL)
 頂点の位置を指定する(ローカル座標系)
 
bool SetVertexVelocityL (int vtxId, Vec3d posL)
 
double CompTetVolume (const Vec3d pos[4])
 四面体の計算(対象によらずに必要になる形状関数のXXを計算する関数) [詳細]
 
double CompTetVolume (const int &tetID, const bool &bDeform)
 
TMatrixRow< 4, 4, double > CompTetShapeFunctionCoeff (Vec3d pos[4])
 形状関数の係数を返す
 
TMatrixRow< 4, 4, double > CompTetShapeFunctionCoeff (const int &tetId, const bool &bDeform)
 
bool CompTetShapeFunctionValue (const TMatrixRow< 4, 4, double > &sf, const double &vol, const Vec3d &posL, Vec4d &value)
 四面体内のある点における形状関数値を返す (四面体外の位置を指定すると負値がでるのfalseを返す)
 
bool CompTetShapeFunctionValue (const int &tetId, const Vec3d &posL, Vec4d &value, const bool &bDeform)
 
int FindTetFromFace (int faceId)
 面から四面体を探す
 
std::vector< Vec3d > GetFaceEdgeVtx (unsigned id)
 Face辺の両端点の座標を返す?
 
Vec3d GetFaceEdgeVtx (unsigned id, unsigned vtx)
 Face辺の両端点の座標を返す?
 
double CompFaceArea (const Vec3d pos[3])
 面積を返す
 
double CompFaceArea (const int &faceId, const bool &bDeform)
 
Vec3d CompFaceNormal (const Vec3d pos[3])
 面の法線を返す
 
Vec3d CompFaceNormal (const int &faceId, const bool &bDeform)
 
int NSurfaceFace ()
 
void SetVelocity (Vec3d v)
 
int GetFemIndex ()
 
- Public メソッド inherited from SceneObject
virtual void SetScene (SceneIf *s)
 
virtual SceneIfGetScene () const
 
virtual SceneObjectIfCloneObject ()
 
- Public メソッド inherited from NamedObject
 NamedObject (const NamedObject &n)
 
NamedObjectoperator= (const NamedObject &n)
 
virtual const char * GetName () const
 名前の取得
 
virtual void SetName (const char *n)
 名前の設定
 
virtual void SetNameManager (NameManagerIf *s)
 NameManagerを設定
 
virtual NameManagerIfGetNameManager () const
 NameManagerの取得
 
- Public メソッド inherited from Object
 SPR_OBJECTDEF (Object)
 クラス名の取得などの基本機能の実装
 
ObjectIfGetObjectIf ()
 
const ObjectIfGetObjectIf () const
 
virtual void Print (std::ostream &os) const
 デバッグ用の表示
 
virtual void PrintShort (std::ostream &os) const
 
virtual ObjectIfCreateObject (const IfInfo *info, const void *desc)
 オブジェクトの作成
 
virtual size_t NChildObject () const
 子オブジェクトの数
 
virtual ObjectIfGetChildObject (size_t pos)
 子オブジェクトの取得
 
virtual const ObjectIfGetChildObject (size_t pos) const
 
virtual bool DelChildObject (ObjectIf *o)
 子オブジェクトの削除
 
virtual void Clear ()
 すべての子オブジェクトの削除とプロパティのクリア
 
virtual void Loaded (UTLoadContext *)
 ファイルロード後に一度呼ばれる。ノードの設定に使う。 呼び出し順序に依存する処理がしたい場合は、UTLoadHandeler と UTLoadTask を使うと良い。 
 
virtual void Setup ()
 ノードの設定をするための関数
 
virtual const void * GetDescAddress () 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 変数

std::vector< FemVertexvertices
 頂点
 
std::vector< FemTettets
 四面体
 
std::vector< int > surfaceVertices
 追加情報 基本情報からSetDesc()が計算して求める。 [詳細]
 
std::vector< FemFacefaces
 
 
unsigned nSurfaceFace
 物体表面に存在する面の数。表面:faces[0],..,faces[nSurfaceFace-1]、内面:faces[nSurfaceFace],..,faces[faces.size()]
 
std::vector< FemEdgeedges
 
 
unsigned nSurfaceEdge
 物体表面に存在する辺。表面:edges[0],..,edges[nSurfaceEdge-1]、内面:edges[nSurfaceEdge],..,edges[edges.size()]
 
PHFemBases femBases
 計算モジュール
 
UTRef< PHFemVibrationfemVibration
 
UTRef< PHFemThermofemThermo
 
UTRef< PHFemPorousWOMovefemPorousWOMove
 
std::vector< bool > contactVector
 
int femIndex
 
KDVertexroot
 
RingBuffer< Vec3d > ringVel
 
bool spheric
 
Vec3d debugFoundPoint
 
Vec3d debugSearchPoint
 
Vec3d debugClosestPoint
 
Vec3d debugContactFace
 
Vec3d debugPivotPoint
 
std::vector< int > * debugVertexInside
 
std::vector< int > * debugFacesInside
 
std::vector< int > * debugFixedPoints
 
std::vector< FemFVPair > * debugPairs
 

Protected 変数

PHSolidIfsolid
 基本情報(生成時にデスクリプタから与えられる情報) [詳細]
 
- Protected 変数 inherited from NamedObject
UTString name
 名前
 
NameManagernameManager
 名前の検索や重複管理をするもの.SceneやSDKなど.
 

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からメモリブロックに戻す.
 

関数

double CompTetVolume ( const Vec3d  pos[4])

四面体の体積を返す

変数

PHSolidIf* solid
protected

関連づけられている剛体

std::vector<int> surfaceVertices

物体表面の頂点のID

参照元 PHFemThermo::GetSurfaceVertex().


このクラスの説明は次のファイルから生成されました: