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

ファイルロード時に使用するコンテキスト ファイルをロードする際は,データをノードごとにロードして, オブジェクトを作るためのディスクリプタ構造体(PHSolidDescなど)を まずロードする. そのあと,オブジェクトを生成する.

#include <UTLoadContext.h>

UTLoadContextに対する継承グラフ

構成

struct  LoadedDatas
 

Public メソッド

 UTLoadContext ()
 コンストラクタ
 
void LinkData ()
 
void CreateScene ()
 
void LinkNode ()
 
void PostTask ()
 
void RegisterGroupToDb (const char *gp)
 ロードするノードのグループを登録。グループ名をスペースで区切って指定。 例:RegisterGroupToDb("Foundation Physics Graphics Framework OldSpringhead");
 
void SetDSTR (bool f)
 
void ErrorMessage (UTFileMap *info, const char *pos, const char *msg)
 エラーメッセージの出力.posをファイル名と行番号に変換する.
 
void Message (UTFileMap *info, const char *pos, const char *msg)
 メッセージの作成.posをファイル名と行番号に変換する.
 
void NodeStart (UTString tn, UTLoadedData::Attributes *attrs=NULL)
 typeを処理する準備をする(typeをセットし,XXDescを用意する)
 
void NodeEnd ()
 
void CompositStart ()
 組立型に入る(fieldItsとdatasに現在のフィールドの型をPushする)
 
void CompositEnd ()
 組立型から抜る(fieldItsとdatasをPopする)
 
bool FindField (UTString name)
 現在ロード中のノードから指定のフィールドをさがす。
 
void WriteString (std::string v)
 
void WriteNumber (double d)
 
void WriteBool (bool b)
 
void AddDataLink (std::string ref, const char *pos)
 
ObjectIfCreateObject (const IfInfo *info, const void *data, UTString name="")
 データからオブジェクトを作成
 
- Public メソッド inherited from UTFileContext
bool IsGood ()
 ロードできる状態ならtrue
 
virtual void PushFileMap (const UTString fn, bool binary)=0
 ファイルマップを作成してスタック(fileMaps)に積む
 
virtual void PopFileMap ()=0
 

Public 変数

ObjectIfs rootObjects
 スタックに最初に詰まれたオブジェクト=ファイルの一番外側=ルートのオブジェクトの記録.
 
UTStack< UTRef< UTLoadedData > > datas
 ロードしたディスクリプタのスタック.ネストした組み立て型に備えてスタックになっている.
 
LoadedDatas loadedDatas
 ロードしたディスクリプタの記録.
 
UTTypeDescFieldIts fieldIts
 ロード中のFITypedescのフィールドの位置.組み立て型のフィールドに備えてスタックになっている.
 
UTStack< size_t > startDepthes
 ノードやブロックなどのスタート時のfieldIts.size()の記録のためのスタック
 
UTStack< char > flags
 フラグのスタック
 
UTLoadTasks dataLinks
 データのリンクを後でするための記録.
 
UTLoadTasks links
 リファレンスを後でリンクするための記録.
 
UTLoadTasks postTasks
 ロードとリンクが終わってから処理するタスク
 
UTMapObject mapObj
 
UTRef< UTLoadedDatarootNameManagerForData
 
bool DSTRFlag
 
- Public 変数 inherited from UTFileContext
UTStack< UTRef< UTFileMap > > fileMaps
 ロード/セーブ中のファイルの名前と中身.ファイルincludeに備えてstackになっている.
 
std::ostream * errorStream
 エラーメッセージ出力用のストリーム cout とか DSTR を指定する.
 
UTStack< UTRef< UTTypeDescDb > > typeDbs
 typeDb のスタック
 
UTStack< UTRef< UTLoadHandlerDb > > handlerDbs
 handlerDbのスタック
 
ObjectIfs objects
 現在ロード中 or セーブ中のオブジェクト. ネストしたオブジェクトに備えてスタックになっている.
 

Protected メソッド

void LinkNode (UTLoadedData *ld)
 
ObjectIfCreateSceneRecursive ()
 

Protected 変数

UTStack< UTRef< ObjectIf > > lostAndFound
 

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