Springhead
An open source physics engine for virtual reality, haptics and motion generation.
クラス FWScene

GraphicsとPhysicsのSceneをまとめたシーングラフ全体

#include <FWScene.h>

FWSceneに対する継承グラフ

構成

struct  Mat
 

Public 型

enum  HumanInterfacePurposeId {
  HI_CAMERACONTROLLER, HI_OBJECTMANIPULATOR0, HI_OBJECTMANIPULATOR1, HI_OBJECTMANIPULATOR2,
  HI_OBJECTMANIPULATOR3
}
 
typedef std::vector< UTRef
< FWObjectIf > > 
FWObjects
 
typedef std::vector< UTRef
< HIHaptic > > 
FWHumanInterfaces
 
typedef std::vector< UTRef
< FWHapticPointerIf > > 
FWHapticPointers
 
- Public 型 inherited from NameManager
typedef ObjectNames::iterator SetIt
 

Public メソッド

 SPR_OBJECTDEF (FWScene)
 
 ACCESS_DESC (FWScene)
 
 FWScene (const FWSceneDesc &d=FWSceneDesc())
 コンストラクタ
 
FWSdkIfGetSdk ()
 基本機能
 
PHSceneIfGetPHScene ()
 
void SetPHScene (PHSceneIf *s)
 
GRSceneIfGetGRScene ()
 
void SetGRScene (GRSceneIf *s)
 
FWObjectIfCreateFWObject ()
 
int NObject () const
 
FWObjectIfGetObject (int i)
 
FWObjectIf ** GetObjects ()
 
void Sync ()
 
void Step ()
 
void Draw (GRRenderIf *render)
 描画機能
 
void Draw (GRRenderIf *render, bool ph_or_gr)
 
void DrawPHScene (GRRenderIf *render)
 
void DrawSolid (GRRenderIf *render, PHSolidIf *solid, bool solid_or_wire)
 
void DrawBBox (GRRenderIf *render, Posed pose, PHBBox *bbox)
 
void DrawShape (GRRenderIf *render, CDShapeIf *shape, bool solid_or_wire)
 
void DrawConstraint (GRRenderIf *render, PHConstraintIf *con)
 
void DrawContact (GRRenderIf *render, PHContactPointIf *con)
 
void DrawContactSafe (GRRenderIf *render, PHConstraintEngineIf *ce)
 
void DrawIK (GRRenderIf *render, PHIKEngineIf *ikEngine)
 
void DrawLimit (GRRenderIf *render, PHConstraintIf *con)
 
void DrawHaptic (GRRenderIf *render, PHHapticEngineIf *hapticEngine)
 
void DrawFem (GRRenderIf *render, PHFemEngineIf *femEngine)
 
void DrawOp (GRRenderIf *render, PHOpEngineIf *opEngineif)
 
void DrawSkeletonSensor (GRRenderIf *render)
 
void EnableRenderPHScene (bool enable=true)
 描画制御
 
void EnableRenderGRScene (bool enable=true)
 
void SetRenderMode (bool solid, bool wire)
 
void EnableRender (ObjectIf *obj, bool enable)
 
void SetSolidMaterial (int mat, PHSolidIf *solid)
 
void SetSolidMaterial (int mat, float alpha, PHSolidIf *solid)
 
void SetWireMaterial (int mat, PHSolidIf *solid)
 
void SetWireMaterial (int mat, float alpha, PHSolidIf *solid)
 
void EnableRenderAxis (bool world, bool solid, bool con)
 
void SetAxisMaterial (int matX, int matY, int matZ)
 
void SetAxisScale (float scaleWorld, float scaleSolid, float scaleConst)
 
void SetAxisStyle (int style)
 
void EnableRenderForce (bool solid, bool con)
 
void SetForceMaterial (int matf, int matm)
 
void SetForceScale (float scalef, float scalem)
 
void EnableRenderContact (bool enable)
 
void SetContactMaterial (int mat)
 
void EnableRenderBBox (bool enable)
 
void SetLocalBBoxMaterial (int mat)
 
void SetWorldBBoxMaterial (int mat)
 
void EnableRenderGrid (bool x, bool y, bool z)
 
void SetGridOption (char axis, float offset, float size, int slice)
 
void SetGridMaterial (int matX, int matY, int matZ)
 
void EnableRenderIK (bool enable)
 
void SetIKMaterial (int mat)
 
void SetIKScale (float scale)
 
void EnableRenderLimit (bool enable)
 
void EnableRenderHaptic (bool enable)
 
void EnableRenderFem (bool enable)
 
void EnableRenderSkeletonSensor (bool enable)
 
void EnableRenderOp (bool enable)
 
void DrawCoordinateAxis (GRRenderIf *render, float scale, bool solid_or_wire)
 内部用
 
void DrawMesh (GRRenderIf *render, CDConvexMeshIf *mesh, bool solid_or_wire)
 
void DrawFaceSolid (GRRenderIf *render, CDFaceIf *face, Vec3f *base)
 
void DrawFaceWire (GRRenderIf *render, CDFaceIf *face, Vec3f *base)
 
void DrawForce (GRRenderIf *render, const Vec3d &f, const Vec3d &t)
 
bool IsRenderEnabled (ObjectIf *obj)
 
Mat GetSolidMaterial (PHSolidIf *solid)
 
Mat GetWireMaterial (PHSolidIf *solid)
 
Mat GetAutoMaterial (int i)
 
HIForceDevice6D * GetHumanInterface (size_t pos)
 HumanInterface系関数
 
void AddHumanInterface (HIForceDevice6D *d)
 
FWHapticPointerIfCreateHapticPointer ()
 
FWHapticPointerIfGetHapticPointer (int i)
 
FWOpHapticHandlerIfCreateOpHapticHandler ()
 
FWOpHapticHandlerIfGetOpHapticHandler ()
 
int NHapticPointers ()
 
void UpdateHapticPointers ()
 
void UpdateOpHapticHandler ()
 
FWSkeletonSensorIfCreateSkeletonSensor (const FWSkeletonSensorDesc &desc)
 
void UpdateSkeletonSensors ()
 
virtual ObjectIfCreateObject (const IfInfo *info, const void *desc)
 Scene関数の継承
 
virtual bool AddChildObject (ObjectIf *o)
 子オブジェクトの追加
 
virtual bool DelChildObject (ObjectIf *o)
 子オブジェクトの削除
 
virtual size_t NChildObject () const
 子オブジェクトの数
 
virtual ObjectIfGetChildObject (size_t pos)
 子オブジェクトの取得
 
virtual NamedObjectIfFindObject (UTString name, UTString cls)
 
- Public メソッド inherited from NameManager
 SPR_OBJECTDEF (NameManager)
 
virtual void SetNameManager (NameManagerIf *s)
 NameManagerを設定
 
void AddChildManager (NameManager *c)
 
void DelChildManager (NameManager *c)
 
template<class T >
void FindObject (UTRef< T > &t, UTString name)
 型と名前からオブジェクトを取得
 
template<class T >
void FindObject (T *&t, UTString name)
 
ObjectNames::TNameMap & GetNameMap ()
 
void Clear ()
 すべての子オブジェクトの削除とプロパティのクリア
 
void Print (std::ostream &os) const
 デバッグ用
 
NamedObjectIfFindObjectExact (UTString name, UTString cls="")
 
NamedObjectIfFindObjectFromDescendant (UTString name, UTString cls="")
 
NamedObjectIfFindObjectFromAncestor (UTString name, UTString cls="")
 
- Public メソッド inherited from NamedObject
 NamedObject (const NamedObject &n)
 
NamedObjectoperator= (const NamedObject &n)
 
virtual const char * GetName () const
 名前の取得
 
virtual void SetName (const char *n)
 名前の設定
 
virtual NameManagerIfGetNameManager () const
 NameManagerの取得
 
- Public メソッド inherited from Object
 SPR_OBJECTDEF (Object)
 クラス名の取得などの基本機能の実装
 
ObjectIfGetObjectIf ()
 
const ObjectIfGetObjectIf () const
 
virtual void PrintShort (std::ostream &os) const
 
virtual const ObjectIfGetChildObject (size_t pos) const
 
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 変数

FWSdksdk
 親SDKへの参照
 
FWObjects fwObjects
 物理とグラフィックスのオブジェクトのリンク
 
FWHapticPointers fwHapticPointers
 登録されている力覚ポインタへのリンク
 
FWOpHapticHandlerfwOpHapticHandler
 OPに使う力覚ポインタへのハンドラー
 
PHSceneIfphScene
 物理シミュレーション用のシーン
 
GRSceneIfgrScene
 グラフィックス用のシーン
 
std::map< ObjectIf *, bool > renderObject
 描画制御フラグ
 
bool renderPHScene
 
bool renderGRScene
 
bool renderSolid
 
bool renderWire
 
bool renderAxisWorld
 
bool renderAxisSolid
 
bool renderAxisConst
 
bool renderForceSolid
 
bool renderForceConst
 
bool renderContact
 
bool renderBBox
 
bool renderGridX
 
bool renderGridY
 
bool renderGridZ
 
bool renderLimit
 
bool renderIK
 
bool renderHaptic
 
bool renderFEM
 
bool renderSkeletonSensor
 
bool renderOp
 
float scaleAxisWorld
 描画スケール
 
float scaleAxisSolid
 
float scaleAxisConst
 
float scaleForce
 
float scaleMoment
 
float scaleIK
 
std::map< PHSolidIf *, MatmatSolid
 描画マテリアル
 
std::map< PHSolidIf *, MatmatWire
 
Vec3i matAxis
 
int matForce
 
int matMoment
 
int matContact
 
int matBBoxLocal
 
int matBBoxWorld
 
Vec3i matGrid
 
int matIK
 
int axisStyle
 座標軸設定
 
Vec3f gridOffset
 グリッド設定
 
Vec3f gridSize
 
Vec3i gridSlice
 
std::vector< UTRef
< FWSkeletonSensor > > 
skeletonSensors
 SkeletonSensor系関数
 

Additional Inherited Members

- Protected 型 inherited from NameManager
typedef std::vector
< NameManager * > 
NameManagers
 
- 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 NameManager
ObjectNames names
 
NameManagers childManagers
 子の名前空間
 
- Protected 変数 inherited from NamedObject
UTString name
 名前
 
NameManagernameManager
 名前の検索や重複管理をするもの.SceneやSDKなど.
 

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